中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        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的值。
         ?。玻?可變脈寬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)閉