最好直接利用定时器延时,定时1毫秒,程序中调用延时函数就行了,Delay(100):
uint count; //定义外部变量
Delay( uint k) // 延时函数
{ count = k;
while(count!=0) ;
}
TIME0() interrupt 1 // 定时器0中断函数
{ TH0 = 0XFC;
TL0 = 0X18;
count--;
}
main(){ TMOD=0x01;//设置定时器0为工作方式1
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR1=1;
........
}
void time0() interrupt 1
{
TH1=(65536-20000)/256;
TL1=(65536-20000)%256;
tt++;
if(tt==2)
{
.....
}
}
单片机型号不一样,每条指令周期不一样的