亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)PWM波控制LED呼吸燈源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:530391 發(fā)表于 2019-9-10 14:18 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
程序

  1. // 利用定時(shí)器控制產(chǎn)生占空比可變的 PWM 波
  2. // 按K1,PWM值增加,則占空比減小,LED 燈漸暗。
  3. // 按K2,PWM值減小,則占空比增加,LED 燈漸亮。
  4. // 當(dāng)PWM值增加到最大值或減小到最小值時(shí),蜂鳴器將報(bào)警。


  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延時(shí)常數(shù) 12M
  20.     TL0=0x18 ;            //頻率調(diào)節(jié)

  21.     TH1=PWM ;            //脈寬調(diào)節(jié)
  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. // 定時(shí)器0中斷服務(wù)程序.
  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 ;      //啟動(dòng)輸出
  55. }

  56. /*********************************************************/
  57. // 定時(shí)器1中斷服務(wù)程序
  58. /*********************************************************/
  59. void timer1() interrupt 3
  60. {
  61.     TR1=0 ;
  62.     P0=0xff ;     //結(jié)束輸出
  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  ;                            //關(guān)閉蜂鳴器
  76.      delayms(100);
  77.   }

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

  85. /*********************************************************/
  86. // 延時(shí)子程序
  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. }


復(fù)制代碼

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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