AVR使用范例--定时器实现PWM功能本页关键词:什么是pwmpwm原理pwm控制pwm芯片pwm单片机单片机pwm控制应用pwm电路pwm输出pwm调制脉宽调制PWM是开关型稳压电源中的术语
这是按稳压的控制方式分类的,除了PWM型,还有PFM型和PWM、PFM混合型
脉宽宽度调制式(PWM)开关型稳压电路是在控制电路输出频率不变的情况下,通过电压反馈调整其占空比,从而达到稳定输出电压的目的
通俗的说PWM就是波形,波形的波峰以波谷的比例关系成为占空比,我们可以通过PWM控制电机,音量控制,模拟控制等
AVR单片机的定时器可以轻松实现PWM功能
mega16和mega32的timer0是和timer2都具有PWM功能,timer0和timer2都为8位定时器
timer2为异步操作定时器,在操作过程中要等待寄存器状态更改完成
详情参看数据手册:8位有pwm操作的异步操作定时器timer2
下图设定使用timer0来实现PWM功能
PWM电机控制:
OC0outputmode设定了pwm输出控制选择:正常的端口操作,不与OC0相连接,比较匹配发生时OC0取反,比较匹配发生时OC0清零,比较匹配发生时OC0置位
Waveformmode设定了波形产生模式:比较匹配输出模式,快速PWM模式,相位修正PWM模式
更详细的内容请参看数据手册
看看程序代码://ICC-AVRapplicationbuilder:2006-11-250:15:12//Target:M16//Crystal:7
3728Mhz#include#includevoidport_init(void){PORTA=0x00;DDRA=0x00;DDRB=0x08;//PB3为PWM输出,非常重要,否则无法输出波形DDRB=0x00;PORTC=0x00;//m103outputonlyDDRC=0x00;PO