在CPU响应中断的条件得到满足后,CPU对中断源中断请求的回答。此时CPU的动作:保护断点、寻找中断源、转向中断服务程序的入口地址<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
条件:
1、有中断源发出中断申请
2、此时EA=1
3、对应的中断源允许标志位为1,如EX0=1
注意:CPU在满足响应中断的基本条件时,下列任一情况中断被阻止
1、CPU在处理同级或更高级的中断
2、正在执行的指令未完成
3、正在执行RETI或访问IE或IP的指令
(二)、中断响应的过程
1、置位相应的优先级状态触发器
2、中断系统通过硬件生成调用长调用指令LCALL,此时中断标志被清除
3、断点入栈保护(过程与调用子程序类似)
4、将对应的中断的入口地址装入PC
各中断源对应的入口地址:
1、INT0 0003H
2、T0 000BH
3、INT1 0013H
4、T1 001BH
5、串行口中断 0023H
各中断入口地址是固定的且个地址间只有8个字节的存储空间,在实际使用的时候,通常在该中断的入口出放指令:LJMP 标号,这样就可将中断程序放在64K的任何空间!
如:调用3000H处的INT1中断服务子程序,可以用以下语句:
ORG 0013H
LCALL int1
.……
ORG 3000H
Int1:
.……
RETI
END
0013H是INT1的入口地址,CPU相响应INT1中断后,自动会跳到这个地址执行,此地址放LCALL 3000H,即可使单片机执行3000H处的用户程序
用户165980 2008-12-6 17:04
用户165980 2008-12-6 17:01