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