模板:单片机延时方法

依靠执行空语句和单片机内部资源定时器延时的方法:

查看代码
 //延时函数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);

 

 

posted @ 2022-08-08 11:44  iZJ"Qq4577105  阅读(147)  评论(0编辑  收藏  举报