使用AVR实现PWM波.docVIP

  • 7
  • 0
  • 约7.71千字
  • 约 11页
  • 2017-11-22 发布于四川
  • 举报
使用AVR实现PWM波 分类: C/C++ 使用AVR的定时器实现PWM,具有众多优点。 1:AVR 定时/计数器的PWM 模式可以分成快速PWM和频率(相位)调整PWM 两大类。 快速PWM 可以得到比较高频率的PWM 输出,但占空比的调节精度稍微差一些。此时计数器仅工作在单程 正向计数方式,计数器的上限值决定PWM的频率,而比较匹配寄存器的值决定了占空比的大小。PWM 频率 的计算公式为: PWM频率 = 系统时钟频率/(分频系数*(1+计数器上限值)) 频率(相位)调整PWM 模式的占空比调节精度高,但输出频率比较低,因为此时计数器仅工作在双向计数方式。同样计数器的上限值决定了PWM 的频率,比较匹配寄存器的值决定了占空比的大小。PWM 频率的计 算公式为: PWM频率 = 系统时钟频率/(分频系数*2*计数器上限值)) 在PWM 方式中,计数器的上限值有固定的0xFF(8 位T/C);0xFF、0x1FF、0x3FF(16 位T/C)。或由用户设定的0x0000-0xFFFF,设定值在16 位T/C 的ICP 或OCRA 寄存器中。而比较匹配寄存器的值与计数器上限值之比即为占空比。 2:应用例子 用PWM 方式来产生一个1KHz 左右的正弦波,幅度为0-Vcc/2。 程序中使用ATmega128 的8 位T/C0,工作模式为相位调整PWM 模式输出,系统时钟为8

文档评论(0)

1亿VIP精品文档

相关文档