什么是中断?单片机中断处理过程详解

描述

转自 | 嵌入式工程师

如果单片机没有中断,那么,单片机将失去灵魂。

单片机的中断具有非常重要的作用,那么,你知道它的执行流程是怎么样的吗?

1. 什么是中断

中断是指CPU在执行当前程序时系统出现了某种状况,使得CPU必须停止当前程序,而去执行另一段程序来处理的出现的紧急事务,处理结束后CPU再返回到原先暂停的程序继续执行,这个过程就称为 中断 。

使得计算机系统具备应对对处理突发事件的能力,使其能及时响应紧急事件。提高处理器效率,如果没有中断系统,CPU就只能按照原来的程序编写的先后顺序,对各个外设进行查询和处理,即轮询工作方式,轮询方法貌似公平,但实际工作效率却很低。

以下图片为中断现象在现实日常生活的类比实例:

中断处理

2. 单片机中断处理过程

单片机处理中断的过程大致可以分为以下几个步骤:

中断处理

中断请求:当外部设备对单片机产生中断请求时,单片机会在当前程序运行到一个合适的地方时响应这个中断请求。

中断检测:单片机通过检查中断请求寄存器,确定是否存在未处理的中断请求。

中断响应:一旦检测到中断请求,单片机会立即暂停当前的任务,保存当前的程序计数器值等关键信息,这样在中断处理完成后,可以返回到原来的程序继续执行。

中断处理:单片机根据中断源,执行相关的中断服务程序。这个过程也叫做中断服务例程。

中断返回:中断服务完成后,单片机恢复被保存的程序计数器值等信息,返回到原来的任务,继续执行被打断的程序。

3. 单片机中断处理的两个关键机制

而在具体实施中,有两个关键的机制,即中断使能和 中断优先级 。

中断使能:单片机可以通过中断使能寄存器来开启或关闭某个特定的中断源。只有被使能的中断才有可能被单片机响应。

中断优先级:当多个中断请求同时发生时,单片机会根据设置的优先级来选取处理哪个中断。具有高优先级的中断会优先得到处理。

这就是单片机处理中断的基本过程和相关机制。在具体的单片机中,这个过程可能会由于单片机的架构和性能等因素有所不同,但基本原理是相同的。

审核编辑:汤梓红

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分