嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读 > 单片机是如何处理中断的

单片机是如何处理中断的

关注+星标 不错过任何一次推送!

1. 什么是中断

中断是指CPU在执行当前程序时系统出现了某种状况,使得CPU必须停止当前程序,而去执行另一段程序来处理的出现的紧急事务,处理结束后CPU再返回到原先暂停的程序继续执行,这个过程就称为中断。使得计算机系统具备应对对处理突发事件的能力,使其能及时响应紧急事件。提高处理器效率,如果没有中断系统,CPU就只能按照原来的程序编写的先后顺序,对各个外设进行查询和处理,即轮询工作方式,轮询方法貌似公平,但实际工作效率却很低。

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

2. 单片机中断处理过程

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

⏩ 中断请求:当外部设备对单片机产生中断请求时,单片机会在当前程序运行到一个合适的地方时响应这个中断请求。⏩ 中断检测:单片机通过检查中断请求寄存器,确定是否存在未处理的中断请求。⏩ 中断响应:一旦检测到中断请求,单片机会立即暂停当前的任务,保存当前的程序计数器值等关键信息,这样在中断处理完成后,可以返回到原来的程序继续执行。⏩ 中断处理:单片机根据中断源,执行相关的中断服务程序。这个过程也叫做中断服务例程。

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

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

而在具体实施中,有两个关键的机制,即中断使能和中断优先级。
  • 中断使能:单片机可以通过中断使能寄存器来开启或关闭某个特定的中断源。只有被使能的中断才有可能被单片机响应。
  • 中断优先级:当多个中断请求同时发生时,单片机会根据设置的优先级来选取处理哪个中断。具有高优先级的中断会优先得到处理。

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

往期推荐

● 

● 

● 

● 

● 

● 

● 

● 

扫二维码|关注我们

微信号|andyxi_linux

专注于嵌入式开发技术

分享、在看与点赞

只要你点,我们就是胖友