delay函数是一个自己定义的延时函数,C语言定义延时函数主要通过无意义指令的执行来达到延时的目,并没有一个软件自带头文件专门有delay这个函数的。
成都创新互联于2013年创立,先为硚口等服务建站,硚口等地企业,进行企业商务咨询服务。为硚口企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
单片机c语言中delay()的使用:
voidDelay10us(ucharMs)
{
uchardatai;
for(;Ms》0;Ms--)
for(i=26;i》0;i--);
}
i=[(延时值-1.75)*12/Ms-15]/4
扩展资料
把delay(10000)改为100000
voidmain()
{
inti;
charstr[]="whatareyoufuckingdoing?";
intlen=sizeof(str)/sizeof(char);
for(i=0;ilen;i++)
{
if(str[i]!=''str[i]!='\0')
{
delay(100000);
}
delay(100000);
printf("%c",str[i]);
}
getch();
}
C语言的延迟函数一般是利用无意义程序运行来控制时间从而达到延时的目的
举个例子:
for(i=0;ix;i++)
for(j=0;j120;j++);
这是延时x毫秒的for循环语句。
值得注意的是记得最后的;一定得记得写。
标准库的time.h里有几个时间函数,先教你个实用的把
time_t time (time_t *timer)
计算从1970年1月1日到当前系统时间,并把结果返回给timer变量,函数本身返回的也是这个结果.time_t这个类型其实就是一个int.
double difftime ( time_t timer2, time_t timer1 )
把返回time2和time1所储存的时间的差.
利用上面这两个函数可以计算某阶段程序运行用掉的时间.
例如:
#include stdio.h
#include time.h
int main ()
{
time_t start,end;
char szInput [256];
double dif;
time (start);
printf ("Please, enter your name: ");
gets (szInput);
time (end);
dif = difftime (end,start);
printf ("Hi %s.\n", szInput);
printf ("You have taken %.2lf seconds to type your name.\n", dif );
return 0;
}
输出如下:
Please, enter your name: Juan Soulie
Hi Juan Soulie.
You have taken 3.00 seconds to type your name.
单片机的C语言关于延时函数主要有两种
一种是用for循环,通过单片机执行空指令达到延时的目的
如:
for(i=0;i100;i++)
{
;
}
这个简单的语句会执行100次空指令
每一次指令的时间可以大概确定
因此这个是最简单的延时函数
第二种是通过定时器的方式来实现
定时器是通过对单片机的晶振进行计数
然后在定时器中断服务函数里面实现定时时间的计算及设置
51单片机的定时器0中断服务函数为
void
time0()
interrupt
1
{
...
}
delay();
延时函数 单位是介于 毫秒和纳秒之间。 我亲测得。
调用时要加载 dos.h库
延迟函数,一般建议调用系统函数。不建议循环。
特别是多任务操作系统,循环会消耗系统资源。
如果是Dos,indows,linux系统建立调用 Sleep()函数。
其他系统,请自行查找。