如何产生PWM

rudyfly 2011-11-09 04:34:01
请教各位大神,为什么一个Atmega168a 的芯片的板子可以产生32路的PWM信号?
我用ARM9产生PWM的方法是设置定时器计数寄存器为周期值,比较寄存器为脉宽值,然后设置控制寄存器让定时器每次自动加载,重复每个周期,这样产生了我想要的PWM信号。
有没有其他的方法可以产生PWM??
我看了Atmega168a 的芯片手册,并没有看到定时器的模块,为什么可以产生PWM的信号呢,而且还是32路的???
...全文
379 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bjtea 2011-11-10
  • 打赏
  • 举报
回复
不是芯片I/O输出的吧,问厂家要电路图看看就知道了。
liangboone 2011-11-10
  • 打赏
  • 举报
回复
Atmega168a手册上好像有6个PWM通道的。
如果频率很低,可能是用IO口模拟的吧,你看看板子上有没有外扩其它什么芯片。
Simality 2011-11-10
  • 打赏
  • 举报
回复
IO口模拟喽。
rudyfly 2011-11-10
  • 打赏
  • 举报
回复
没有人知道吗?帮帮我啊
codesnail 2011-11-10
  • 打赏
  • 举报
回复
人家外加pwm模块了呗。
Simality 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bjtea 的回复:]
不是芯片I/O输出的吧,问厂家要电路图看看就知道了。
[/Quote]

32路,估计LZ说的是机器人用的32路舵机控制板。那东西50~70Hz的频率,高电平宽度大约0.5~1.5ms,如果用256级分辨率的话周期是3.91us左右,128级的鸭梨更小。AVR拿IO模拟应该还是够的。话说这类东东用CPLD比较合适。

27,383

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧