for(n=0;n<200;n++); //延时,取值0-65535,数字越大变化越慢
if(!c7||!c6||!c5||!c4||!c3||!c2) //通过按键改变占空比
{
if(!c7) PWM_T=0; //这些值可以改变
else if(!c6) PWM_T=10;
else if(!c5) PWM_T=35;
else if(!c4) PWM_T=60;
else if(!c3) PWM_T=85;
else if(!c2) PWM_T=100;
}
}
}
/****************************************************
/定时器0中断模拟PWM
****************************************************/
timer0() interrupt 1 using 2
{
static uchar t ; //PWM计数
t++; //每次定时器溢出加1
if(t==100) //PWM周期 100个单位
{
t=0; //使t=0,开始新的PWM周期
P1=0x00; //使LED灯亮 ,输出端口
P0=0x00; //使LED灯亮 ,输出端口
}
if(PWM_T==t) //按照当前占空比切换输出为高电平
{ P1=0xff; //使LED灯灭
P0=0xff; //使LED灯灭
}
}
利用脉冲信号的通电时间和周期之比,我们就能实现PWM按键对照明灯的调节。在目前的市场当中,产品对电控系统的要求越来越高,以前普通的器件已经不能满足现代轿车的控制要求。所以占空比将在未来的产品研发中占据越来越重要的地位。