第5章MCS-51中断系统 ,中断的概念 52中断的控制 5中断的响应和返回 中断的处理过程 5多中断源系统 56外部中断应用举例
第5章 MCS-51中断系统 5.1 中断的概念 5.4 中断的处理过程 5.2 中断的控制 5.3 中断的响应和返回 5.5 多中断源系统 5.6 外部中断应用举例
5,1中断概念 中断系统是计算机的重要指标 日常事务程序 中断服务程序 某人看书执行主程序 日常事务 电话铃响中断信号INT=0中断请求 暂停看书暂停执行主程序中断响应 书中作记号当前PC入栈保护断点 电话谈话执行I/O程序中断服务 继续看书返回主程序中断返回
中断系统是计算机的重要指标之一。 某人看书 执行主程序 日常事务 电话铃响 中断信号INT=0 中断请求 暂停看书 暂停执行主程序 中断响应 书中作记号 当前PC入栈 保护断点 电话谈话 执行I/O程序 中断服务 继续看书 返回主程序 中断返回 日 常 事 务 程 序 中 断 服 务 程 序 5.1 中断概念
中断的定义,与子程序的区别 所谓“中断”,是指CPU执行正常程序时, 系统中出现特殊请求,CPU暂时中止当 前的程序,转去处理更紧急的事件,处 理完毕后,CPU返回原程序的过程。 中断与子程序的区别: 子程序是预先安排好的 中断是随机发生的;
所谓“中断”,是指CPU执行正常程序时, 系统中出现特殊请求,CPU暂时中止当 前的程序,转去处理更紧急的事件,处 理完毕后,CPU返回原程序的过程。 中断与子程序的区别: 子程序是预先安排好的; 中断是随机发生的; 中断的定义,与子程序的区别
MCS-51中断系统内部结构 中糅请求 中之许控制寄器IE 中断优先级 志 原允许 尼允许 控制寄有器IP INT0中断求0TIE0EX 中断请末 时计数器1 TFO ETO PTO 中断矢量 外部 中析矢量 IN中断诗求!|ElEx1 PX1 定时计数器 TFI ETI PTI 串行口 优先 中断清末 中矢量 中析矢
MCS-51中断系统内部结构
5.2中断系统控制 5.2.1中断控制寄存器 寄存器名称 D, D D D D D D 定时器控制TCON(88HTF1 TFO 正lIT1IE0IT0 寄存器 位地址8FH8EH8DH8CH8BH8AH89H88H 串行口控制SCON(98H) TI RI 寄存器 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 中断允许IE(A8H)EA ES ETI EXI ETO EXO 寄存器 位地址AFH ACH ABH AAH A9H A8H 中断优先级IP(B8H PS PTI PXI PTO PXO 寄存器 位地址 BCH BBH BAH B9H B8H 1中断标志位:TF1、TF0、IE1、IE0、RI、TI 登记各中断源请求信号:=1,有中断请求;=0,无中断请求。 CPU响应中断后,该中断标志自动清零。T,R标志必须软件清零 2外部中断触发方式选择位:IT0、I1 1:负边沿触发中断请求;=0:低电平触发中断请求
5.2 中断系统控制 5.2.1 中断控制寄存器 1.中断标志位:TF1、TF0、IE1、IE0、RI 、TI 登记各中断源请求信号:=1,有中断请求;= 0,无中断请求。 CPU响应中断后,该中断标志自动清零。TI,RI标志必须软件清零。 寄存器名称 D7 D6 D5 D4 D3 D2 D1 D0 TCON(88H ) 定时器控制 TF1 TF0 IE1 IT1 IE0 IT0 寄存器 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 串行口控制SCON(98H) TI R I 寄存器 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 中断允许 IE(A8H) EA ES ET1 EX1 ET0 EX0 寄存器 位地址 AFH ACH ABH AAH A9H A8H 中断优先级 IP(B8H) PS PT1 PX1 PT0 PX0 寄存器 位地址 BCH BBH BAH B9H B8H 2.外部中断触发方式选择位:IT0、IT1 =1:负边沿触发中断请求;= 0:低电平触发中断请求
5.2中断系统控制 5.2.2中断允许寄存器 寄存器名称 D2D。D5D4D2D2D 定时器控制CON(88H)TF1 TFO IE1 IT1 IEO ITO 寄存器 位地址8FH8EH8DH8CH8BH|8AH|89H88H 串行口控制SCON(98H) RI 寄存器 位地址9FH9EH9DH9CH9BH|9AH99H|98H 中断允许IE(A8H)EA ES ETI EXI ETO EXO 寄存器 位地址AFH ACH ABH AAH A9H A8H 中断优先级IP(B8H PS PT1 PXI PTO PXO 寄存器 位地址 BCH BBH BAH B9H B8H 中断允许控制位:EA、ES、ETI、EX1、ET0、EX0 1开中断;=0关中断 例:允许CPU响应INT0的中断请求 SETB EXO SETB EA
5.2 中断系统控制 5.2.2 中断允许寄存器 寄存器名称 D7 D6 D5 D4 D3 D2 D1 D0 定时器控制 TCON(88H) TF1 TF0 IE1 IT1 IE0 IT0 寄存器 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 串行口控制 SCON(98H) TI RI 寄存器 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 中断允许 IE(A8H) E A ES ET1 EX1 ET0 EX0 寄存器 位地址 AFH ACH ABH AAH A9H A8H 中断优先级 IP(B8H) P S PT1 PX1 PT0 PX0 寄存器 位地址 BCH BBH BAH B9H B8H 中断允许控制位:EA、ES、ET1、EX1、ET0、EX0 =1开中断;= 0关中断。 例:允许CPU响应INT0的中断请求 SETB EX0 SETB EA
5.2中断系统控制 5.2.3中断优先寄存器 寄存器名称 D2D。D5D4D2D2D 定时器控制CON(88H)TF1 TFO IE1 IT1 IEO ITO 寄存器 位地址8FH8EH8DH8CH8BH|8AH|89H88H 串行口控制SCON(98H) RI 寄存器 位地址9FH9EH9DH9CH9BH|9AH99H|98H 中断允许IE(A8H)EA ES ETI EXI ETO EXO 寄存器 位地址AFH ACH ABH AAH A9H A8H 中断优先级IP(B8H PS PT1 PXI PTO PXO 寄存器 位地址 BCH BBH BAH B9H B8H 中断优先级控制位:PS、PT1、PX1、PT0、PX0 2级优先级:=1为高优先级,=0为低优先级。 同一优先级别按内部查询顺序排列优先级: 高INT0、T0、INT1、T1、SIO低
5.2 中断系统控制 5.2.3 中断优先寄存器 寄存器名称 D7 D6 D5 D4 D3 D2 D1 D0 定时器控制 TCON(88H) TF1 TF0 IE1 IT1 IE0 IT0 寄存器 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 串行口控制 SCON(98H) TI RI 寄存器 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 中断允许 IE(A8H) E A ES ET1 EX1 ET0 EX0 寄存器 位地址 AFH ACH ABH AAH A9H A8H 中断优先级 IP(B8H) P S PT1 PX1 PT0 PX0 寄存器 位地址 BCH BBH BAH B9H B8H 中断优先级控制位:PS、PT1、PX1、PT0、PX0 2级优先级:=1为高优先级,= 0为低优先级。 同一优先级别按内部查询顺序排列优先级: 高 INT0、T0、INT1、T1、SIO 低
5.3中断响应和中断返回 中断响应周期时序 每个机器周期采样中断标志位,若有中断请求,将在下 个机器周期按优先级顺序进行中断查询。 二.各中断源中断服务程序的入口地址 三.中断响应阻断 中断源中断入口地址 1.当CPU未执行完一条指令 INTO 0003H 2.当有同级或高级中断服务。 TO 000BH INTI 0013H 3.执行RETI指令或访问IE、IP的指令 001BH 后,不能立即响应中断。 SIO 0023H 四.中断返回 中断返回指令:RET=RET指令+通知CPU中断服务已结束。 中断响应时间 正常中断响应时间至少为3~8个机器周期,如果有同级或高级中 断服务,将延长中断响应时间
5.3 中断响应和中断返回 一.中断响应周期时序 每个机器周期采样中断标志位,若有中断请求,将在下一 个机器周期按优先级顺序进行中断查询。 中断源 中断入口地址 INT0 0003H T 0 000BH INT1 0013H T 1 001BH SIO 0023H 二. 各中断源中断服务程序的入口地址 三. 中断响应阻断. 1 . 当CPU未执行完一条指令。 2.当有同级或高级中断服务。 3.执行RETI指令或访问IE、IP的指令 后,不能立即响应中断。 四. 中断返回 中断返回指令:RETI= RET指令 + 通知CPU中断服务已结束。 中断响应时间 正常中断响应时间至少为3~8个机器周期,如果有同级或高级中 断服务,将延长中断响应时间
5.4中断处理过程 中断响应条件 1.有中断请求信号 2.系统处于开中断状态 二.中断响应过程 1.保护断点:将断点地址压入堆栈保存,即当前PC值入栈。 2.寻找中断源:中断服务程序入口→PC,转入中断服务。 3.中断处理:执行中断源所要求的程序段。 4.中断返回:执行RET指令,栈顶内容→PC,程序跳转回断点 处
5.4 中断处理过程 一.中断响应条件 1.有中断请求信号 2. 系统处于开中断状态 二.中断响应过程 1.保护断点:将断点地址压入堆栈保存,即当前PC值入栈。 2.寻找中断源:中断服务程序入口→PC,转入中断服务。 3.中断处理:执行中断源所要求的程序段。 4.中断返回:执行RETI指令,栈顶内容→PC,程序跳转回断点 处
5.5多中断源系统 当外部中断源多于中断输入引脚时,可采取以下措施: 1.用定时器计数输入信号端T0、T1作外部中断入口引脚 2 +5 DVTO INTO +5 DⅴT1 INT1 DVT2 8031 DVT3 DVT4 P1.0 P1.3 3.用一个中断入口接受多个外部中断源,并加入中断查询电路
5.5 多中断源系统 当外部中断源多于中断输入引脚时,可采取以下措施: 1.用定时器计数输入信号端T0、T1作外部中断入口引脚 2.用串行口接收端RXD作外部中断入口引脚 3.用一个中断入口接受多个外部中断源,并加入中断查询电路