久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2843|回復: 0
打印 上一主題 下一主題
收起左側

單片機PWM波控制LED呼吸燈源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:530391 發表于 2019-9-10 14:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
程序

  1. // 利用定時器控制產生占空比可變的 PWM 波
  2. // 按K1,PWM值增加,則占空比減小,LED 燈漸暗。
  3. // 按K2,PWM值減小,則占空比增加,LED 燈漸亮。
  4. // 當PWM值增加到最大值或減小到最小值時,蜂鳴器將報警。


  5. #include < reg51.h >
  6. #include < intrins.h >

  7. sbit  K1 =P3^2 ;                    //增加鍵
  8. sbit  K2 =P3^3 ;                    //減少鍵
  9. sbit  BEEP =P3^6 ;                //蜂鳴器
  10. unsigned char PWM=0x7f ;   //賦初值
  11. void Beep();
  12. void delayms(unsigned char ms);
  13. void delay(unsigned char t);

  14. /*********************************************************/
  15. void main()
  16. {  

  17.      P0=0xff;
  18.     TMOD=0x21 ;
  19.     TH0=0xfc ;             //1ms延時常數 12M
  20.     TL0=0x18 ;            //頻率調節

  21.     TH1=PWM ;            //脈寬調節
  22.     TL1=0 ;

  23.      EA=1;
  24.      ET0=1;
  25.      ET1=1;
  26.    
  27.      TR0=1 ;

  28.    while(1)
  29.    {
  30.      do{
  31.             if(PWM!=0xff)
  32.            {PWM++ ;delayms(10);}
  33.            else Beep() ;
  34.          }
  35.      while(K1==0);

  36.      do{
  37.            if(PWM!=0x02)
  38.           {PWM-- ;delayms(10);}
  39.            else Beep() ;
  40.           }
  41.      while(K2==0);
  42.    }
  43. }

  44. /*********************************************************/
  45. // 定時器0中斷服務程序.
  46. /*********************************************************/
  47. void timer0() interrupt 1
  48. {  
  49.     TR1=0 ;
  50.     TH0=0xfc ;
  51.     TL0=0x18 ;
  52.     TH1=PWM ;
  53.     TR1=1 ;
  54.     P0=0x00 ;      //啟動輸出
  55. }

  56. /*********************************************************/
  57. // 定時器1中斷服務程序
  58. /*********************************************************/
  59. void timer1() interrupt 3
  60. {
  61.     TR1=0 ;
  62.     P0=0xff ;     //結束輸出
  63. }

  64. /*********************************************************/
  65. //蜂鳴器子程序
  66. /*********************************************************/

  67. void Beep()     
  68.   {
  69.       unsigned char i  ;
  70.       for (i=0  ;i<100  ;i++)
  71.         {
  72.           delay(100)  ;
  73.           BEEP=!BEEP  ;                //Beep取反
  74.         }
  75.      BEEP=1  ;                            //關閉蜂鳴器
  76.      delayms(100);
  77.   }

  78. /*********************************************************/
  79. // 延時子程序
  80. /*********************************************************/  
  81. void delay(unsigned char t)
  82. {
  83.     while(t--)   ;
  84. }

  85. /*********************************************************/
  86. // 延時子程序
  87. /*********************************************************/
  88. void delayms(unsigned char ms)

  89. {
  90.     unsigned char i ;
  91.     while(ms--)
  92.      {
  93.         for(i = 0 ; i < 120 ; i++) ;
  94.      }
  95. }


復制代碼

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 福利在线看 | 免费在线一区二区 | 黄色综合 | 精品一级 | 国产农村妇女精品一区 | 成人精品在线观看 | 午夜成人免费视频 | 中文字幕在线第一页 | 日日夜夜精品 | 国产在线视频一区 | 日韩精品一区二 | 日本一区二区高清视频 | 国产毛片久久久久久久久春天 | 国产在线精品一区二区 | 视频一区在线观看 | 欧美另类视频在线 | 国产精品a级 | 免费日韩av | 国产精品久久久久久福利一牛影视 | 黑色丝袜三级在线播放 | 精品国产一区二区三区性色av | 中文字幕日韩一区 | 夜夜精品浪潮av一区二区三区 | 成人h视频在线 | 久久精品这里 | 成人免费视频观看视频 | 亚洲成人精品视频 | 免费午夜视频在线观看 | 精品欧美一区二区三区久久久 | 黄色片免费在线观看 | 久久久91精品国产一区二区三区 | 91视频亚洲 | 懂色中文一区二区三区在线视频 | 天天操天天舔 | 成人免费在线视频 | 欧美性网站 | 亚洲成人日韩 | 国产探花 | 中文字幕亚洲在线 | 精品视频一区二区三区在线观看 | 国产视频一区二区三区四区五区 |