标题: 定时器1用做单片机模拟PWM调节 来位好心人给我讲解下这段程序好吗 [打印本页]

作者: lx843040583    时间: 2017-5-25 16:06
标题: 定时器1用做单片机模拟PWM调节 来位好心人给我讲解下这段程序好吗
/*******************定时器1用做单片机模拟PWM调节***********************/
void Timer1() interrupt 3  //调用定时器1
{
        static uchar value_l;
        TH1=0xff;          //定时中断一次
        TL1=0xec;         
        if(pwm==1)
        {
                value_l+=3;
                if(value_l > f_pwm_l)   //高电平
                {
                        value_l=0;
                        pwm=0;         
                }
        }
        else                                
        {
                value_l+=3;
                if(value_l  > 100 - f_pwm_l)  //低电平
                {
                        value_l=0;
                        pwm=1;
                }
    }
}


作者: imxuheng    时间: 2017-5-25 16:34
断章取义没法看
作者: seelong    时间: 2017-5-26 17:05
两个 关于value_l 的 if 判断是为了延时。其中 f_pwm_l 其实是占空比,这里它的设定应该是0~100之间的值。比如该值=40,可以理解为每周期百分之40的时间pwm=0,百分之60的时间里pwm=1。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1