单片机定时与延时的区别,单片机定时与延时的区别 5

2021-01-13 06:26:56 字数 2339 阅读 9423

1楼:牵着你的手

定时,是指在做一件事情过程中,后台有个计时器,预定时间到后触发另一项工作。

延时,是指在做一件事情过程中,保持一种工作状态的时间。

利用循环处理的方式实现的延时,并不精确。

1、当中断发生时,cpu被打断先执行中断服务。导致执行时间变长。

2、使用高级语言时,编译的结果受优化等级等多方面因素干扰,难以计算。

3、在有mmu和cache的mcu中,指令的执行速度还会受到缓存的影响。

利用定时器延时:

1、因为定时器累加与cpu无关,即使中断,仍然会保持计数。不受上述问题影响

2、缺点需要占用定时器资源。

3、功耗也会高一些。

2楼:

定时用的硬件定时器控制,延时,用的是延时子程序,就是软件编程

3楼:紫啸清风

定时会进入中断,中断有中断子程序,定时的使用必须设定ie寄存器,trx=1即可定时,进入子程序后定时必须重装计数值,而延时,可认为就是一段空指令来浪费时间,延时也可把你的程序放到中断定时子程序中达到延时效果!

51单片机软件延时和定时器的区别

4楼:mrs鹿大大

区别就是用单片机软件定时,cpu循环执行一小段延时程序,浪费cpu的精力,用定时器定时,cpu就可以干别的。

如果是程序延时的话,时间消耗在(延时程序+剩下的**);计时器中断则相当于把延时程序交给定时器,此时cpu可以干别的事情,提高了效率。就类似于电脑打游戏时把图形处理任务交给显卡,cpu的压力就小。

单片机进中断后执行中断里的程序,比如你进定时中断,执行完后退出中断后做其他事,但定时还在计数,这样计数和做其他事情两不误。

你的程序中本来就没做其他事情,你的led移动就是等待中断计数到10才操作的,led动作的先决条件就是中断计数结束。

扩展资料

1、软件循环延时:采用循环语句,如for,while等,进行长时间的空操作,或者空语句。

优点:程序理解简易,入手快,新手必备**。

缺点:时间精度不高,且占用单片机大量时间资源,引发其它子函数的不流畅(卡滞、迟钝),导致系统实时反应能力下降。

2、定时延时:采用定时器定时,如t0,t1;

优点:时间精度高,提高系统程序执行的高效性,不影响子函数的正常运行。

缺点:需占用1个定时器资源(可以复用),需良好程序构架支持,入手难。

个人建议:一旦学会定时器,就不应该再使用“循环延时”函数,采用定时器才是正道。如果对延时精度要求不高,建议使用结构体组成多个延时体。

5楼:匿名用户

单片机进中断后执行中断里的程序,比如你进定时中断,执行完后退出中断后做其他事,但定时还在计数,这样计数和做其他事情两不误。

你的程序中本来就没做其他事情,你的led移动就是等待中断计数到10才操作的,led动作的先决条件就是中断计数结束

6楼:做而论道

用软件定时,cpu 循环执行一小段延时程序。

浪费 cpu 的精力。

用定时器定时,cpu 就可以干别的。

7楼:寂寞小鸟

如果是程序延时的话,时间消耗在(延时程序+剩下的**);计时器中断则相当于把延时程序交给定时器,此时cpu可以干别的事情,提高了效率。就类似于电脑打游戏时把图形处理任务交给显卡,cpu的压力就小了。

8楼:匿名用户

进入中断后执行i++后就出来了。然后在主函数while(1)中执行。此时while(1)执行很多次,然后再进入中断,直到进10次才左移。

如果用延时,灯闪一次while(1)才允许一次。你程序少没感觉,如何你该一下没用8s控制一个灯闪,10s控制宁一个灯闪.延时就不太好做。

单片机中用写delay函数做延时和用定时器做延时有什么区别?

9楼:匿名用户

利用循环处理的方式实现的延时,并不精确。

1、当中断发生时,cpu被打断先执行中断服务。导致执行时间变长。

2、使用高级语言时,编译的结果受优化等级等多方面因素干扰,难以计算。

3、在有mmu和cache的mcu中,指令的执行速度还会受到缓存的影响。

利用定时器延时:

1、因为定时器累加与cpu无关,即使中断,仍然会保持计数。不受上述问题影响

2、缺点需要占用定时器资源。

3、功耗也会高一些

10楼:

定时器的做法是在你的程序里还有其他事要做的情况下去设置的。也就是说设置了定时器后就可以去做其他事情了,delay就是不做事光用消耗的,消耗一定的时间后再去做其他事

及时与按时的区别,及时与准时有什么区别?

1楼 匿名用户 及时 是最快去做某事 按时 是按照计划去完成某事 2楼 匿名用户 及时的现象在很多大片里可以看到,当炸弹快要炸的时候,当人头快要落地的时候,当男主角快要被击溃的时候,在这千均一发的时刻出现的人和事,制止了惨剧的发生,我们就说这个人 这个行为措施是非常及时。不早也不晚,早了叫无趣,迟了...

血浆凝血酶原时间测定与凝血酶时间测定有什么区别

1楼 匿名用户 楼主您好 1 凝血酶时间是反映的体内抗凝物质,所以它的延长说明纤溶亢进,测定的是加入标准化凝血酶后纤维蛋白的形成时间,所以在低 无 纤维蛋白原症,dic以及类肝素物质存在 如肝素 ,sle和肝脏疾病等 时出现延长。 2 凝血酶原时间是反映外源凝血系统的筛选实验,是在体外模拟体内凝血过...

arduino单片机上模拟口a0到a5的区别

1楼 除了a4 a5脚可以作为sda,scl用于iic通信中,其他确实没区别,具体可参考mcu的手册 2楼 匿名用户 他们做模拟口的时候没有差别 arduino中的模拟接口a0 a5可以 当数字接口用吗 3楼 福喜 如果你使用arduino ide来开发程序,那么a0 a5接口不可以简单的当数字接口...