新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR 定時(shí)器相位修正PWM 模式使用

AVR 定時(shí)器相位修正PWM 模式使用

作者: 時(shí)間:2016-12-03 來(lái)源:網(wǎng)絡(luò) 收藏
相位修正PWM和快速PWM的區(qū)別在于,相位修正PWM在達(dá)到上限值后做減一操作,然后到達(dá)匹配值后端口再發(fā)生變化。

其他特性和快速PWM基本一至。

本文引用地址:http://m.butianyuan.cn/article/201612/325115.htm

相位修正PWM時(shí)序圖

頻率計(jì)算公式

參考代碼:

#include
void FreCorrectPWM(void)
{
DDRD_Bit4 = 1;// OC1B 管腳設(shè)置為輸出
DDRD_Bit5 = 1;// OC1A 管腳設(shè)置為輸出

TCCR1A=(0<// OC1A 作為上限值 電平取反 OC1B 作為比較值 比較匹配時(shí)清零,到達(dá)上限值是置1
// TCCR1A ==> COM1A1 , COM1A0 , COM1B1 , COM1B0 , FOC1A , FOC1B , WGM11 , WGM10
// 0 1 1 0 無(wú)關(guān) 無(wú)關(guān) 1 1
TCCR1B=(1<// 波形產(chǎn)生模式11 , 64分頻
// TCCR1B ==> ICNC1 , ICES1 , - , WGM13 , WGM12 , CS12 , CS11 , CS10
// 無(wú)關(guān) 無(wú)關(guān) 1 0 0 1 1

OCR1A=1727;// 晶振頻率 11.0592MHz , 設(shè)定 100Hz PWM信號(hào) , 64分頻
OCR1B=345;// 為高電平持續(xù)時(shí)間
}

void main(void)
{
FreCorrectPWM();
}



評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉