如何使用AT89C51单片机产生方波占空比可调PWM信号波?期待大家的回复。

PWM信号的频率为1.7KHz,占空比为0.5
设计目录为:
1PWM信号发生器设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

1.1 PWM信号波形、参数、及其控制方法⋯⋯⋯⋯
1.2 PWM信号发生器电路原理图设计⋯⋯⋯⋯⋯⋯
1.3 PWM信号发生器程序设计⋯⋯⋯⋯⋯⋯⋯⋯⋯
1.4 PWM信号发生器调试及测试数据⋯⋯
邮箱:⋯[email protected]⋯⋯

如果单片机的基本电路编程语法不懂的话,就从一本有关单片机的教程开始学习。
但如果是不知道PWM如何产生的话,就简单了:
1.7KHZ,占空比0.5,也即是588.2us一个周期,则294.1us产生一个高低电平状态变化。
如果这个输出频率不是要求特别严格的话,以12MHz晶振为例,一个指令周期为1us,通过设计定时器,以16位模式,定时值为65536-294=65242=0xFEDA,在中断中,每次改变一下IO口状态,就OK了。但要注意,由于使用16位定时器,重置定时器初始值时要稍微做一些小处理,就是要将定时器已经走过的时间量与若干语句执行的时间量计入定时器初值,否则产生的PWM频率就会小一些。
另外,建议你在工程实际中,使用含有PCA/PWM功能的单片机,这样的话,又简单又高效还比较精确。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-14
楼主想学单片机的话,学习板必须买啊。学习板附带各种教程,包括PWM控制。
第2个回答  2012-12-14
用定时器产生。很简单的……
第3个回答  2012-12-28
有点89单片机是直接带pwm的 呵呵来自:求助得到的回答
第3个回答  2012-12-28
我也想知道。