前面讲了许多51单片机的外设部分,大致有一些芯片,以及元器件。而这篇博文就走进单片机内设——中断系统。
首先,搞清楚什么是中断?
引用资料书的话:对于单片机而言,中断是指CPU在处理某一件事A时,发生了另一件事B,请求CPU迅速去处理(这个过程是“中断发生”);此时,CPU暂时停止当前的A事件(这个过程是“中断响应”),转去处理B事件(这个过程是“中断服务”);待CPU将B事件处理完毕后,再回到事件A被中断打断的地方继续处理事件A(这个过程是“中断返回”)。这一过程,称之为中断。其流程图如下所示:
其中,主程序为上述所说的A事件,中断请求由B事件发出。
再来引出一个生活中的例子:
首先,我们会知道有一个重要的人会在中午正餐的时间打电话过来。而在正餐时间中,我们主要进行的事件是“吃饭”(A事件)。在这过程中,突然有一个重要的人来了一个电话(事件),那么我们放下碗筷(停止A事件)去接电话(做B事件,也就是处理中断程序),直到我们电话打完之后,再重新去拿起碗筷(沿着没有执行完A事件的断点再执行下去)。这样的一个过程,实际上就发生了一次中断。其实,在我们吃饭的时候,有电话打过来的这个事件(B事件)是一定会发生的,只是我们不知道它会在哪个准确的时间发生而已。
这里需要留意的是:
*1、*A不是中断程序;若A是中断程序,那又会是另外的情况。
2、我们并不知道B事件是什么时候发生,但是跟据中断的概念我们知道,只要B事件发生,单片机就会停止当前的事情,马上去处理B事件。
对于第1点:因为单片机的中断源(能诱导发生B事件【或者说是中断事件】的源头)不止一个(在上述例子中,“中午一定会有电话打过来”便是事件的诱导),例如STC89C52单片机中断源就有6个,所以我们得按优先级(重要性)给它们排序。
回到上面所说,在吃饭时,假如有两个人打来电话,一个是普通的同学(B事件),一个是伴侣(C事件)。那一般情况下,我们会首先和伴侣打电话(处理C事件),其次再去和同学打电话(B事件),这种处理事件顺序的缘由是因为在中断系统中,对于不同的中断源有默认的优先级(当中断源同时产生时,先处理优先级高的中断源所诱导发生的事件):
而对于上面所提到“一般情况”,那一定会又特殊情况,假如打电话过来的普通同学有更重要的事情要告诉我们,那我们就会先处理B事件,再去处理伴侣的C事件,这就需要我们设定优先级,在哪里设定优先级?——在“中断优先级寄存器 IP ”中设中断源的优先级you,而要让程序有机会出产生中断,则要设定另一个寄存器——“中断允许寄存器 IE ”(就好比,我们要想能去接电话处理B、C等事件的前提是,我们的手机得处于开机的状态!)。
综上,中断的一些简要的概念便如上所述!
上一篇:51单片机中断详解(中)
下一篇:51单片机中断详解(下)
推荐阅读最新更新时间:2024-03-16 16:08
设计资源 培训 开发板 精华推荐
- 柔灵科技陈涵:将小型、柔性的脑机接口睡眠设备,做到千家万户
- 微灵医疗李骁健:脑机接口技术正在开启意识与AI融合的新纪元
- USB Type-C® 和 USB Power Delivery:专为扩展功率范围和电池供电型系统而设计
- 景昱医疗耿东:脑机接口DBS治疗技术已实现国产替代
- 首都医科大学王长明:针对癫痫的数字疗法已进入使用阶段
- 非常见问题解答第223期:如何在没有软启动方程的情况下测量和确定软启动时序?
- 兆易创新GD25/55全系列车规级SPI NOR Flash荣获ISO 26262 ASIL D功能安全认证证书
- 新型IsoVu™ 隔离电流探头:为电流测量带来全新维度
- 英飞凌推出简化电机控制开发的ModusToolbox™电机套件
- 意法半导体IO-Link执行器电路板为工业监控和设备厂商带来一站式参考设计