求10分钟8051延时程序?
怎样编写8051 10分钟的延时程序?下面可以吗?void Delay10() // 延时,系统主频为11.0592MHz
{
// while(flag!=0)
for (c=0;c<=10;c++)
{
TMOD=0x01;//设置定时器0为工作方式1
TH0= 0xB1;
TL0=0xEB;
IE =0x81; //开IE中断允许控制寄存器。其中包括EA EX0 EX1 ET0 ET1 ES
// EA=1;//开总中断,EA(IE.7)CPU中断运行总控制位
ET0=1;//开定时器0中断
TR0=1;//启动定时器0
}
}
void Time0(void) interrupt 1 using 1
{
TH0=0xB1; //20 ms断点 (1)
TL0=0xDF; //设定时值
MScond= MScond+ 1;
if(MScond == 50)
{
MScond=0;
Scond= Scond+ 1;
if (Scond == 60)
{
Scond=0;
}
}
} 初始化一次就好了,没必要for (c=0;c<=10;c++) 吧! 试试下这个程序,没有用中断,只是普通的延时程序;
void delay(void)
{
unsigned char a,b,c,d;
for(d=89;d>0;d--)
for(c=155;c>0;c--)
for(b=133;b>0;b--)
for(a=162;a>0;a--);
}
页:
[1]