51单片机中断的理解?

请教下51单片机的中断问题,把TMOD和TCON,IE寄存器的作用都了解了,执行中断需要操作什么位都了解了,但是就是不知道这个中断的意义何在啊,数码管显示通过位移函数和延... 请教下51单片机的中断问题,把TMOD和TCON,IE寄存器的作用都了解了,执行中断需要操作什么位都了解了,但是就是不知道这个中断的意义何在啊,数码管显示通过位移函数和延迟函数就可以显示和控制时间,写个中断是什么意思啊?那个高手可以给个具体的例子啊?
想了下,是不是这样?
我想我控制数码管显示,2S变化一次,先使用延迟函数可以得到目的,CPU会单独计算2S是多久,然后才变化;我用中断控制,或者说就是让板子本身的机器周期去核算多少个机器周期是2S,然后在回到主程序继续运行?是不是这个道理呢?
展开
 我来答
百度网友4309011
推荐于2017-09-23 · TA获得超过7203个赞
知道大有可为答主
回答量:1534
采纳率:66%
帮助的人:1019万
展开全部
  如果你单就是让单片机显示数码管的数字用不用中断都无所谓,但是普遍来讲,单片机都是有主要任务的,而显示只不过是人机界面而已,在一个中大型程序里显示不能算主要任务。那么这个时候就不能在用延时来显示了。
  CPU在一个单位时间内只能做一件事,我们看CPU那么强大是因为他做事非常快,以至于我们误认为他是同时在做很多事。在延时程序中,CPU啥事都不干,就光等着,在等的时候是不会执行下一条命令的。但是利用定时器中断就不一样了。定时器是硬件实现的,因此和CPU是异步的,如果利用定时器让cpu在每时间t后的定时器中断里做一件事,在这个时间t内cpu是可以做其他事的,不然怎么叫异步呢?
  再回来看你这个问题,我们假设这个单片机是产生PWM脉冲控制电机的,同时利用lcd做显示,很明显只能使用定时器利用中断使输出脚每次取反。因为如果你用延时,那么在执行显示模块的时候,执行显示的期间,会延长pwm引脚的电平时间,你的pwm脉冲就走样了。正确的做法是,每次要显示的数值变化时触发标志位,然后main函数不断循环对比标志位是不是1,如果是1则进入lcd显示的程序。因此主程序根本就没有pwm的任务,pwm的生成全权交给了定时器。
  再举一个例子,假设有一个急停按键,利用外部中断,当按下这个按键,执行器立即停止。利用中断自然啥事没有。如果不用中断,靠程序本身的大循环那我就呵呵了,如果这期间一个命令要用3s的时间,那你的急停按键按下后要3s才能让cpu停止执行器,已经没有急停的意义了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式