51单片机是如何产生PWM波的。。用定时器中断如何实现

如题所述

1 设置一个 IO 输出口作为 PWM 输出
2 设置一个 可调定时器 如 定时 250 IO输出 0 , 定时 5 IO输出 1, 高电平 窄
或 定时 5 IO输出 0 , 定时 250 IO输出 1, 高电平 宽
即定时器每中断一次要重装定时数据追问

关于频率和占空比的确定,对于12M晶振,假定PWM输出频率为1KHZ,这样定时中断次数 *
*设定为C=10,即0.01MS中断一次,则TH0=FF,TL0=F6;由于设定中断时间为0.01ms,这样*
*可以设定占空比可从1-100变化。即0.01ms*100=1ms
能给解释这段吗??、首先给PWM的频率我们可以求什么???

追答

假定PWM输出频率为1KHZ, 那么 2 次中断为 1mS (一次输出0,一次输出1)占空比就是 2 次中断的时间比例。要改变PWM的频率就改变2 次中断时间。要改变占空比,就改变2 次中断的时间比例比例就可以了。 这为软件 PWM.
STC单片机内部有硬件PWM口,只要设置一下就可以了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-24
有的单片机带有pwm功能,用定时器实现的方法是:根据占空比计算出高电平和低电平的时间,利用定时器定时,然后取反就可以了追问

*关于频率和占空比的确定,对于12M晶振,假定PWM输出频率为1KHZ,这样定时中断次数 *
*设定为C=10,即0.01MS中断一次,则TH0=FF,TL0=F6;由于设定中断时间为0.01ms,这样*
*可以设定占空比可从1-100变化。即0.01ms*100=1ms
能给解释这段吗??、首先给PWM的频率我们可以求什么??? *