上述四个专用寄存器的用途可以用图6.1说明。 优先级 查询电路 源允许总允许 IP 高优先级 EX 中断请求 码一中断程序 EX INTI 正 ET Loo TF 低优先级 中断请求 TR 源码中断程序 入口 图6.1MCS-51中断系统
上述四个专用寄存器的用途可以用图6.1说明。 源码 源码 0 INT 1 INT T F0 TF1 T I RI 0 IE 1 IE EX0 ET0 EX1 ET1 ES EA IP 优先级 查询电路 高优先级 中断请求 低优先级 中断请求 中断程序 入口 中断程序 入口 源允许 总允许 图6.1 MCS-51中断系统
6.2.3中断初始化与中断控制寄存器状态设置 比如,使用外部中断0(INT)和外部中断1(ⅠNT),INT 为高优先级,电平触发方式,INT为低优先级,下降沿触发方式 则初始化程序如下: MOV IP #OIH MOV TCON #04H SETB EA SETB EX SETB EX
6.2.3 中断初始化与中断控制寄存器状态设置 比如,使用外部中断0( 0 INT )和外部中断1( 1 INT ), 0 INT 为高优先级,电平触发方式, 1 INT 为低优先级,下降沿触发方式。 则初始化程序如下: MOV IP, #01H MOV TCON, #04H SETB EA SETB EX0 SETB EX1
6.2.4中断响应过程 1.中断采样 ①电平触发方式的外中断请求(ITo/T1=0)采样到高电平时,表 明没有中断请求,IE0或IE继续为“0。.样到低电平时,IE0/E 由硬件自动置“1,表明有外中断请求发生。 ②脉冲触发式的外中断请求(I/T1=1)在相邻的机器周期采样 到的电平由高电平变为低电平时,则0E1由硬件自动置“1”, 否则为“0 2.中断查询 由CPU测试TCON和SCON中的各个中断标志位的状态,确 定有那个中断源发生请求,查询时按优先级顺序进行查询,即 先询高优先级查询低优先级 如果查询到有标志位为“1”,表明有中断请求发生,接着就 从相邻的下一机器周期开始进行中断响应
6.2.4 中断响应过程 1. 中断采样 ① 电平触发方式的外中断请求(IT0 /IT1 =0)采样到高电平时,表 明没有中断请求,IE0或IE1继续为“0”。采样到低电平时,IE0 /IE1 由硬件自动置“1”,表明有外中断请求发生。 ② 脉冲触发式的外中断请求(IT0 /IT1 =1)在相邻的机器周期采样 到的电平由高电平变为低电平时,则IE0 /IE1由硬件自动置“1”, 否则为“0”。 2. 中断查询 由CPU测试TCON和SCON中的各个中断标志位的状态,确 定有那个中断源发生请求,查询时按 优先级 顺序进行查询,即 先询高优先级查询低优先级。 如果查询到有标志位为“1”,表明有中断请求发生,接着 就 从相邻的下一机器周期开始进行中断响应
3.中断响应 当CPU查询到中断请求时,由硬件自动产生一条 LCALL指令, LCALL指令执行时,首先将PC内容压入堆栈进行断点保护,再把 中断入口地址装入PC,使程序转向相应的中断区入口地址。 LCALL 指令的形式如下: LCALL addr16; addr16:中断入口地址 入口地址已由系统设定,如下: 中断源 入口地址 INTo 0003H 000BH INTI 0013H T 001BH S 0023H
3. 中断响应 当CPU查询到中断请求时,由硬件自动产生一条LCALL指令, LCALL指令执行时,首先将PC内容压入堆栈进行断点保护,再把 中断入口地址装入PC,使程序转向相应的中断区入口地址。LCALL 指令的形式如下: LCALL addr16 ;addr16:中断入口地址 入口地址已由系统设定,如下: 中断源 入口地址 0003H T0 000BH 0013H T1 001BH S 0023H INT1 INT0