5. avr定时器/计数器1 --TC1 --快速PWM输出 (比较输出--快速PWM模式)

 

快速PWM 模式(WGM13:0 = 5、6、 7、14 或15) 可用来产生高频的PWM 波形。快速PWM模式与其他PWM模式的不同之处是其单边斜坡工作方式。计数器从BOTTOM计到TOP,然后立即回到BOTTOM 重新开始。对于普通的比较输出模式,输出比较引脚OC1x在TCNT1 与OCR1x 匹配时置位,在TOP 时清零;对于反向比较输出模式,OCR1x 的动作正好相反。由于使用了单边斜坡模式,快速PWM 模式的工作频率比使用双斜坡的相位修正PWM 模式高一倍。此高频操作特性使得快速PWM 模式十分适合于功率调节,整流和DAC应用。高频可以减小外部元器件( 电感,电容) 的物理尺寸,从而降低系统成本。

工作于快速PWM 模式时,计数器的数值一直累加到固定数值0x00FF、0x01FF、0x03FF(WGM13:0 = 5、 6 或7)、ICR1 (WGM13:0 = 14) 或OCR1A (WGM13:0 = 15),然后在后面的一个时钟周期清零。

T/C1的外部比较输出引脚OC1A(PD5),OC2A(PD4),可以同时实现两路PWM输出。PWM频率取决与系统时钟频率和分频系数,PWM频率=系统时钟频率/(分频系数*分辨率),改变比较寄存器OCR1A,OCR1B就可以改变占空比。分辨率有8,9,10,可选择。8位最大计数0xFF,9位最大计数值0x1FF,10位最大计数值0x3FF。

操作步骤:

一、初始化I/O寄存器,PWM输出口设为输出:DDRD|=(1<<PD4)|(1<<PD5);

二、8位快速PWM模式设置:TCCR1A|=(0<<WGM11)|(1<<WGM10); TCCR1B|=(1<<WGM12);

三、时钟分频设置:不分频 TCCR1B|=(0<<CS12)|(0<<CS11)|(1<<CS10);

四、快速PWM的比较输出模式:输出通道(OC1A): TCCR1A|=(1<<COM1A1)|(1<<COM1A0)

输出通道(OC1B): TCCR1A|=(1<<COM1B1)|(1<<COM1B0)

五、比较寄存器付初值:OCR1A=0; OCR1B=0; //在程序改变它们的值。

六、中断中使能: SREG=0X80;

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值