简单中断的处理过程
发布时间:2016/7/14 20:45:58 访问次数:1123
当有中断产生时,处理器在执行完当前指令后,如果允许响应中断的条件满足,处理器EPL3012-182MLC就会转向中断服务子程序,中断系统会自动保存断点,当执行完中断服务子程序后,再返回断点处继续执行原程序。为了更好地了解中断执行过程,我们把中断的处理过程分成以下几个步骤。
(1)中断源识别和中断入口地址查找
当处理器收到中断请求,并允许响应时,首先要做的就是识别中断源,判断是哪个中断源发出的中断请求,然后根据中断源找到相应的中断入口地址。如何找到中断入口地址,不同的处理器有不同的处理方法,如在⒛X86系列处理器中,中断源的识别和中断入口地址查找是按中断源的类别分别处理的,过程较为复杂,但51单片机这个过程被大大简化了,51系列基本型单片机只有5个中断源,这5个中断源的中断程序入口地址是固定的。
(2)断点保护
在处理器找到中断程序的入口地址后,就会暂停主程序的执行,转去执行中断服务子程序。为了在执行完中断服务子程序后,能够返回原程序断点处接着执行,就需要记忆断点的位置。断点就是中断返回后将要执行的指令的地址,保护断点就是保护断点地址,中断发生时,CPU硬件自动把这个地址值压入堆栈,当执行完中断子程序后,通过ⅢⅡI指令,再把这个地址值从堆栈中弹出送给PC,从而实现中断返回。
当有中断产生时,处理器在执行完当前指令后,如果允许响应中断的条件满足,处理器EPL3012-182MLC就会转向中断服务子程序,中断系统会自动保存断点,当执行完中断服务子程序后,再返回断点处继续执行原程序。为了更好地了解中断执行过程,我们把中断的处理过程分成以下几个步骤。
(1)中断源识别和中断入口地址查找
当处理器收到中断请求,并允许响应时,首先要做的就是识别中断源,判断是哪个中断源发出的中断请求,然后根据中断源找到相应的中断入口地址。如何找到中断入口地址,不同的处理器有不同的处理方法,如在⒛X86系列处理器中,中断源的识别和中断入口地址查找是按中断源的类别分别处理的,过程较为复杂,但51单片机这个过程被大大简化了,51系列基本型单片机只有5个中断源,这5个中断源的中断程序入口地址是固定的。
(2)断点保护
在处理器找到中断程序的入口地址后,就会暂停主程序的执行,转去执行中断服务子程序。为了在执行完中断服务子程序后,能够返回原程序断点处接着执行,就需要记忆断点的位置。断点就是中断返回后将要执行的指令的地址,保护断点就是保护断点地址,中断发生时,CPU硬件自动把这个地址值压入堆栈,当执行完中断子程序后,通过ⅢⅡI指令,再把这个地址值从堆栈中弹出送给PC,从而实现中断返回。