//在需要延时处
...
T_count = 80;//80X25ms=2S,根据延时的长短改变T_count的值即可
TR0 = 1;//启动定时器
if(T_count > 0 )
{
return;// 否则直接返回,等待T_count==0
}
...;//后续代码
void timer0(void ) interrupt 1// 定时中断
{
TH0 = 0x3c;
TL0 = 0x0a8;
T_count--;
if(T_count == 0 )
{
TR0 = 0;
}
}
以下是引用sjpu在2004-4-23 11:39:13的发言: 实例//T0定时配置,每25mS中断一次 ... TMOD |= 0x60;//T0定时, TH0 = 0x3C; TL0 = 0x0B0;//T0定时周期为25ms,24Mhz晶振 ET0 = 1; EA = 1; ...
//在需要延时处 void timer0(void ) interrupt 1// 定时中断 |