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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 淺談利用單片機設計PWM脈沖信號發(fā)生器

          淺談利用單片機設計PWM脈沖信號發(fā)生器

          作者: 時間:2016-11-24 來源:網(wǎng)絡 收藏
          PWM是脈沖寬度調(diào)制(Pulse Width Modulation)的英文縮寫,它是開關型穩(wěn)壓電源中按穩(wěn)壓的控制方式分類中的一種,而脈寬寬度調(diào)制式(PWM)開關型穩(wěn)壓電路是在控制電路輸出頻率不變的情況下,通過電壓反饋調(diào)整其占空比,從而達到穩(wěn)定輸出電壓的目的。
          簡單的說,PWM是一種對模擬信號電平進行數(shù)字編碼的方法。理論上講就是電壓或電流源以一種通(ON)或斷(OFF)的重復脈沖序列被加到模擬負載上去的,通的時候就是電源被加到負載上,斷的時候就是供電被斷開的時候,所以PWM信號仍然是數(shù)字的。要想達到這樣一種脈寬調(diào)制效果,模擬電壓和電流時可以直接控制。例如音響的音量控制,在簡單的模擬電路中,它的控制是由連接了一個可變電阻的旋鈕來實現(xiàn)的,其過程是擰動旋鈕,電阻值變小或變大,流過該電阻的電流也隨之增加來減小,從而改變驅動揚聲器的電流值,那么聲音也就相應變大或變小。從這個例子來看,模擬控制是直觀而簡單的,但是并不是所有的模擬電路都是可行并且經(jīng)濟的,其中很重要的一點就是模擬電路容易隨時間漂移,它的調(diào)節(jié)過程就很困難,為了解決問題就要增加很多的電路,使得電路變得復雜并且昂貴。除此之外,模擬電路中許多的元器件會發(fā)熱,也就相對提高了電路的功耗,并且對噪聲也敏感,任何干擾或噪聲都會改變電流值的大小。
          綜上所述,通過數(shù)字方式來控制模擬電路可以大幅度降低系統(tǒng)的成本和功耗,而單片機I/O口的數(shù)字輸出可以很簡單地發(fā)出一個脈沖波,在配以外部元器件就可以調(diào)節(jié)脈沖波的占空比,完成PWM的功能。本文主要介紹利用89S52系列的單片機,控制某個I/O口中一個管腳的數(shù)字輸出,生成相應周期的脈沖波,并利用按鍵控制其占空比的調(diào)節(jié),包括了占空比自小到大和自大到校的順序及倒序可調(diào),其調(diào)節(jié)范圍廣,操作簡便,各元器件間的干擾較小,對模擬電路的控制十分有效。
          1.PWM波的生成
          PWM波既為數(shù)字輸出,就是其幅值只有高電平(ON)和低電平(OFF)之分,所以只要使單片機中作為PWM波輸出端的那個管腳輸出“1”和“0”,并且搭配不同的時間段,就可以形成不同周期的PWM波。舉例說明:若要生成周期為10ms的脈沖,就可以利用單片機編程指令控制其輸出端輸出“1”,并且保持一段時間tp,然后再輸出“0”,同樣使其保持一段時間tr,兩種數(shù)字輸出保持的時間必須要滿足,現(xiàn)就已生成10ms周期的脈沖波,而PWM波與該脈沖波的區(qū)別就是還要能夠調(diào)節(jié)占空比。占空比是指正半周脈寬占整個周期的比例,即高電平保持時間于周期的比值,該比值為百分數(shù)(),因此在周期一定的情況下,調(diào)節(jié)占空比就是調(diào)節(jié)高電平保持的時間。
          2.應用編程
          本文介紹的PWM波是利用單片機定時中斷去確定脈沖波的周期,并且通過兩個按鍵自增和自減某個變量送至中斷中,通過此變量去分配高低電平各自占用的時間,形成不同的占空比,即假設一個周期滿額比例值為10,則高電平保持時間的比例為該變量值,那么低電平保持時間的比例就是10減去該變量值。
          如圖1所示為單片機的外部接線圖,其中省略了單片機最小系統(tǒng),此圖即可利用89SC52單片機設計出滿足周期為10ms、初始占空比為50%、占空比調(diào)節(jié)范圍為0~100%的PWM脈沖信號發(fā)生器。占空比調(diào)節(jié)范圍是指高電平保持時間為0~10ms,那么低電平保持時間就是10ms~0。P0.7腳為PWM波輸出口,作為PWM脈沖信號發(fā)生器可連接其它電路,本文僅連接示波器去觀察波形的占空比變化情況,P2.0腳為自增按鈕控制端,每按一次高電平保持時間增加1ms,P2.1腳為自減按鈕控制端,每按一次高電平保持時間減少1ms。圖2所示為初始50%占空比的波形圖以及20%、40%、60%和80%占空比的波形圖,以此看出PWM的變化。
          89C52單片機生成PWM波C語言程序:
          #define uint unsigned int
          sbit pwm=P0^7;
          sbit k1=P2^0;
          sbit k2=P2^1;
          bit bz;//定義一個按鍵是否松開的標志位
          uchar b;
          uchar m=5;//m為控制占空比的變量,初始占空比50%
          void delay(uint i)
          {while(i--);}
          void dingshi() interrupt 1//定時中斷
          {TL0=(65536-1000)%256; //1ms初始化
          TH0=(65536-1000)/256;
          b++;
          if(b==10) b=0; //10ms周期定時
          if(b void main()
          {EA=1;ET0=1;
          TMOD=0x01;//定時0工作在方式1,1ms中斷1次
          TL0=(65536-1000)%256;
          TH0=(65536-1000)/256;
          TR0=1;//開中斷
          while (1)
          {if((k1==0)&&(bz==0)) {delay(1110);if(k1==0){bz=1;m++;if(m==11) m=10;}}//每按一次占空比自增10%
          if((k2==0)&&(bz==0)) {delay(1110);if(k2==0){bz=1;m--;if(m==255) m=0;}}//每按一次占空比自減10%
          if((k1==1)&&(k2==1)) bz=0;//判斷按鍵是否松開}}
          綜合硬件設計和軟件設計可以看出,利用單片機數(shù)字輸出方式可以很簡單的完成脈沖寬度的調(diào)制,無須通過對模擬電路各元器件參數(shù)的計算進行調(diào)節(jié),并且可以隨時調(diào)整輸出不同周期的脈沖波,利用該方法設計的PWM脈沖信號發(fā)生器可以很廣泛。但是此設計也有一些缺點,其占空比只能按10%的比例調(diào)節(jié),調(diào)節(jié)精度還有待提高。
          參考文獻
          【1】何立民,張俊謨.單片機中級教程:第2版[M].北京:北京航空航天大學出版社,2002.
          【2】吳金戌,沈慶陽,郭庭吉.8051單片機實踐與應用[M].北京:人民郵電出版社,2003.
          【3】賀小光,藍諷,陳敬艷.PWM可調(diào)直流穩(wěn)壓控制電源電路的設計研究[J].東北師大學報


          評論


          技術專區(qū)

          關閉
          看屁屁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); })();