51 双定时器输出PWM相互干扰,怎么解决

2020-01-24 11:57发布

51单片机用T0,T1两个定时器输出PWM。
计数值都是1000时,PWM周期都是5.6ms
计数值都是2000时,PWM周期也都是5.6ms
计数值都是3000时,T0的PWM周期输出2.2ms,T1的PWM输出周期为4.2ms
以上结果用示波器测得。
是不是因为优先级造成的干扰呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
洗澡哥
2020-01-25 05:26
小豆 发表于 2013-8-14 23:52
一个定时器怎么输出多路PWM,求楼主给一些资料看看,感谢万分!!!

在定时器了可以调频率
在主函数里可以占空比

void Time1 (void) interrupt 3  
{
       uchar i,j;
        TH0=0xfe;        //16位计数寄存器T0高8位,尝试修改1000成其他值
        TL0=0x0c;        //16位计数寄存器T0低8位,尝试修改1000成其他值
        i++;
        j++
        if(i==10)//调频率
             PWMA++;
        if(j==20)//调频率
             PWMB++;       
}

一周热门 更多>