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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51系列單片機(jī)輸出PWM的兩種方法

          51系列單片機(jī)輸出PWM的兩種方法

          作者: 時間:2008-10-15 來源:網(wǎng)絡(luò) 收藏

          MCS-51系列無PWM輸出功能,可以采用定時器配合軟件的方法實現(xiàn),對精度要求不高的場合是非常實用的。電路圖見圖1,采用高速光隔6N137輸出,并將PWM的信號倒相。
            一、 工作原理(原理圖如圖1所示)
            二、PWM輸出
           ?。保?固定脈寬PWM輸出
          用T0定時器完成PWM輸出,脈寬固定為65536us。T0定時器設(shè)置成16位定時器,PWM波形如圖2所示。
            程序清單:(12MHz)
            PwmData0;T0定時t1的初值(字)
            PwmData1;T0定時t2的初值(字)
            PwmF ;PWM輸出標(biāo)志
          ;***************************
            setb tr0;啟動T0 ……
             ;T0中斷服務(wù)程序
          T0Int:JB,PwmF,PWMOUT ;PWM輸出未完成返回
          MOV TH0,HIGH(PwmData0)
          MOV TL0,LOW (PwmData1)
          SETB TRO  

          SETB PwmF

          CLR P1.0 ;PWM輸出腳
            RETI

          PWMOUT:SETB P1.0 CLR TR0

          MOV TH0,HIGH(PWMDATA1)
          MOV TL0,LOW(PWMDATA1)
          SETB TR0
          CLR PWMF

          RETI

          說明:在主程序中計算PWMDATA0、PWMDATA1的值。
            2. 可變脈寬PWM輸出
            用T0定時器控制PWM的占空比,T1定時器控制脈寬(最大65536us。)
            T0、T1定時器設(shè)置成16位定時器。PWM輸出波形如圖3所示。
            程序清單:(12MHz)
              PwmData0;T0定時t1的初值(字)
             PwmData1;T0定時t2的初值(字)
          ;***************************
          SETB TR0;啟動T0
             SETB TR1   ......

          T0INT:CLR TR0;T0中斷服務(wù)程序
            SETB P1.0 ;PWM輸出腳
               RETI

          T1INT:CLR P1.0 ;T1中斷服務(wù)程序
              CLR TR0      
          CLR TR1
               MOV TH0,HIGH(PWMDATA0)
               MOV TL0,LOW(PWMDATA0)
               MOV TH1,HIGH(PWMDATA1)
               MOV TL1,LOW(PWMDATA1)
               SETB TR1     
          SETB TR0

          RETI
            說明:在主程序中計算PWMDATA0、PWMDATA1的值。

          pwm相關(guān)文章:pwm原理




          評論


          相關(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); })();