在单片机AT89C51芯片中,设计一个一秒的延时程序,有多少种方法,具体如何?
在单片机AT89C51芯片中,设计一个一秒的延时程序,有多少种方法,具体如何?
日期:2013-11-11 14:13:25 人气:1
比较常用的有两种
一种比较简单的就是粗略的软件延时;
如:
void delay_1s(void)
{
unsigned char i,j;
for(i=0;i<128;i++)
for(j=0;j<254;j++);
}
这种通过调整i和j的最终值来确定延时时间,没有办法精确计算的。
另一种,做比较精确的延时,使用89C51的定时器来做
当AT89C51使用12M的晶体时,机器周期刚好是1us.用定时器非常好计算,非常精确,一月偏一秒都可以做