很多单片机带pwm模块,可以出很工整的pwm波,非用定时器做也可以,比较耗资源.
定时器做pwm好处是任意的io都可以输出且没有通道个数的限制.
定时器用作pwm你需要两个中断,一个是pwm周期中断(所有通道置低),一个是pwm的开关点中断(置高电平).
有些单片机还是难以实现一个定时器两种中断,另一个做法是每个开关点都中断,这里的开关点指的是每个pwm周期可能的开关位置,其数量和你的pwm调控精度有关.这样pwm周期点自然是个特殊的开关点.这个方法频率高时开销大而且由于中断服务的延时可能造成波形不稳定.
大体思路就是这样.
找个有pwm模块的单片机实现,从信号质量资源开销上都是最理想的.
温馨提示:答案为网友推荐,仅供参考