標(biāo)題: 定時(shí)器1用做單片機(jī)模擬PWM調(diào)節(jié) 來(lái)位好心人給我講解下這段程序好嗎 [打印本頁(yè)]

作者: lx843040583    時(shí)間: 2017-5-25 16:06
標(biāo)題: 定時(shí)器1用做單片機(jī)模擬PWM調(diào)節(jié) 來(lái)位好心人給我講解下這段程序好嗎
/*******************定時(shí)器1用做單片機(jī)模擬PWM調(diào)節(jié)***********************/
void Timer1() interrupt 3  //調(diào)用定時(shí)器1
{
        static uchar value_l;
        TH1=0xff;          //定時(shí)中斷一次
        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    時(shí)間: 2017-5-25 16:34
斷章取義沒法看
作者: seelong    時(shí)間: 2017-5-26 17:05
兩個(gè) 關(guān)于value_l 的 if 判斷是為了延時(shí)。其中 f_pwm_l 其實(shí)是占空比,這里它的設(shè)定應(yīng)該是0~100之間的值。比如該值=40,可以理解為每周期百分之40的時(shí)間pwm=0,百分之60的時(shí)間里pwm=1。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1