#include <REGX52.H>
unsigned int T0Count;
int i;
void Timer0_Init()
{
P2_0=0;
TMOD=0X01;//0000 0001
TF0=0;
TR0=1;
TH0=0xFB;
TL0=0xAE;
ET0=1;
EA=1;
PT0=0;
}
void main()
{
Timer0_Init();
while(1)
{
if(i==5)
{
P2_0=1;
if(T0Count==3000)
{
i=0;
T0Count=0;
}
}
else
{
if(T0Count==200)
{
P2_0=1;
}
if(T0Count==400)
{
P2_0=0;
T0Count=0;
i++;
}
}
}
}
void Timer0_Routine() interrupt 1
{
TH0=0xFB;
TL0=0xAE;
T0Count++;
}
我的要的效果是闪烁五次之后熄灭一段时间,但是从第二次循环之后只能闪烁四次然后熄灭一段时间,请问各位前辈,我的程序中哪里有问题,谢谢您的帮助!