首页 理论教育 单片机应用技术:理解和应用中断

单片机应用技术:理解和应用中断

时间:2023-11-06 理论教育 版权反馈
【摘要】:没有中断技术,CPU的大量时间可能浪费在原地踏步的操作上。当几个中断源同时向CPU请求中断,要求CPU提供服务时,就存在CPU优先响应哪一个中断请求源的问题。没有中断嵌套功能的中断系统称单级中断系统。8051单片机的5个中断源分两个优先等级,可实现两级中断嵌套。图5.9中断流程图5.10两级中断嵌套的中断过程中断方式的另一个应用领域是实时控制。图5.11MCS-51单片机的中断系统结构示意图

单片机应用技术:理解和应用中断

现代的计算机都具有实时处理能力,能对外界发生的事件做出及时的处理,这是利用中断技术来实现的。

所谓中断是指中央处理器(CPU)正在处理某件事件时,外部发生了某一事件(如一个电平的变化,一个脉冲沿的发生,或定时器计数溢出等)请求CPU迅速去处理。于是,CPU暂时中断当前的工作,转入处理所发生的事件;中断服务处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断,如图5.9所示。实现这种功能的部件称中断系统(中断机构),产生中断的请求源称中断源。

为帮助读者理解中断操作,这里作个比喻,把CPU比作正在写报告的某公司的总经理,将中断比作电话呼叫,总经理的主要任务是写报告,可是如果电话铃响了(一个中断),总经理写完正在写的字或句子,然后去接电话;听完电话以后,她又回来从打断的地方继续写。在这个比喻中,电话铃声相当于向总经理请求中断。

这个简单的比喻说明了中断功能的重要性。没有中断技术,CPU的大量时间可能浪费在原地踏步的操作上。

一般计算机系统允许有多个中断源,8051单片机就有5个中断源。当几个中断源同时向CPU请求中断,要求CPU提供服务时,就存在CPU优先响应哪一个中断请求源的问题。一般根据中断源(所发生的实时事件)的轻重缓急排队,优先处理最紧急事件的中断请求,于是一些微处理器和单片机规定了每个中断源的优先级别。

当CPU正处理一个中断请求,又发生了另一个优先级比它高的中断请求,CPU会暂时中止对当前中断的处理,转而去处理优先级更高的中断请求,待处理完以后,再继续执行原来的中断处理程序,这样的过程称中断嵌套,这样的中断系统称多级中断系统。没有中断嵌套功能的中断系统称单级中断系统。8051单片机的5个中断源分两个优先等级,可实现两级中断嵌套。两级中断嵌套的中断过程如图5.10所示。

图5.9 中断流程(www.xing528.com)

图5.10 两级中断嵌套的中断过程

中断方式的另一个应用领域是实时控制。将从现场采集到的数据通过中断方式及时地传送给CPU,经过计算后就可立即作出响应,实现现场控制,而采用查询方式就很难做到及时采集,及时控制。

由于外界异步事件中断CPU正在执行的程序是随机的,CPU转向去执行中断服务程序时,除了硬件会自动把断点地址(16位PC程序计数器的值)压入堆栈之外,用户还得注意保护有关工作寄存器、累加器、标志位等信息(通常称保护现场),以便在完成中断服务程序后,恢复原工作寄存器、累加器、标志位等的内容(称恢复现场);最后执行中返回指令,自动弹出断点到PC,返回主程序,继续执行被中断的程序。

MCS-51单片机的中断系统结构示意图如图5.11所示。下面从应用的角度来说明MCS-51单片机的中断系统工作过程。

图5.11 MCS-51单片机的中断系统结构示意图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈