单片机如何同时输出三路独立的pwm波

如题所述

输出PWM有三种方法:1、如果你的单片机里有PWM发生器就可以独立生成。
2、用软件实现:在程序里对要输出PWM波的端口不断取反。例:
#include<reg52.h>
sbit pwm=P0^0;
void delay(char i,char j)
{
for(i=100;i>0;i--)
for(j=200;j>0;j--);
}
void main()
{
while(1)
{
pwm=0;
delay();
pwm=1;
}
}
3、用单片机的定时器中断产生。追问

我用的是stc89c52,不知道它是否有pwm发生器。我想问的是如何实现三路独立的pwm

追答

那个单片机里没有发生器。可以独立实现啊。只要你设置三个信号输入端就行了。
你的意思是用键盘控制吧?

追问

谢啦,不是用键盘控制。我是想用三路独立的pwm控制三个独立直流电机的转速。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-10
AVR单片机能轻易的产生3路或者更多的PWM,不需要软件模拟,只要将定时器配置成PWM方式就可以了。