標(biāo)題: AVR定時器1的相位修正PWM模式設(shè)置 [打印本頁]

作者: daliu    時間: 2014-9-1 00:55
標(biāo)題: AVR定時器1的相位修正PWM模式設(shè)置
簡單歸納一下
相位修正PWM 與快速PWM 一樣,不同的方波產(chǎn)生模式?jīng)Q定了TOP值是固定的,還是任意的。如在試驗中選擇11(任意的TOP), OC1A 就要作為犧牲,僅能輸出50%占空比的方波,OCR1A 決定了輸出頻率,而OCR1B 決定了PWM 的占空比。OCR1A可以作為OCR1B 的參考值,相位修正PWM 有低頻率而且PWM 精確度高的特性。除此之外,既然OC1A 被犧牲了,那么COM1A1:0 的設(shè)置也需要合理。
我們稍微整理一下編程時的步驟:
1. 將PD4~PD5 引腳設(shè)置為輸出(默認(rèn)為低電平)。DDRD|=BIT(4)|BIT(5);
2. 設(shè)置方波產(chǎn)生模式,WGM12~10,試驗中是以模式11 為例。TCCR1A|=BIT(0)|BIT(1); TCCR1B|=BIT(4);
3. 設(shè)置OC1A 與OC1B 的引腳規(guī)則COM1A1:0=0,1 COM1B1:0=1,0。TCCR1A|=BIT(6)|BIT(5);
4. 設(shè)置預(yù)分頻(時鐘源)。TCCR1B|=BIT(0)|BIT(1);
5. 設(shè)置OCR1A 初值,決定輸出頻率。OCR1A=864;
6. 設(shè)置OCR1B 初值,決定PWM 方波的占空比。OCR1B=173
7. 編輯相關(guān)的中斷函數(shù)(如果有的話)。
最后補充一下,當(dāng)OCR1A 最為TOP 值時,OC1A 僅能輸出50%占空比的方波,而該輸出的頻率是OC1B 的一般而已。
注意:PD4 是OC1B,PD5 是OC1A。





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1