、中断响应时间 某中断的响应时序如图: MI M2 M3 M4 M5 s」s:s3s9s5 S2|S3S4S5551s2s3|s4ss52s3S4s56 S3」S4」S5s56 中断E标志 标志查询 保护断点,长调用至入口 中断服务 有效锁存 若M周期的S5P2前某中断生效,在S5P2期间其中 断请求被锁存到相应的标志位中去;M2恰逢指令的 最后一个机器周期,且该指令不是RET或访问E P的指令。于是,M3和M4便可以执行硬件 LCALL 指令,M5周期将进入了中断服务程序。 80c51的中断响应时间(从标志置1到进入相应的中 断服务),至少要3个完整的机器周期。 16
16 二、中断响应时间 某中断的响应时序如图: S1 保护断点,长调用至入口 中断服务 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 标志 标志查询 锁存 中断 ε 有效 M1 M2 M3 M4 M5 ◼若M1周期的S5P2前某中断生效,在S5P2期间其中 断请求被锁存到相应的标志位中去;M2恰逢指令的 最后一个机器周期,且该指令不是RETI或访问IE、 IP的指令。于是,M3和M4便可以执行硬件LCALL 指令,M5周期将进入了中断服务程序。 ◼80C51的中断响应时间(从标志置1到进入相应的中 断服务),至少要3个完整的机器周期
52.2中断响应过程 将相应的优先级状态触发器置1(以阻断 后来的同级或低级的中断请求)。 执行一条硬件 LCALL指令,即把程序计 数器Pc的内容压入堆栈保存,再将相应的 中断服务程序的入口地址送入PC。 执行中断服务程序。 中断响应过程的前两步是由中断系统内部 自动完成的,而中断服务程序则要由用户 编写程序来完成
17 ◼将相应的优先级状态触发器置1(以阻断 后来的同级或低级的中断请求)。 ◼执行一条硬件LCALL指令,即把程序计 数器PC的内容压入堆栈保存,再将相应的 中断服务程序的入口地址送入PC。 ◼执行中断服务程序。 中断响应过程的前两步是由中断系统内部 自动完成的,而中断服务程序则要由用户 编写程序来完成。 5.2.2 中断响应过程
5.2.3中断返回 RET指令的具体功能是: 将中断响应时压入堆栈保存的断点地址从栈 顶弹出送回PC,CPU从原来中断的地方继续 执行程序; 将相应中断优先级状态触发器清0,通知中 断系统,中断服务程序已执行完毕。 注意,不能用RET指令代替RET指令。在中 断服务程序中PUSH指令与POP指令必须成对 使用,否则不能正确返回断点 18
18 5.2.3 中断返回 RETI指令的具体功能是: ◼将中断响应时压入堆栈保存的断点地址从栈 顶弹出送回PC,CPU从原来中断的地方继续 执行程序; ◼ 将相应中断优先级状态触发器清0,通知中 断系统,中断服务程序已执行完毕。 注意,不能用RET指令代替RETI指令。在中 断服务程序中PUSH指令与POP指令必须成对 使用,否则不能正确返回断点
若外部中断定义为电平触发方式,中断标志位 的状态随cPU在每个机器周期采样到的外部中断 输入引脚的电平变化而变化,这样能提高cPU对 外部中断请求的响应速度。但外部中断源若有请求 必须把有效的低电平保持到请求获得响应时为止, 不然就会漏掉;而在中断服务程序结束之前,中断 源又必须撤消其有效的低电平,否则中断返回之后 将再次产生中断。 电平触发方式适合于外部中断输入以低电平输入且 中断服务程序能清除外部中断请求源的情况。例如 并行接口芯片8255的中断请求线在接受读或写操 作后即被复位,因此,以其去请求电平触发方式的 中断比较方便
19 若外部中断定义为电平触发方式,中断标志位 的状态随CPU在每个机器周期采样到的外部中断 输入引脚的电平变化而变化,这样能提高CPU对 外部中断请求的响应速度。但外部中断源若有请求, 必须把有效的低电平保持到请求获得响应时为止, 不然就会漏掉;而在中断服务程序结束之前,中断 源又必须撤消其有效的低电平,否则中断返回之后 将再次产生中断。 电平触发方式适合于外部中断输入以低电平输入且 中断服务程序能清除外部中断请求源的情况。例如, 并行接口芯片8255的中断请求线在接受读或写操 作后即被复位,因此,以其去请求电平触发方式的 中断比较方便