CPU响应中断做如下动作:
①将中断类型码放入暂存器保存;
②将标志寄存器内容压入堆栈,以保护中断时的状态;
③将IF和TF标志清0,目的是防止在中断响应的同时又来别的中断,而将TF清0是为了防止CPU以单步方式执行中断处理子程序。这时要特别提醒,因为CPU在中断响应时自动关闭了IF标志,因此用户如要进行中断嵌套时,必须在自己的中断处理子程序中用开中断指令来重新设置IF;
④保护断点,断点指的是在响应中断时,主程序当前指令下面的一条指令的地址。因此保护断点的动作就是将当前的IP和CS的内容入栈,保护断点是为了以后正确地返回主程序;
⑤根据取到的中断类型码,在中断向量表中找出相应的中断向量,将其装入IP和CS,即呆自动转向中断服务子程序。
中断服务程序入口地址是服务程序在内存中存放的地址。根据查询相关资料显示:中断服务程序,处理器处急件,可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的,中断服务程序入口地址是服务程序在内存中存放的地址。51单片机中的中断入复口地址的含制义就是去执行中断连接的程序,一般在程序的末尾段。
若51单片机使用C语言编程,51单片机中断号的排列顺序是按中断向量地址由低到高来排列中断号,不是按中断查询的优先级或者中断服务顺序的优先级来排列中断号的。
51里面一般有4个r0--r7寄存器,如果终端函数和别的程序用的不是同一个寄存器组则进入中断的时候就不会将寄存器组压入堆栈返回时也不会d出来,节省代码和时间。
扩展资料:
单片机中断源类型
1、外部设备请求中断。一个普通的外设(如键盘、打印机、A/D转换器等)在CPU完成自己的 *** 作后向它发出一个中断请求。由计算机硬件异常或故障引起的中断,也称为内部异常中断。
2、故障强制中断。计算机在一些关键部位配备了自动故障检测装置。如 *** 作溢出、内存读取错误、外部设备故障、断电等报警信号,如设备的报警信号可以中断CPU,相应的中断处理。
3、实时时钟请求中断。在控制过程中会遇到定时检测和控制,因此通常使用外部时钟电路(可编程)来控制时间间隔。当需要定时时,CPU发出一个命令使时钟电路开始工作。一旦到达指定时间,时钟电路发出中断请求,CPU转动完成检测和控制工作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)