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

两者都可以起到延时的作用。写delay函数做延时,利用CPU处理很多循环,而每次处理一个循环就需要一个指令周期。定时器做延时时利用晶振的脉冲,计数器记录到溢出,而后可以做... 两者都可以起到延时的作用。写delay函数做延时,利用CPU处理很多循环,而每次处理一个循环就需要一个指令周期。定时器做延时时利用晶振的脉冲,计数器记录到溢出,而后可以做其他事情。在动态数码管输入扫描信号的时候为什么我们要用定时器做延时?这两种都延时方式有什么区别? 展开
 我来答
tony_sgt
2015-07-14 · TA获得超过8423个赞
知道大有可为答主
回答量:5330
采纳率:66%
帮助的人:1209万
展开全部
定时器的做法是在你的程序里还有其他事要做的情况下去设置的。也就是说设置了定时器后就可以去做其他事情了,delay就是不做事光用消耗的,消耗一定的时间后再去做其他事
百度网友b12a2e039
推荐于2018-01-05 · TA获得超过1533个赞
知道小有建树答主
回答量:819
采纳率:0%
帮助的人:692万
展开全部
利用循环处理的方式实现的延时,并不精确。
1、当中断发生时,CPU被打断先执行中断服务。导致执行时间变长。
2、使用高级语言时,编译的结果受优化等级等多方面因素干扰,难以计算。

3、在有MMU和Cache的MCU中,指令的执行速度还会受到缓存的影响。
利用定时器延时:
1、因为定时器累加与CPU无关,即使中断,仍然会保持计数。不受上述问题影响
2、缺点需要占用定时器资源。
3、功耗也会高一些
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式