<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 關(guān)于MCS-51單片機實現(xiàn)PWM的方法

          關(guān)于MCS-51單片機實現(xiàn)PWM的方法

          作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
          關(guān)于MCS-51單片機實現(xiàn)PWM的方法
          PWM是“脈沖寬度調(diào)制”的意思。
          PWM實際上是在單片機的某個引腳輸出一系列的矩形波,其周期一般是固定的;而其高電平、低電平所占用的時間,是可以受控調(diào)整的。高電平、低電平所占用的時間之比,稱為占空比,其值為0~1之間。PWM的應(yīng)用很廣,簡單的說,它可以控制燈光的亮度、可以控制直流電機的轉(zhuǎn)速,甚至還可以輸出語音信號。
          新型的單片機,往往都含有硬件的PWM模塊,編寫程序就很簡單;而老式的MCS-51系列,就不具備這個條件。
          其實,在沒有PWM硬件的單片機上實現(xiàn)PWM,也并不難,只需一個定時器,令其工作在中斷方式即可。下面以網(wǎng)上的一個題目為例,說明實現(xiàn)PWM方法。
          題目鏈接:http://zhidao.baidu.com/question/170790790.html?push=core
          題目:AT89C52單片機輸出可調(diào)PWM波。
          要求:
          1。單片機的晶振是12MHz,輸出周期為1s。
          2。用兩個開關(guān)控制占空比的增加和減少,分20等級。針對這個題目,做而論道設(shè)計了一個簡單的實驗電路:
           在P2口的8條線輸出PWM波形;
           在/INT1、/INT0外接了兩個按鍵,用來調(diào)整占空比;
           在P0口外接了兩個BCD數(shù)碼顯示器,用來顯示當(dāng)前的占空比的等級。
           實驗的時候,可以使用示波器來觀察P2口輸出的波形。
           如果把PWM波形的頻率提高,也可以用LED觀察到漸亮漸暗的效果,目前看,只是閃爍的時間發(fā)生變化。

          //程序如下:
          //==========================================
          #include
          unsignedinta,b;
          //------------------------------------------
          voidmain()
          {
          TMOD=0x01;//T0定時方式1
          TH0=(65536-50000)/256;//50ms@12MHz
          TL0=(65536-50000)%256;
          TR0=1;ET0=1;
          EX0=1;EX1=1;
          IT0=1;IT1=1;
          EA=1;a=0;
          b=10;
          while(1);
          }
          //------------------------------------------
          voidtime0()interrupt1
          {
          TL0=(65536-50000)%256;
          TH0=(65536-50000)/256;//50ms@12MHz
          a++;
          if(a==20)a=0;//在這里調(diào)整周期.
          if(a<b)P2=0xff;//在這里調(diào)整占空比.
          elseP2=0x00;
          P0=((b/10)<<4)+b%10;//顯示占空比等級
          }
          //------------------------------------------
          voidX0_INT()interrupt0
          {
          b++;
          if(b>19)b=19;//占空比等級最大為19
          }
          //------------------------------------------
          voidX1_INT()interrupt2
          {
          b--;
          if(b<1)b=1;//占空比等級最小為1.
          }
          //==========================================


          關(guān)鍵詞: MCS-51單片機PW

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();