c语言怎么写一个延时函数 c语言延时程序代码

C语言delay的延时函数怎么写

回答这个问题前提需要搞清楚:

成都创新互联公司基于分布式IDC数据中心构建的平台为众多户提供四川电信科技城机房 四川大带宽租用 成都机柜租用 成都服务器租用。

1.你的执行文件在那里运行?

2.你要延时是否“死等”,还是可以切换到其他任务?

-----------------------------------------------

如果你只是学习c语言,写个小函数玩玩,可以如下:

void delay(int time)

{

for(;time0;time--)

{

nop;//可写任何无意义的操作

}

}

死等型的延时,时间根据指令执行速度不同而不同!!!!

c语言自己怎么写延时函数

学过汇编你就会知道,每条指令都占一定的时间(或者机器周期)的,如果你让机器什么都不做,即空指令的话,机器就会延时,然后你在计算好每次延时到底有多长,外面套一个循环(或者多重循环),根据你想要的延时时间即可计算出来循环的次数,延时函数基本上都是这种原理,它的参数就是用来控制循环次数的。

c语言怎么写一个不占CPU资源的延时函数

如果是单片机上,是有可能的

单片机12m晶振执行一条指令1us,所以c语言1us延时程序

用12m晶振延时1us,用—_nop_();

#include

//头文件

_nop_();

//这一个语句表示1us延时

51单片机用c语言怎么写延时函数?

延时时间的计算与单片机的晶振频率有关。若晶振频率为12Mhz,那么单片机每震动一次所需要的时间是1/12M s。那么再来看看单片机执行一次自减所需要的振动次数是96次,假如我们对时间要求不是特别精确的话,可以约等于100来计算。现在通过上面两个数据可以得出:单片机每执行一次自减所需要的时间是1/12M *100(s),即1/120000 s,逆向计算一下,每1ms需要自减多少次?120次对吧。所以一个简单的延时功能就诞生了,我们只需要自减120次,就可以延时1ms,如果我们要延时50ms呢,那就自减50*120=6000次。那么在程序上如何表达呢?我们可以用两套for循环

void delay(int i){

int x,y;

for(x=i;x0;x--){

for(y=120;y0;y--)

}

}

参数 i 代表该函数延时多少ms


网页名称:c语言怎么写一个延时函数 c语言延时程序代码
分享路径:http://myzitong.com/article/ddeedhc.html