利用MSP430F41單片機(jī)定時(shí)器實(shí)現(xiàn)信號采樣和PWM控制
將捕獲/比較寄存器CCR0和CCR1定義為比較模式,它們的輸出單元OUT0和OUT1分別對應(yīng)單片機(jī)引腳P1.0(TA0)和P1.2(TA1)。進(jìn)入比較模式后,如果定時(shí)器CCRx的計(jì)數(shù)值等于比較寄存器x中的值,則比較信號EQUx輸出到輸出單元OUTx中,同時(shí)根據(jù)選定的模式對信號置位、復(fù)位或翻轉(zhuǎn)。其中:設(shè)置EQU0將OUT0信號翻轉(zhuǎn),信號時(shí)鐘與定時(shí)器時(shí)鐘同步,這樣就可以在P1.0引腳上得到50Hz的方波信號;設(shè)置EQU1輸出模式為PWM復(fù)位/置位。
設(shè)定模式下定時(shí)中斷的輸出如圖2所示。根據(jù)設(shè)定的PWM復(fù)位/置位模式,若CCR1計(jì)數(shù)器溢出,則EQU1將OUT1復(fù)位;若CCR0計(jì)數(shù)器溢出,則EQU0將OUT1置位。利用CCR0和CCR1計(jì)數(shù)起始點(diǎn)的差值,實(shí)現(xiàn)占空比的變化,從而在P1.2上完成PWM輸出。系統(tǒng)對占空比的調(diào)節(jié)是通過改變CCR1的基數(shù)來實(shí)現(xiàn)的。定時(shí)器時(shí)鐘為2MHz、CCR1和CCR0的計(jì)數(shù)值為1 000時(shí),可獲得2kHz的PWM輸出頻率。負(fù)載驅(qū)動電路將單片機(jī)P1.2引腳輸出的PWM信號放大濾波,用于驅(qū)動大功率的執(zhí)行元件。
3 軟件設(shè)計(jì)
3.1 系統(tǒng)主程序
在主程序中包括系統(tǒng)初始化、定時(shí)器的初始化、溫度采樣值的讀入、負(fù)載驅(qū)動和顯示等。系統(tǒng)進(jìn)行溫度值采樣和PWM輸出均在定時(shí)中斷內(nèi)完成,PWM輸出脈沖的占空比則由PID算法得到。系統(tǒng)主程序流程圖如圖3所示。
pwm相關(guān)文章:pwm原理
評論