设8051单片机的晶振频率为4MHZ,编写延时一分钟的子程序问题

求大神给力,设8051单片机的晶振频率为4MHZ,编写延时一分钟的子程序

第1个回答  2013-06-28
#include<reg52.h>
unsigned int i=0;
void main()
{
TMOD=0x01;
TH0=0x7d; //定时100ms
TL0=0xca;
ET0=1;
EA=1;
TR0=1;
while(1);

}

void timer0() interrupt 1
{ TH0=0x7d;
TL0=0xca;
i++;
if(i==600)
{
i=0;
P0=~P0; //可修改为你想要的功能
}

}
第2个回答  2013-06-28
如果精度要求不太高的话试一试以下程序,希望有帮助,请参考。
void Delay()
{
unsigned int i,j;
for(i=0;i<1500;i++)
for(j=0;j<2550;j++);
}本回答被网友采纳
第3个回答  2013-06-28
delay1m:
mov r2,#200
delay1:
mov r3,#200
delay2:
mov r4,#250
djnz r4,$
djnz r3,delay2
djnz r2,delay1
ret
误差率为0.4%本回答被提问者采纳