新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于51單片機雙極型PWM 的軟件實現(xiàn)

基于51單片機雙極型PWM 的軟件實現(xiàn)

作者: 時間:2012-11-27 來源:網(wǎng)絡(luò) 收藏

基于51單片機雙極型PWM 的軟件實現(xiàn)
下面計算產(chǎn)生 所需的定時初值。實際上穩(wěn)定工作時,只有一個引腳有輸出,即一般兩個引腳不會同時輸出,所以可看作是兩個相對獨立的過程,可假設(shè)脈寬和誤差信號的線性對應關(guān)系:
基于51單片機雙極型PWM 的軟件實現(xiàn)
據(jù)此可求出定時初值與誤差信號的關(guān)系:
基于51單片機雙極型PWM 的軟件實現(xiàn)
由(1)式有
基于51單片機雙極型PWM 的軟件實現(xiàn)
把式(5)代入式(6)得:
基于51單片機雙極型PWM 的軟件實現(xiàn)
當晶振頻率取12 MHz時,f=12。采用定時方式1,則可以得到即時的控制信號V(t)和定時初值在PWM 信號的一個周期內(nèi)的關(guān)系:
基于51單片機雙極型PWM 的軟件實現(xiàn)
因為V和V(t)通過對誤差計算都可以得到,所以根據(jù)式(8)可以求出t時刻對應的PWM 一個周期高低脈寬的定時初值(注意這里的T的單位是us,頻率f的單位為MHz)。

3 Keil C下的程序?qū)崿F(xiàn)
Keil C是基于標準C的C51專用高級編程語言,它具備標準C的強大靈活的編程能力,同時又相對增加了對C硬件資源的直接操作,故在Keil C下對C51的程序設(shè)計幾乎使人們可擺脫對C51底層寄存器等硬件的煩瑣操作,編程效率顯著提高,并且程序運行速度和所占空間和匯編差別不大。這里利用定時器T0的方式1,采用其時間溢出中斷,中斷號為1,具體程序流程如圖2所示。
基于51單片機雙極型PWM 的軟件實現(xiàn)
圖2 PWM信號實現(xiàn)的軟件流程
E -誤差控制器;TH0-T0定時器高位;TL0-T0定時器低位;Twh、Twl-定時器初值

4 結(jié)語
單片機硬件發(fā)展很快,出現(xiàn)了16位、32位等多位機,但今后一段時期的8位機將仍占主流。通過適當?shù)能浖_發(fā),可以挖掘其內(nèi)在價值,這樣既降低了生產(chǎn)成本,又鍛煉了個人的軟件開發(fā)能力。
參考文獻:
[1] 李朝青.原理及接口技術(shù)[M].北京:北京航空航天大學出版社,1999.
[2] 孫傳友.測控系統(tǒng)原理與設(shè)計[M].北京:北京航空航天大學出版社,2002.
[32 張運波.PWM 信號的軟件實現(xiàn)方法[J].微型計算機信息,2002,8(10)

pwm相關(guān)文章:pwm是什么


51單片機相關(guān)文章:51單片機教程


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



上一頁 1 2 下一頁

關(guān)鍵詞: 51單片機 雙極型PWM C51系列

評論


相關(guān)推薦

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

關(guān)閉