void timeT1()interrupt 3
{
TR1=0;
TH1=0xff; //0.0005s
TL1=0xa3;
TR1=1;
if(flash3_d==1) // PWM on
{
PWM=1;
counter3++;
if(counter3>=counter2)
{
counter3=0;
PWM=0;
flash3_d=2;
}
}
if(flash3_d==2) // PWM off
{
PWM=0;
counter3++;
if(counter3>=(10-counter2))
{
counter3=0;
PWM=1;
flash3_d=1;
}
}
}
TH1是定時器1的高八位,TL1是定時器1的低八位,高八位赋值0xff,低八位赋值0xa3,0xff和0xa3是根据单片机频率和所需要定时时间计算而来的。