有一个小软件很方便的,(单片机小精灵)例如0.5S即500MS延时,在12MHz晶振时对于普通C51的12T单片为:
void delay(void) //误差 0us
{
unsigned char a,b;
for(b=71;b>0;b--)
for(a=2;a>0;a--);
}
对于STC等1T单片机为:
void delay(void) //误差 0us
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=222;b>0;b--)
for(a=12;a>0;a--);
}
希望能帮到你。
。。。多看看书吧,很简单的延时程序,根据晶振频率循环次数。。。你可以用keil仿真看一看,怎么说呢,就不给你写代码了。自己好好看书
直接延时啊,用代码,执行加减,或者用定时计数器。