c语言延时的计算?

c语言延时的计算?,第1张

算法是这样的:

这个用编译软件,如keil,编译通过之后,进入软件调试功能,就可以测出来是延时多少秒。

具体我帮你调试过了,如果单片机接12mhz晶振的话,这个是延时0.2秒的子程序。你调用一次delay();就延时0.2秒。

请选为最佳答案哦亲。

你好:

如果你想直接知道答案,那么我告诉你,12MHz晶振:

void delayms(unsigned int t)

{

unsigned int i,j

for(i=ti>0i--)

for(j=123j>0j--)

}

能精确到1ms。

如果是11.0592MHz晶振,只需把上面的“j=123”改为“j=114”,都是调试过的,没问题。

然后你要想知道是怎么调试的,很简单,打开uv2编程软件,在最上边的工具栏里边有个“Debug”,点击后出现下拉菜单,选择第一个“start/stop Debug Session”,然后在最右边有一个Watch栏,有两个项目,一个是“Register”,一个是“value”,然后在“Register”栏下边的“Sys”里边有个“sec”,你只要单击“Step over”运行程序并观察“sec”的值就能调试出你程序的执行时间了。

注意,一定要先选择晶振频率,不然会默认24MHz。

希望我的回答能帮助到你。

C语言delay函数延时计算源代码如下:

#include "stdlib.h"

void delay()

{

time_t start,end

start=time(null)

unchar i

while(z--)

{

for(i=0i&lt121i++)

}

end=time(null)

printf("%f",difftime(end,start))

}

扩展资料

1、对于要求精确延时时间更长,这时就要采用循环嵌套的方法来实现,因此,循环嵌套的方法常用于达到ms级的延时。

对于循环语句同样可以采用for,do…while,while结构来完成,每个循环体内的变量仍然采用无符号字符变量。


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

原文地址: https://outofmemory.cn/yw/11929542.html

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

发表评论

登录后才能评论

评论列表(0条)

保存