1、1 第四章 中断系统 4.2 中断系统结构 4.2.1 中断系统结构及中断控制寄存器 4.2.2 中断响应过程及响应时间 2 4.2.1 中断系统结构及中断控制寄存器 1 中断源(5个)1)外部中断源:INT0 INT1(P3.2 P3.3引脚)TCON:控制外部中断源的触发方式和中断标志。触发方式:CPU判断外部信号是否有效的方式 电平触发:低电平触发、高电平触发 脉冲触发:下降沿触发、上升沿触 2)内部中断源 定时器中断:TF0 TF1 串口中断:TI RI 01 13 图4.3 中断系统结构 IE0TF0IE1TF1EX0ET0ET1ESTIRI+EA 1 0PX0 1 0 PT0 1
2、0PX1 1 0 PT1 1 0PS自然优先级矢量地址自然优先级矢量地址高级中断请求低级中断请求硬件查询优先级总允许源允许SCON中断标志 IT0=0 引脚 INT0 IT0=1 定时器T0 IT1=0 引脚INT1 IT1=1 定时器T1串口发TXD串口收RXD注:IT0和 IT1也在 TCON中PCPCTCONIEIPEX14 图4.4 TCON中的中断标志位 TF1TF0IE1IT1IE0ITO8FH8EH8DH8CH8BH8AH88H89HTCON(88H)TIRI98H99HSCON(98H)图4.5 SCON中的中断标志位 5 5 2 中断控制 1)中断允许寄存器 IE EAESE
3、T1EX1ET0EX0AFHAEHADHACHABHAAHA8HA9HIE(A8H)2)中断源优先级设定寄存器 IP 图4.6 中断允许控制位 PSPT1PX1PT0PX0BCHBBHBAHB8HB9HIP(B8H)图4.7中断优先级寄存器IP的控制位 6 6 中断源外部中断0定时器/计数器0溢出中断外部中断1定时器/计数器1溢出中断串行口中断同级内的中断优先级最高最低图4.8 IP设为同级的中断源优先级排列顺序 7 7 4.2.2 中断响应过程及响应时间 1 中断响应 2 中断响应操作过程 3 中断的响应时间 8 8 1 中断响应 1)CPU处于非中断响应状态,且中断开放。2)CPU正在响应
4、中断,又来了新的中断。3)CPU正在执行RETI(中断返回)或任何IE/IP访问指令。9 9 2 中断响应操作过程 1)断点保护:将断点地址(PC值)压入堆栈,保护R寄存器,ACC,标志位信息。2)根据中断矢量地址转到中断服务程序处理,(如果丌希望有更高级中断打扰,可以关闭中断)。3)现场恢复:执行中断返回指令,自动弹出断点到PC,返回主程序,恢复R寄存器,ACC,标志位信息,继续执行被中断的主程序。10 10 存储单元 保留目的 0000H0002H 复位后初始化引导程序地址 0003H000AH 外部中断0 000BH0012H 定时器0溢出中断 0013H001AH 外部中断1 001B
5、H0022H 定时器1溢出中断 0023H002AH 串行端口中断 002BH 定时器2中断(89C52才有)表4-1 ROM中保留的存储单元 11 11 表4-2 中断矢量地址 中断源 中断矢量地址 外部中断0 0003H 定时器/计数器0溢出 000BH 外部中断1 0013H 定时器/计数器1溢出 001BH 串行口 0023H 12 12 3 中断的响应时间:38个机器周期 1)最短时间:第一周期:查询中断标志 第二,三周期:保护断点,关CPU中断,自动转入执行一条长转移指令。2)最长时间:CPU执行RETI,访问IE/IP指令 第一周期:执行RETI,IE/IP访问指令 第二五周期:执行下一条指令 第六八周期:响应中断