513中断处理过程 执行指令」 N<有中断请求? <满足中断响应条件? 响应中幽 保护断点PC 中断入口地址←PC 保护现场 中断服务 恢复现场 中断返叵
5.1.3 中断处理过程
中断处理过程大致可分为四步: 中断请求、中断响应、中断服务、中断返回 1.中断请求 中断源发出中断请求信号,相应的中断请求标志 位(在中断允许控制寄存器IE中)置“1”。 2中断响应 CPU查询(检测)到某中断标志为“1”,在满足 中断响应条件下,响应中断。 (1)中断响应条件: ①该中断已经“开中”; ②CPU此时没有响应同级或更高级的中断; ③当前正处于所执行指令的最后一个机器周期; ④正在执行的指令不是RET或者是访向IE、IP的 指令,否则必须再另外执行一条指令后才能响应
中断处理过程大致可分为四步: 中断请求、中断响应、中断服务、中断返回 ⒈ 中断请求 中断源发出中断请求信号,相应的中断请求标志 位(在中断允许控制寄存器IE中)置“1”。 ⒉ 中断响应 CPU查询(检测)到某中断标志为“1”,在满足 中断响应条件下,响应中断。 ⑴ 中断响应条件: ① 该中断已经“开中”; ② CPU此时没有响应同级或更高级的中断; ③ 当前正处于所执行指令的最后一个机器周期; ④ 正在执行的指令不是RETI或者是访向IE、IP的 指令,否则必须再另外执行一条指令后才能响应
(2)中断响应操作 CPU响应中断后,进行下列操作: ①保护断点地址; ②撤除该中断源的中断请求标志; ③关闭同级中断; ④将相应中断的入口地址送入PC; 80C51五个中断入口地址: INTO: 0003H ●.●●. T0:000BH INT1:0013H: T1:001BH 串行口:0023H
⑵ 中断响应操作 CPU响应中断后,进行下列操作: ① 保护断点地址; ② 撤除该中断源的中断请求标志; ③ 关闭同级中断; ④ 将相应中断的入口地址送入PC; 80C51五个中断入口地址: INT0:0003H; T0:000BH; INT1:0013H; T1:001BH; 串行口:0023H
3执行中断服务程序 中断服务程序应包含以下几部分: (1)保护现场 (2)执行中断服务程序主体,完成相应操作 (3)恢复现场 4.中断返回 在中断服务程序最后,必须安排一条中断返 回指令RETI,当CPU执行RET指令后,自动完成 下列操作: (1)恢复断点地址 (2)开放同级中断,以便允许同级中断源请求 中断
⒊ 执行中断服务程序 中断服务程序应包含以下几部分: ⑴ 保护现场 ⑵ 执行中断服务程序主体,完成相应操作 ⑶ 恢复现场 ⒋ 中断返回 在中断服务程序最后,必须安排一条中断返 回指令RETI,当CPU执行RETI指令后,自动完成 下列操作: ⑴ 恢复断点地址。 ⑵ 开放同级中断,以便允许同级中断源请求 中断
5.1.4中断响应等待时间 若排除CPU正在响应同级或更高级的中断情况,中 断响应等待时间为: 3~8个机器周期 5.1.5中断请求的撤除 中断源发出中断请求,相应中断请求标志置“1 CPU响应中断后,必须清除中断请求“1”标志。否则中 断响应返回后,将再次进入该中断,引起死循环出错。 (1)对定时/计数器T0、T1中断,外中断边沿触发方式, CPU响应中断时就用硬件自动清除了相应的中断请求标 志。 (2)对外中断电平触发方式,需要采取软硬结合的方 法消除后果 (3)对串行口中断,用户应在串行中断服务程序中用 软件清除T或RI
5.1.4 中断响应等待时间 若排除CPU正在响应同级或更高级的中断情况,中 断响应等待时间为: 3~8个机器周期 5.1.5 中断请求的撤除 中断源发出中断请求,相应中断请求标志置“1”。 CPU响应中断后,必须清除中断请求“1”标志。否则中 断响应返回后,将再次进入该中断,引起死循环出错。 ⑴ 对定时/计数器T0、T1中断,外中断边沿触发方式, CPU响应中断时就用硬件自动清除了相应的中断请求标 志。 ⑵ 对外中断电平触发方式,需要采取软硬结合的方 法消除后果。 ⑶ 对串行口中断,用户应在串行中断服务程序中用 软件清除TI或RI