【摘要】:为了更容易理解中断的处理过程,先来分析前面的例子。单片机处理中断的过程与上述情况类似,具体过程如下:1)响应中断请求。当CPU正在执行主程序时,如果接收到中断源发出的中断请求信号,中断标志位置“1”,就会响应中断请求,停止主程序,开始执行中断。MCS-51系列单片机五个中断源对应的中断入口地址见表4-1。图4-1 中断执行过程
为了更容易理解中断的处理过程,先来分析前面的例子。正在看书时,电话铃响了,这里的电话就是中断源,它发出的铃声就是中断请求信号。怎么来处理这个中断呢?一般的做法是记住书中刚看完的页码,然后再去客厅接电话,接完电话后,又回到书房阅读已看完页码的下一页的内容。单片机处理中断的过程(见图4-1)与上述情况类似,具体过程如下:
1)响应中断请求。当CPU正在执行主程序时,如果接收到中断源发出的中断请求信号,中断标志位置“1”,就会响应中断请求,停止主程序,开始执行中断。
2)保护断点。为了在执行完中断后能返回主程序,在执行中断时,会将主程序的下一条指令的地址(又称断点地址)保存到RAM的堆栈中。
3)寻找中断入口地址。保护好断点后,CPU开始寻找中断入口地址(又称向量地址),中断入口地址存放着相应的中断子程序,不同的中断源对应着不同的中断入口地址。MCS-51系列单片机五个中断源对应的中断入口地址见表4-1。
4)执行中断子程序。CPU寻找到中断入口地址后,就开始执行中断入口地址处的中断子程序。由于几个中断入口地址之间只有8个单元空间(见表4-1,如0003H~000BH相隔8个单元),较小的中断子程序(程序只有一两条指令)可以写在这里,较大的中断子程序无法写入,通常的做法是将子程序写在其他位置,而在中断入口地址单元只写一条跳转指令,由该指令跳转到中断子程序。(www.xing528.com)
5)中断返回。执行完中断子程序后,就会返回到主程序,返回的方法是从RAM的堆栈中取出之前保存的断点地址,然后执行该地址处的主程序,从而返回到主程序。
图4-1 中断执行过程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。