关于定时器中断PWM的占空比问题。

2019-07-15 11:36发布

flag=0;
void timer0() interrupt 1
{
    if(t0_flag == 0)
    {
        t1_flag = 1;
        PWM = 1;
        TH0 = (65536 - tpwm )/256;
        TL0 = (65536 - tpwm)%256;
        
    }
    else
    {
        t0_flag = 0;
        PWM = 0;
        TH1 = (65536- 10000 + tpwm )/256;
        TL1 = (65536 - 10000 + tpwm )%256;
    }
}


tpwm/10000    是否就是代表占空比?如果不行的话要如何实现?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
iamgod01
1楼-- · 2019-07-15 13:27
能不能完整一点啊,有些参数不明确
-_   安于命
2楼-- · 2019-07-15 17:40
iamgod01 发表于 2017-3-23 17:29
能不能完整一点啊,有些参数不明确

没改清楚..  我再改改
-_   安于命
3楼-- · 2019-07-15 20:51
本帖最后由 -_   安于命 于 2017-3-23 18:47 编辑
iamgod01 发表于 2017-3-23 17:29
能不能完整一点啊,有些参数不明确

unsigned char tpwm;  //高电平时间
flag=0;
void timer0() interrupt 1
{
    if(flag == 0)
    {
        flag = 1;
        PWM = 1;
        TH0 = (65536 - tpwm )/256;
        TL0 = (65536 - tpwm)%256;
        
    }
    else
    {
        flag = 0;
        PWM = 0;
        TH0 = (65536- 10000 + tpwm )/256;
        TL0 = (65536 - 10000 + tpwm )%256;
    }
}


tpwm/10000    是否就是代表占空比?如果不行的话要如何实现?

一周热门 更多>