
中断系统 一、中断的概念 1、中断的定义:是指计算机在执行程序的过程中,由于计算 机象统内、外的某种原因使其暂时中止原程序的执行而转去为 该突发事件服务,在处理完成后再返回原程序继续执行的过程。 2、中断系统的功能 (1)实现中断响应:当某一个中断源中请中断时,CPU应能够决定 是否可以响应该中断,如果可以响应则应能保护断点与现场,并转到 中断服务程序的入口地址。 (2)实现中断返回:中断条统应能够在执行完中断服务程序并遇到 中断返回指令时,自动取出保存在堆栈中的断点地址,以返回到原程 序断点处继续执行原程序。 (3)中断优先级排队 (4)实现中断嵌套
中断系统 一、中断的概念 1、中断的定义:是指计算机在执行程序的过程中,由于计算 机系统内、外的某种原因使其暂时中止原程序的执行而转去为 该突发事件服务,在处理完成后再返回原程序继续执行的过程。 2、中断系统的功能 (1)实现中断响应:当某一个中断源申请中断时,CPU应能够决定 是否可以响应该中断,如果可以响应则应能保护断点与现场,并转到 中断服务程序的入口地址。 (2)实现中断返回:中断系统应能够在执行完中断服务程序并遇到 中断返回指令时,自动取出保存在堆栈中的断点地址,以返回到原程 序断点处继续执行原程序。 (3)中断优先级排队 (4)实现中断嵌套

二、MCS-51型单片机的中断系统 (一)中断源与中断清求信号 8051型单片机的5个中断源为:2个外部中断、2个定时/计数器 中断及1个串行口中断。 1、外部中断源: (1)外部中断源组成 ·外部中断0(NTO):中断请求信号由引脚P32输入。 ·外部中断1(NTT):中断请求信号由引脚P33输入。 (2)外部中断源的触发方式:电平触发方式和脉冲下降沿触发方 式。 2、定时/计数器中断 (1)定时/计数器0(T0): ·当作为定时器使用时,其中断请求信号取自内部定时脉冲; 。 当作为计数器使用时,其中断请求信号取自P34引脚
二、MCS-51型单片机的中断系统 (一)中断源与中断请求信号 8051型单片机的5个中断源为:2个外部中断、2个定时/计数器 中断及1个串行口中断。 1、外部中断源: (1)外部中断源组成 • 外部中断0(INT0):中断请求信号由引脚P3·2输入。 • 外部中断1(INT1):中断请求信号由引脚P3·3输入。 (2)外部中断源的触发方式:电平触发方式和脉冲下降沿触发方 式。 2、定时/计数器中断 (1)定时/计数器0(T0): • 当作为定时器使用时,其中断请求信号取自内部定时脉冲; • 当作为计数器使用时,其中断请求信号取自P3·4引脚

(2)定附/计数器1(T1): ·当作为定时器使用时,其中断请求信号取自内部定时脉冲 ·当作为计数器使用时,其中断请求信号取自P35引脚。 3、串行口中断:串行口中断分为发送中断与接收中断。 (二)、中断控制 1、定时器控制寺存器(TCON) (1)定时器控制寄存器字节地址为88H,是可位寻址的SFR,其位 地址为88H~8FH 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TF1 TRI TFO TRO IE1 ITI IEO ITO
(2)定时/计数器1(T1): • 当作为定时器使用时,其中断请求信号取自内部定时脉冲; • 当作为计数器使用时,其中断请求信号取自P3·5引脚。 3、串行口中断:串行口中断分为发送中断与接收中断。 (二)、中断控制 1、定时器控制寄存器(TCON) (1)定时器控制寄存器字节地址为88H,是可位寻址的SFR,其位 地址为88H~8FH 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

(2)定时器控制寺存器功能:既是T0/T1的启闭控制寺存器, 同时也锁存T0/T1及外部中断0/外部中断1的中断标志。(只介 绍与中断有关的标志) ·E0/IE1:外部中断请求标志 T1/IT0:外部中断请求信号方式控制位。 ·TF0/TF1:定时器/计数器溢出中断请求标志位。 2、串行口控制寺存器(SCON) (1)串行口控制寺存器的字节地址为98H,可位寻址,其 位地址为98H~9FH (2)SCON寺存器中与中断有关的标志位只有T1、R1两位 ·T:串行口发送中断请求标志位。每当发送完一帧串行数据 由硬件将该位置1,在转向中断服务程序后由软件将该位清0
(2)定时器控制寄存器功能:既是T0/T1的启闭控制寄存器, 同时也锁存T0/T1及外部中断0/外部中断1的中断标志。(只介 绍与中断有关的标志) ·IE0/ IE1:外部中断请求标志 ·IT1/ IT0:外部中断请求信号方式控制位。 ·TF0/ TF1:定时器/计数器溢出中断请求标志位。 2、串行口控制寄存器(SCON) (1)串行口控制寄存器的字节地址为98H,可位寻址,其 位地址为98H~9FH (2)SCON寄存器中与中断有关的标志位只有TI、RI两位 ·TI:串行口发送中断请求标志位。每当发送完一帧串行数据, 由硬件将该位置1,在转向中断服务程序后由软件将该位清0

:串行口接收中断请求标志位。每当接收完一帧串行数据 由硬件将该位置1,在转向中断服务程序后由软件将该位清0。 3、中断允许控制寺存器(IE) (1)中断允许控制寺存器的字节地址为A8H,可位寻址,其 位地址为A8H~AFH AFH AEH ADH ACH ABH AAH A9H A8H EA ES ETI EX1 ETO EXO (2)·EA:中断允许总控位。 当EA=0,则所有中断请求均被禁止。 当EA=1,则是否允许中断由各个中断控制位决定。 EX0/EX1:外部中断0/外部中断1中断允许控制位。 若为1,则对应的外部中断源可以申清中断。否则,对应 外部中断申请被禁止
·RI:串行口接收中断请求标志位。每当接收完一帧串行数据, 由硬件将该位置1,在转向中断服务程序后由软件将该位清0。 3、中断允许控制寄存器(IE) (1)中断允许控制寄存器的字节地址为A8H,可位寻址,其 位地址为A8H~AFH AFH AEH ADH ACH ABH AAH A9H A8H EA ES ET1 EX1 ET0 EX0 (2)·EA:中断允许总控位。 当EA=0,则所有中断请求均被禁止。 当EA=1,则是否允许中断由各个中断控制位决定。 ·EX0/ EX1:外部中断0/外部中断1中断允许控制位。 若为1,则对应的外部中断源可以申请中断。否则,对应 外部中 断申请被禁止

ETO/ET1:T0/T1中断允许控制位。 若为1,则对应的定时器/计数器可以申请中断。否则,对应定 时器/计数器不能中请中断。 ES:串行口中断控制位。ES=1,允许串行口中断;ES=0,禁止 串行口中断。 4、中断优先级控制寄存器(IP) (1)中断优先级控制寄存器的字节地址为B8H,可位寻址,其 位地址为B8H~BFH BFH BEH BDH BCH BBH BAH B9H B8H EA PS PT1 PX1 PTO PXO
·ET0/ ET1:T0/T1中断允许控制位。 若为1,则对应的定时器/计数器可以申请中断。否则,对应定 时器/计数器不能申请中断。 ·ES:串行口中断控制位。ES=1,允许串行口中断;ES=0,禁止 串行口中断。 4、中断优先级控制寄存器(IP) (1)中断优先级控制寄存器的字节地址为B8H,可位寻址,其 位地址为B8H~BFH BFH BEH BDH BCH BBH BAH B9H B8H EA PS PT1 PX1 PT0 PX0

(2)·PX0:外部中断0优先级设定控制位。若PX0=1,则外部 中断0设定为高优先级中断;否则就是低优先级中断。 ,PX1:外部中断1优先级设定控制位。若PX1=1,则外部中 断1设定为高优先级中断;否则就是低优先级中断。 PT0:T0中断优先级设定控制位。若PTO=1,则定时器/ 计数器0设定为高优先级中断;否则就是低优先级中断。 ,PT1:T1中断优先级设定控制位。若PT1=1,则定时器/计 数器1设定为高优先级中断;否则就是低优先级中断。 PS:串行口中断优先级设定控制位。若PS=1,串行口中 断设定为高优先级中断;否则就是低优先级中断
(2)·PX0:外部中断0优先级设定控制位。若PX0=1,则外部 中断0设定为高优先级中断;否则就是低优先级中断。 ·PX1:外部中断1优先级设定控制位。若PX1=1,则外部中 断1设定为高优先级中断;否则就是低优先级中断。 ·PT0:T0中断优先级设定控制位。若PT0=1,则定时器/ 计数器0设定为高优先级中断;否则就是低优先级中断。 ·PT1:T1中断优先级设定控制位。若PT1=1,则定时器/计 数器1设定为高优先级中断;否则就是低优先级中断。 ·PS:串行口中断优先级设定控制位。若PS=1,串行口中 断设定为高优先级中断;否则就是低优先级中断

(3)中断优先级的控制原则 ·低优先级中断请求不能打断高优先级的中断服务,但高优 先级的中断请求可以打断低优先级的中断服务。 ·同级中断请求不能打断同级中断服务。 ·如果多个同级中断源同时申请中断,则CPU按如下默认顺序 响应 外部中断0定时/计数器0外部中断1定时/计数器1串行中断 高 低
(3)中断优先级的控制原则 ·低优先级中断请求不能打断高优先级的中断服务,但高优 先级的中断请求可以打断低优先级的中断服务。 ·同级中断请求不能打断同级中断服务。 ·如果多个同级中断源同时申请中断,则CPU按如下默认顺序 响应 外部中断0 定时/计数器0 外部中断1 定时/计数器1 串行中断 高 低

三、中断响应条件及响应过程 (一)中断响应条件 1、有中断源发出中断清求 2、中断总允许位EA=1 3、中清中断的中断源允许 但若有下列任一情况存在,则中断应会受阻断 1、CPU正在响应同级或高优先级的中断 2、当前指令未执行完 3、正在执行RETI中断返回指令或访问专用寄存器E和P的指令 (二)中断响应过程 中断响应过程包括:保护断点和将程序转向中断服务程序的 入口地址
三、中断响应条件及响应过程 (一)中断响应条件 1、有中断源发出中断请求 2、中断总允许位EA=1 3、申请中断的中断源允许 但若有下列任一情况存在,则中断应会受阻断 1、CPU正在响应同级或高优先级的中断 2、当前指令未执行完 3、正在执行RETI中断返回指令或访问专用寄存器IE和IP的指令 (二)中断响应过程 中断响应过程包括:保护断点和将程序转向中断服务程序的 入口地址

中断服务程序的入口地址如下: 中断源 入口地址 INTO 0003H TO OOOBH INT1 0013H T1 001BH 串行口中断 0023H (三)中断返回 中断返回是指中断服务完后,计算机返回原来断开的位置, 继续执行原来的程序。中断返回由中断返回指令RETI来实现。该 指令的功能是把断点地址从堆栈中弹出,送回程序计数器PC, 此外,还通知中新系统已完成中断处理,并同时清除优先级状态 触发器
中断服务程序的入口地址如下: 中断源 入口地址 INT0 0003H T0 000BH INT1 0013H T1 001BH 串行口中断 0023H (三)中断返回 中断返回是指中断服务完后,计算机返回原来断开的位置, 继续执行原来的程序。中断返回由中断返回指令RETI来实现。该 指令的功能是把断点地址从堆栈中弹出,送回程序计数器PC, 此外,还通知中断系统已完成中断处理,并同时清除优先级状态 触发器