case 0:P0=0x06;PWM_ON=0;break;//
高电平时长
case 1:P0=0x5B;PWM_ON=4;break;
case 2:P0=0x4F;PWM_ON=6;break;
case 3:P0=0x66;PWM_ON=8;break;
default:break;
}
}
}
}
}
/******************************************************************/
/*
定时器中断函数
*/
/******************************************************************/
void tim(void) interrupt 1 using 1
{
static unsigned char count; //
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;//定时 1mS
if (count==PWM_ON)
{
PWM = 1; //
灯灭
}
count++;
if(count == CYCLE)
{
count=0;
if(PWM_ON!=0) //如果左右时间是 0 保持原来状态
PWM = 0; //灯亮
}
}