延时程序几乎在每个单片机程序中都能看到,一个延时程序的好坏直接影响单片机的运行效率,不同的软件工程师使用同样的编程工具实现同样的功能,程序的效率、代码的大小、可移植性是完全不一样的。跟大家分享一下下面的延时程序:
#include "reg52.h"
sbit P10=P1^0;
//*********延时子程序******
void delay0(unsigned int i)
{
while ((i--)!=1 ); // 延时10*i个机器周期
}
//*********延时子程序******
void delay1(unsigned int i)
{
while ( --i ); // 延时8*i+2个机器周期
}
//*********延时子程序******
void delay2(unsigned int i)
{
while ( i-- ); // 延时(i+1)*9+2个机器周期
}
//*********延时子程序******
void delay3(unsigned char j)
{
while ( --j ); // 延时2*j+1个机器周期
}
//*********延时子程序******
void delay4(unsigned char j)
{
while ( j-- ); // 延时(j+1)*6+1个机器周期
}
///
// KeilC51精确延时小程序
// 应用平台:51单片机
// 外部晶振:11.0592MHz
// 在C平台下编写代码,通过看汇编代码,一点一点把时间抠准.
//一