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

想请问下请教一下大神们,进入中断的时候,MCU在干什么?定时器不是可以提高MCU的效率吗?但我怎么觉得,他怎么还是在干等呢,它好像也是在等定时器数完计数器里面的数,才执行... 想请问下请教一下大神们,进入中断的时候,MCU在干什么?定时器不是可以提高MCU的效率吗?但我怎么觉得,他怎么还是在干等呢,它好像也是在等定时器数完计数器里面的数,才执行LED左移的啊,那和下面这个程序的区别是什么??? 展开
 我来答
六斤阿婆
2019-07-13 · TA获得超过2355个赞
知道答主
回答量:32
采纳率:0%
帮助的人:1.2万
展开全部

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

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

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

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

扩展资料

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


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


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


2、定时延时:采用定时器定时,如T0,T1;


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

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


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

参考资料:百度百科-单片机原理

参考资料:百度百科-定时延时

匿名用户
推荐于2017-12-15
展开全部
单片机进中断后执行中断里的程序,比如你进定时中断,执行完后退出中断后做其他事,但定时还在计数,这样计数和做其他事情两不误。
你的程序中本来就没做其他事情,你的LED移动就是等待中断计数到10才操作的,LED动作的先决条件就是中断计数结束
更多追问追答
追问
亲,首先谢谢您无私的奉献,小弟还有一点不理解,就上面的这个程序,在第一次进入中断定时器数数的时候,主程序在干什么?  好像什么也没有做,在等呢?是不是这样?
追答
下面的程序就不一样了,没进中断时执行主循环,有中断就进中断,中断执行完再回到中断前主程序执行的位置

进中断后,主程序就等啊,等中断退出才回到主程序
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2014-08-09 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
用软件定时,CPU 循环执行一小段延时程序。
浪费 CPU 的精力。

用定时器定时,CPU 就可以干别的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寂寞小鸟99
2019-03-01 · TA获得超过180个赞
知道答主
回答量:150
采纳率:0%
帮助的人:24.2万
展开全部
如果是程序延时的话,时间消耗在(延时程序+剩下的代码);计时器中断则相当于把延时程序交给定时器,此时CPU可以干别的事情,提高了效率。就类似于电脑打游戏时把图形处理任务交给显卡,CPU的压力就小了。
追答

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lujianhuai
2014-08-09 · 超过41用户采纳过TA的回答
知道答主
回答量:202
采纳率:0%
帮助的人:93.8万
展开全部
进入中断后执行i++后就出来了。然后在主函数while(1)中执行。此时while(1)执行很多次,然后再进入中断,直到进10次才左移。如果用延时,灯闪一次while(1)才允许一次。你程序少没感觉,如何你该一下没用8S控制一个灯闪,10S控制宁一个灯闪.延时就不太好做。
追问
亲,谢谢您耐心的解答,  问下,您最后一句话,是什么意思??  我就是不理解,我上面的那个程序,在进入中断定时函数的时候,主函数好像还是在等啊,   这和下面那个用软件延时的函数比起来,  下面那个函数好比是在等的时间内还在数数,   是这样理解吗?
追答
下面那个函数在等待的时间久是一值在运行delay(100)的函数。上面从中断出来后是在while(1)里不停的循环在不停的判断i=10;上面运行一个while(1)只需要1个机械周期
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式