以定时器1为例
uchar time1_10ms = 0;
uchar time1_100ms = 0;
bit IS_10ms = 0;
bit IS_100ms = 0;
uchar PWM_time = 0;//亮度级数
uchar pwm_time_flag = 0;//计时1s标志位
uchar duty_cycle = 0;//可调占空比
定时器中断函数
//-----------------------------------------------------------------//
//函数名称: void Timer1_ISR() interrupt 3
//函数功能: 定时器1中断子函数
//-----------------------------------------------------------------//
void Timer1_ISR() interrupt 3 / /100us进入一次中断
{
T1_INT_FLAG_CLR;//清除Timer1中断标志
TH1 = TH1_Reload;
TL1 = TL1_Reload;
//增计数到1s后,减;
//初值的定义,1s增,1s减,此为呼吸灯效果
time1_10ms++;
if(time1_10ms >= 100) //计数至10ms
{