c语言延时1ms程序

c语言延时1ms程序,第1张

这个程序应该是板子上延时的程序。

a就是需要延迟的毫秒数(也可能是其他单位)。

就是说,执行 for(i=0i<600i++)的时间应该是一个单位长度(可能为1ms);

这样,你在调用的时候,赋值给a多少值,实际就是延时多少毫秒。

例如,延时10ms,就用

delay(10)

延时1ms,就用

delay(1)

#include<time.h>

#include<stdio.h>

void main()

{

clock_t start,finish

double durtion=0

printf("计时开始\n")

start=clock()

while(1-durtion>0.00001)

{

finish=clock()

durtion=(double)(finish-start)

}

printf("1ms计时完毕\n")

}

原理:两个时间差值是1ms就立即跳出while循环,C语言中时间分度值是ms

用汇编语言写可以精确计算,但有时想拼出整数的ms或10ms也不容易,计算方法如下图说明:

而C语言靠经验和实验得来的,如下面程序

如果不准(与晶振频率有关),调K的值,,软件仿真查看,直到大致准确,想更精确用定时器

void delay(unsigned char i)  //延时程序

{

unsigned char i,k

for(j=ij>0j--)

    for(k=125k>0k--)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12047096.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存