相位批改PWM和快速PWM的差异在于,相位批改PWM在抵达上限值后做减一操作,然后抵达匹配值后端口再发生变化。
其他特性和快速PWM根本一至。
相位批改PWM时序图
频率计算公式
参阅代码:
#include
void FreCorrectPWM(void)
{
DDRD_Bit4 = 1;// OC1B 管脚设置为输出
DDRD_Bit5 = 1;// OC1A 管脚设置为输出
TCCR1A=(0<
// TCCR1A ==> COM1A1 , COM1A0 , COM1B1 , COM1B0 , FOC1A , FOC1B , WGM11 , WGM10
// 0 1 1 0 无关 无关 1 1
TCCR1B=(1<
// TCCR1B ==> ICNC1 , %&&&&&%ES1 , – , WGM13 , WGM12 , CS12 , CS11 , CS10
// 无关 无关 1 0 0 1 1
OCR1A=1727;// 晶振频率 11.0592MHz , 设定 100Hz PWM信号 , 64分频
OCR1B=345;// 为高电平持续时间
}
void main(void)
{
FreCorrectPWM();
}