理论教育 中断概述|单片机原理与接口技术

中断概述|单片机原理与接口技术

时间:2023-11-05 理论教育 版权反馈
【摘要】:中断之后所执行的相应的处理程序通常称之为中断服务程序或中断处理子程序,原来正常运行的程序称为主程序。在完成中断服务程序后,恢复相关的工作寄存器、累加器、标志位的内容,这称为现场恢复。这就是中断系统的优先级控制。

中断概述|单片机原理与接口技术

1.中断的基本概念

中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,要求CPU暂停当前程序的执行,而转去执行相应的处理程序,待处理程序执行完毕后,再继续执行原来被暂停的程序。这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。

中断源是指在计算机系统中向CPU发出中断请求的来源,中断可人为设定,也可由突发性随机事件引起。通常有I/O设备或实时控制系统中的随机参数和信息故障源等。中断源要求服务的请求称为“中断请求”(或中断申请)。

中断之后所执行的相应的处理程序通常称之为中断服务程序或中断处理子程序,原来正常运行的程序称为主程序。主程序被断开的位置(或地址)称为断点

当CPU暂时中止正在执行的程序,转去执行中断服务程序时,除了硬件自动把断点地址压入堆栈之外,应注意保护相关的工作寄存器、累加器、标志位等信息,这称为现场保护。在完成中断服务程序后,恢复相关的工作寄存器、累加器、标志位的内容,这称为现场恢复。最后执行中断返回指令RETI,从堆栈中自动弹出断点地址到PC,继续执行被中断的程序,这称为中断返回。

能够实现中断处理功能的硬件系统和软件系统统称为中断系统。

CPU处理中断服务程序的过程称之为CPU的中断响应过程,如图5-1所示。

图5-1 中断响应过程

2.中断优先级

一个计算机应用系统,特别是计算机实时测控应用系统,往往有多个中断源,各中断源所要求的处理具有不同的轻重、缓急程度。与人处理问题的思路一样,希望重要紧急的事件先处理,而且如果当前处于正在处理某个事件的过程中,有更重要、更紧急的事件到来,就应当暂停当前事件的处理,转去处理新事件。这就是中断系统的优先级控制。

中断优先级越高,则响应优先权就越高。当CPU正在执行中断服务程序时,又有中断优先级更高的中断申请产生,这时CPU就会暂停当前的中断服务转而处理高级中断申请,待高级中断处理程序完毕再返回原中断程序断点处继续执行,这一过程称为中断嵌套。图5-2为2级中断嵌套示意图

图5-2 2级中断嵌套示意图(www.daowen.com)

中断优先级控制应满足以下两个原则:

1)正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,一直到该中断服务程序结束,返回了主程序且执行了主程序中的一条指令后,CPU才响应新的中断请求。

2)正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。

3)CPU同时接收到几个中断请求时,首先响应优先级最高的中断请求。

3.中断的类型

计算机中断系统有两种不同类型的中断:一类称为非屏蔽中断;另一类称为可屏蔽中断。

非屏蔽中断,即用户不能用软件的方法加以禁止,一旦有中断申请,CPU必须予以响应的中断。

可屏蔽中断,用户可以通过软件方法来控制是否允许某中断源的中断,允许中断称中断开放,不允许中断称中断屏蔽。

4.中断与子程序调用的区别

调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的,而何时调用中断服务程序事先却无法确定,因为“中断”的发生是由外部因素决定的,程序中无法事先安排调用指令,因此,调用中断服务程序的过程是由硬件自动完成的。

采用了中断技术后的计算机,可以解决快速CPU与慢速外设之间速度匹配的问题,使计算机可以实时处理系统中许多随机的参数和信息,同时,它也提高了计算机处理故障与应变的能力。

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

我要反馈