如何用一个51单片机两个需不同占空比的pwm控制两个相互独立的电机运转?请给出详细的思路,最好有电路图?先谢谢各位大侠哈
没看明白,求详解
追答不好意思,程序有点问题,修改如下:
要形成周期为10个时基,脉宽为3,和周期为20,脉宽为8的两个PWM波:
中断程序:假设定时中断设定为10ms,即时基10ms
unsigned int count1=0,count2=0;
PWM1=1;
PWM2=1;
timer0_interrupt() interrupt 1
{
count1++;
count2++;
if(count1==3)
{
PWM1=0; //某个单片机I/O端口,输出低电平即波谷,波峰已经持续了30ms
}
if(count1==10)
{
PWM1=1;//计数器计数达到一个周期后,再次输出高电平即波峰
count1=0;//每个周期结束计数器都要清零
}
if(count2==8)
{
PWM2=0; //某个单片机I/O端口,输出低电平即波谷,波峰已经持续了80ms
}
if(count2==20)
{
PWM2=1;//计数器计数达到一个周期后,再次输出高电平即波峰
count2=0;//每个周期结束计数器都要清零
}
}
如何调节脉宽和周期你应该明白了吧,再加count3,count4..........可以输出更多路的PWM波,不过要注意一点中断程序要在一个时基内完成。