找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4261|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)的定時器實(shí)現(xiàn)led燈的定時一分鐘的減亮漸滅

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:265275 發(fā)表于 2017-12-22 14:00 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
借用網(wǎng)上的漸變程序,配合單片機(jī)的定時器功能,實(shí)現(xiàn)一分鐘計(jì)時以后,發(fā)光led漸暗漸亮的功能

單片機(jī)源程序如下:
  1. /*-----------------------------------------------
  2.   名稱:定時器0
  3.   內(nèi)容:通過定時讓LED燈閃爍
  4. ------------------------------------------------*/
  5. #include<stc15.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
  6. sbit LED0=P3^6;
  7. sbit LED1=P3^7;
  8. sbit LED2=P3^3;
  9. sbit LED3=P1^1;
  10. sbit LED4=P1^2;
  11. sbit LED5=P1^3;
  12. sbit LED6=P1^4;
  13. sbit LED7=P1^5;
  14. sbit key=P3^2;
  15. bit  t1, t2,sudu;
  16. unsigned int CYCLE=1100,PWM_LOW=0,a,b;

  17. void Delay(unsigned int t);

  18. void delays(unsigned char cnt)
  19. {
  20.         unsigned char i;
  21.         unsigned char j;
  22.         unsigned char k;
  23.         
  24.         for(i=cnt;i>0;i--)
  25.         {
  26.                 for(j=cnt;j>0;j--)
  27.                 {
  28.                         for(k=cnt;k>0;k--);
  29.                 }
  30.         }
  31. }     
  32. /*------------------------------------------------
  33.                     定時器初始化子程序
  34. ------------------------------------------------*/
  35. void Init_Timer0(void)
  36. {
  37. TMOD |= 0x01;          //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響                     
  38. TH0=0x3c;              //給定初值,這里使用定時器最大值從0開始計(jì)數(shù)一直到65535溢出
  39. TL0=0xb0;
  40. EA=1;            //總中斷打開
  41. ET0=1;           //定時器中斷打開
  42. TR0=1;           //定時器開關(guān)打開
  43. }

  44. void paomadeng(void)

  45. {
  46.           

  47. LED0=1;
  48. Delay(700);
  49. for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
  50. {
  51. LED0=1;
  52. Delay(PWM_LOW);
  53. LED0=0;
  54. Delay(CYCLE-PWM_LOW);
  55. }          

  56. LED1=1;
  57. Delay(700);
  58. for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
  59. {
  60. LED1=1;
  61. Delay(PWM_LOW);
  62. LED1=0;
  63. Delay(CYCLE-PWM_LOW);
  64. }

  65. LED2=1;
  66. Delay(700);
  67. for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
  68. {
  69. LED2=1;
  70. Delay(PWM_LOW);
  71. LED2=0;
  72. Delay(CYCLE-PWM_LOW);
  73. }
  74. delays(7000);
  75. LED2=0;
  76. Delay(700);
  77. for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
  78. {
  79. LED2=1;
  80. Delay(PWM_LOW);

  81. LED2=0;
  82. Delay(CYCLE-PWM_LOW);
  83. }


  84. LED2=1;
  85. LED1=0;
  86. Delay(700);
  87. for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
  88. {
  89. LED1=1;
  90. Delay(PWM_LOW);

  91. LED1=0;
  92. Delay(CYCLE-PWM_LOW);
  93. }

  94. LED2=1;
  95. LED1=1;
  96. LED0=0;
  97. Delay(700);
  98. for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
  99. {
  100. LED0=1;
  101. Delay(PWM_LOW);

  102. LED0=0;
  103. Delay(CYCLE-PWM_LOW);
  104. }
  105. LED0=1;

  106. }
  107. /*------------------------------------------------
  108.                     主程序
  109. ------------------------------------------------*/
  110. main()
  111. {
  112. a=0;
  113. Init_Timer0();
  114. while(1)
  115. {
  116. if(a==1119)
  117. {
  118.    
  119.   paomadeng();
  120.   a=0;
  121. ……………………

  122. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
pwm.rar (26 KB, 下載次數(shù): 29)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:265416 發(fā)表于 2017-12-22 17:57 | 只看該作者
我要下下來,但下不了,
回復(fù)

使用道具 舉報(bào)

板凳
ID:609192 發(fā)表于 2021-6-1 15:19 | 只看該作者
h1000222 發(fā)表于 2017-12-22 17:57
**** 作者被禁止或刪除 內(nèi)容自動屏蔽 ****

挖墳,我能下載啊
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表