控制/MCU
1. 什么是中断
中断是指CPU在执行当前程序时系统出现了某种状况,使得CPU必须停止当前程序,而去执行另一段程序来处理的出现的紧急事务,处理结束后CPU再返回到原先暂停的程序继续执行,这个过程就称为中断。使得计算机系统具备应对对处理突发事件的能力,使其能及时响应紧急事件。提高处理器效率,如果没有中断系统,CPU就只能按照原来的程序编写的先后顺序,对各个外设进行查询和处理,即轮询工作方式,轮询方法貌似公平,但实际工作效率却很低。
以下图片为中断现象在现实日常生活的类比实例:
2. 单片机中断处理过程
单片机处理中断的过程大致可以分为以下几个步骤:
中断请求:当外部设备对单片机产生中断请求时,单片机会在当前程序运行到一个合适的地方时响应这个中断请求。 中断检测:单片机通过检查中断请求寄存器,确定是否存在未处理的中断请求。 中断响应:一旦检测到中断请求,单片机会立即暂停当前的任务,保存当前的程序计数器值等关键信息,这样在中断处理完成后,可以返回到原来的程序继续执行。 中断处理:单片机根据中断源,执行相关的中断服务程序。这个过程也叫做中断服务例程。
中断返回:中断服务完成后,单片机恢复被保存的程序计数器值等信息,返回到原来的任务,继续执行被打断的程序。
3. 单片机中断处理的两个关键机制
而在具体实施中,有两个关键的机制,即中断使能和中断优先级。
中断使能:单片机可以通过中断使能寄存器来开启或关闭某个特定的中断源。只有被使能的中断才有可能被单片机响应。
中断优先级:当多个中断请求同时发生时,单片机会根据设置的优先级来选取处理哪个中断。具有高优先级的中断会优先得到处理。
这就是单片机处理中断的基本过程和相关机制。在具体的单片机中,这个过程可能会由于单片机的架构和性能等因素有所不同,但基本原理是相同的。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !