原创 AVR快速PWM的一些细节

2012-4-26 15:43 3010 4 4 分类: MCU/ 嵌入式

       快速PWM有两种模式:WGM02:WGM00=3 or WGM02:WGM00=7,两种模式的操作如下。

Mode WGM2 WGM1 WGM0 T/C工作模式

TOP

OCRx更新 TOV标志设置
0 0 0 0 正常 0xFF 立即 MAX
1 0 0 1 相位修正PWM 0xFF TOP BOTTOM
2 0 1 0 CTC OCRA 立即 MAX
3 0 1 1 快速PWM 0xFF TOP MAX
4 1 0 0 保留 - - -
5 1 0 1
相位修正PWM
OCRA TOP BOTTOM
6 1 1 0 保留 - - -
7 1 1 1
快速PWM
OCRA TOP TOP

       其中,模式3是一般意义上的PWM,引脚电平在计数器值等于OCR0x和TOP时发生翻转。当COM01=1,COM00=0时,引脚OCRx在比较匹配发生时清零,计数到TOP时置位,此时寄存器OCR0x的值越大,占空比越大;当COM01=1,COM00=1时,引脚OCRx在比较匹配发生时置位,计数到TOP时清零,此时寄存器OCR0x的值越大,占空比越小。

       模式7实际上不能产生占空比变化的PWM。此模式下TCNT0=OCR0x时计数器重新开始计数,而OCRx引脚的电平要么一直为高(COM01=1,COM00=0),要么一直为高(COM01=1,COM00=1)。在模式7下,通过计数器溢出中断时将引脚电平翻转,可以产生占空比50%的PWM,此PWM的频率可以通过改变OCR0x的值来调整。

avr

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条