中断里边定义个变量
ulong Counter = 0,DelayTime;
sbit TimeFlag = 0;
void Timer0(void) interrupt 1
{
Counter++;
if(Counter == DelayTime)TimeFlag = 1;
}
delay(ulong i)
{
EA = 0;
TimeFlag = 0;
DelayTime = Counter+i+1;
EA = 1;
}
void main(void)
{
delay(10);
while(1)
{
..............
..............
if(TimeFlag)break;
}
}
|