延时子程序实现原理

延时子程序实现原理,第1张

1、比较死板的方法是自己写一个delay函数,里面用for,while等做一些循环,下面是1ms的延时函数

void

delay1ms(void)

{

unsigned

char

i,j

for(i=0i<10i++)

for(j=0j<33j++)

}

具体算法是//(3j+2)*i=(3×33+2)×10=1010(us),但精确度不高,如果想准确点可以调节相应的参数用示波器来实

现,上面的函数适用于程序简单,对时间性要求不高,如:点led灯,单个按键 *** 作等等。

2,就是用定时器中断里面设定标志位来产生延时的方法,比如你可以把定时器设定洞扒为每1ms进一次中断,在中断里面

把一个标志位(如flag)置一

当你需要1ms延时的时候你可以先初始化定时器,然乎颤乎后查询标志位是否置一,置一则执行if后面的语句,即if(fla{}

当你需要10ms延时时,你可以把flag设置为uchar,中断里面flag++外面查询用if(10==flag){}

以此类推,上面的岁悉方法精确度高适用地方。

c语言延迟函数原理:

延迟函数里执行的都是空语句,也就是说通过循环执行空语句来达到延迟的目的.每执行一条语句,即使是空语句都要耗费电脑一些处理时间的,就是因为这个,在延迟函数里写一些无关紧要的东西,用来浪费电脑处理时间,从而达到延迟目的。

函数名:

delay

能:

将程序的执行启族暂停一段困指时间(毫秒)

(该函数是TC下特有的函数,VC下应使用Sleep()函数)

汪旁配用

法:

void

delay(unsigned

milliseconds)

程序例:

/*

Emits

a

440-Hz

tone

for

500

milliseconds

*/

#include

int

main(void)

{

sound(440)

delay(500)

nosound()

return

0

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存