模板:单片机延时方法
依靠执行空语句和单片机内部资源定时器延时的方法:
查看代码
//延时函数1 此循环嵌套的方法 由于无符号型int范围为0-65535当延时久的时候,就不用写long类型了,减少内存
void delay(unsigned int xms)
{
unsigned int j,k;
for(j=0;j<xms;j++)
for(k=0;k<100;k++);
}
//延时函数2
void delay(unsigned long xms)
{
unsigned long k=0;
xms=xms*10000;
for(k=0;k<xms;k++);
}
//延时函数3
void delay(unsigned int i)
{
while(i)
i--;
}
//查询方式延时(最稳)
void main(){
TMOD=0X01;
TH0=0XEE;
TL0=0X00;
TR0=1;
while(1){
/*....动作....*/
}
}
void delay(unsigned int sec)
{
unsigned int i=0;
while(i<sec*200){
TH0=0XEE;
TL0=0X00;
TR0=1;
while(!TF0);
TF0=0;
i++;
}
}
依靠单片机库函数方法:
使用带上头文件 #include <windows.h> 注意: 在VC中Sleep中的第一个英文字符为大写的"S" 在标准C中是sleep, 不要大写.
具体用什么看你用什么编译器. 简单的说VC用Sleep, 别的一律使用sleep。Sleep函数的一般形式: Sleep(unisgned long);
其中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000);
作者QQ4577105