nullnull**单片机原理与接口技术第6章 MCS-51单片机 中断系统主讲 杨宁本章教学要求 **1. 了解MCS-51单片机中断系统的内部结构;
2. 了解MCS-51单片机中断系统的中断源;
3. 了解MCS-51单片机中断系统的工作方式;
4. 熟悉MCS-51单片机中断系统的中断入口地址;
5. 掌握MCS-51单片机中断系统的控制寄存器;
6. 掌握MCS-51单片机中断服务程序的设计方法。本章教学要求 ----第6章 MCS-51单片机中断系统6.1 中断的概述**6.1 中断的概述CPU与外部设备交换信息有以下几种方式:
1)程序控制传送方式:
包括分为无条件传送方式和查询传送方式;
2) 中断传送方式;
3) 直接存储器存取(DMA)方式。----CPU与外部设备交换信息6.1.1 CPU与外设的输入/输出方式**6.1.1 CPU与外设的输入/输出方式 无条件传送方式也称为同步程序传送,这种传送方式不需要交换状态信息,即不需要测试外部设备的状态,只需在程序中加入访问外设的指令,便可以根据需要随时实现数据传送。
适用于外设的工作速度非常快,足以和CPU同步工作。
1.无条件传送方式-----无条件传送方式2.查询传送方式**2.查询传送方式 通常把通过程序对外设状态的
检测
工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训
称之为“查询”,所以这种有条件的传送方式又叫做程序查询方式。查询的流程图如图所示。6.1.1 CPU与外设的输入/输出方式-----查询传送方式3.直接存储器存取(DMA)方式**3.直接存储器存取(DMA)方式 DMA(Direct Memory Access)方式是CPU让出数据总线(悬浮状态),使外部设备和存储器之间直接传送(不通过CPU)数据的方式。
主要用于:外设和存储器之间有大量的数据需要传送,或外部设备的工作速度很快的情况。6.1.1 CPU与外设的输入/输出方式---DMA方式4.中断传送方式**4.中断传送方式 中断方式则是在外设为数据传送作好准备之后,就向CPU发出中断请求信号(相当于通知CPU),CPU接收到中断请求信号之后立即作出响应,暂停正在执行的源程序(主程序),而转去为外设的数据输入输出服务,待服务完之后,程序返回,CPU再继续执行被中断的源程序。6.1.1 CPU与外设的输入/输出方式----中断传送方式6.1.2 中断的概述**6.1.2 中断的概述 中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因而必须终止源程序的执行,转去完成相应的处理程序,待处理结束之后再返回继续执行被终止源程序的过程。如图6-2所示。实现这种中断功能的硬件系统和软件系统统称为中断系统。---中断的概念6.1.2 中断的概述**主程序:CPU正常情况下运行的程序称为主程序。
中断源:把向CPU提出中断申请的设备称为中断源。
中断请求:由中断源向CPU所发出的请求中断的信号称中断请求。
中断响应:CPU在满足条件情况下接受中断申请,终止现行程序执行转而为申请中断的对象服务称中断响应。
中断服务程序:为服务对象服务的程序称为中断服务程序。
断点:现行程序被中断的地址称为断点。
中断返回:中断服务程序结束后返回到原来程序称中断返回。6.1.2 中断的概述---中断的概念6.1.2 中断的概述**(1)中断源
(2)中断优先级控制
(3)中断响应的过程 6.1.2 中断的概述-----中断系统的基本问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
1) 检测中断
2) 保护现场
3) 中断服务
4) 清除中断标志位
5) 恢复现场
6) 中断返回6.1.2 中断的概述**保护现场是指由于CPU执行中断处理程序时,可能要使用主程序中使用过的累加器、寄存器或标志位。为了使这些寄存器的值在中断服务程序中不被冲掉,在进入中断服务程序前,要将有关寄存器保护起来。
在中断服务程序执行完时,还必须恢复原寄存器的内容及原程序中断处的地址。即恢复现场和恢复断点。
保护现场和恢复现场是通过在中断服务程序中采用堆栈操作指令PUSH及POP实现的。而保护断点、恢复断点是由CPU响应中断和中断返回时自动完成的。6.1.2 中断的概述-----保护断点和保护现场null**6.2.1 中断系统的内部结构MCS-51单片机的中断系统由与中断有关的特殊功能寄存器、中断入口、顺序查询逻辑电路组成,其内部结构框图如图6-3所示。-----中断系统的内部结构6.2.2 中断源与中断方式**6.2.2 中断源与中断方式 MCS-51单片机的中断系统提供了5个中断源。----中断源及种类1.中断源6.2.2 中断源与中断方式**通常,在实际应用中有以下几种情况可采取中断方式工作。
(1) I/O设备。
(2) 硬件故障。
(3) 实时时钟。
(4) 为调试程序而设置的中断源。----中断工作方式应用6.2.2 中断源与中断方式null**----中断源及种类2.中断方式
(1) 外部中断
外部中断是指从单片机外部引脚INT0和INT1输入中断请求信号的中断,即外部中断源有两个。如输入/输出的中断请求、实时事件的中断请求、掉电和设备故障的中断请求都可以作为外部中断源,从引脚INT0和INT1输入。
外部中断请求和有电平触发和跳变(边沿)触发两种触发方式。这两种触发方式可以通过对特殊功能寄存器TCON编程来选择。 6.2.2 中断源与中断方式6.2.2 中断源与中断方式**----中断源及种类(2) 内部中断
内部中断是单片机芯片内部产生的中断。MCS-51单片机(51子系列)的内部中断有定时/计数器T0和T1的溢出中断,串行口的发送/接收中断。2.中断方式6.2.2 中断源与中断方式6.2.3 中断控制寄存器**6.2.3 中断控制寄存器 MCS-51中断系统在4个特殊功能寄存器控制下工作。这4个特殊功能寄存器是:
(1) 定时/计数器控制寄存器(TCON)
(2) 串行口控制寄存器(SCON)
(3) 中断允许控制寄存器(IE)
(4) 中断优先级控制寄存器(IP)
通过对这4个特殊功能寄存器的各位进行置位或复位操作,可实现各种中断控制功能。-----概述null**6.2.3 中断控制寄存器1) TCON中的中断请求标志位
TCON为定时/计数器控制寄存器。这个寄存器有两个作用,即除了控制定时/计数器T0和T1的溢出中断外,还控制外部中断的触发方式和锁存外部中断请求标志位。TCON中的各位定义如图所示。-----概述1.中断请求控制null** IT0:选择外部中断0的中断触发方式。
IT0=0,为电平触发方式,低电平有效;
IT0=1,为边沿触发方式,P3.2引脚信号出现负跳变有效。
IT1:选择外部中断1的中断触发方式。其功能与IT0类同。
IE0:外部中断0的中断请求标志。
当INT0输入端口有中断时IE0=1,由硬件置位。6.2.3 中断控制寄存器-----TCON寄存器null**IE1:外部中断INT1的中断请求标志。功能与IE0类似。
TF0:片内定时/计数器0溢出中断请求标志。
定时/计数器的核心为加法计数器,当定时/计数器T0发生定时或计数溢出时,由硬件置位TF0或TF1,向CPU申请中断,CPU响应中断后,会自动清零TF0或TF1。
TF1:片内定时/计数器1溢出中断请求标志。功能与TF0类同。 6.2.3 中断控制寄存器-----TCON寄存器null**外部中断请求标志位IE0和IE1及其中断请求信号的撤销问题
无论是采用边沿触发方式(IT0=1)还是电平触发方式(IT0=0),在CPU响应中断请求后,中断请求标志位IE0即由硬件自动清零。
由于CPU对引脚没有控制作用,在采用电平触发方式时中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清零的IE0标志位重新置1,这有可能再次引起中断而造成出错。所以,在中断响应后必须采用其他方法撤销该引脚上的低电平,以撤除外部中断请求信号。中断请求标志位IE1的清零及中断请求信号的撤销问题与IE0类似。6.2.3 中断控制寄存器-----TCON寄存器2)SCON中的中断标志位**2)SCON中的中断标志位 SCON为串行口控制寄存器,其字节地址为98H,可以进行位寻址。串行口的接收和发送数据中断请求标志位(RI、TI)被锁存在串行口控制寄存器SCON中,其格式如图6-6所示。6.2.3 中断控制寄存器-----SCON寄存器null**TI:串行口发送中断请求标志位
CPU将一个数据写入发送缓冲器SBUF时,就启动发送,每发送完一帧串行数据后,硬件置位TI。但CPU响应中断时,并不清除TI中断标志,必须在中断服务程序中由软件对TI清0。
RI:串行口接收中断请求标志位
在串行口允许接收时,每接收完一帧数据,由硬件自动将RI位置为1。CPU响应中断时,并不清除RI中断标志,也必须在中断服务程序中由软件对TI标志清0。6.2.3 中断控制寄存器-----SCON寄存器2.中断允许控制
**2.中断允许控制
MCS-51对中断源的开放或屏蔽是由中断允许寄存器IE控制的,IE的字节地址为0A8H,可以按位寻址,当单片机复位时,IE被清为0。
通过对IE的各位置1或清0操作,实现开放或屏蔽某个中断,其格式如图6-7所示。6.2.3 中断控制寄存器-----IE寄存器null**EA:总中断允许控制位。当EA=0时,屏蔽所有的中断;当EA=1时,开放所有的中断。
ES:串行口中断允许控制位。当ES=0时,屏蔽串行口中断;当ES=1且EA=1时,开放串行口中断。
ET1:定时/计数器T1的中断允许控制位。当ET1=0时,屏蔽T1的溢出中断;当ET1=1且EA=1时,开放T1的溢出中断。6.2.3 中断控制寄存器-----IE寄存器null**EX1:外部中断1的中断允许控制位。
当EX1=0时,屏蔽外部中断1的中断;
当EX1=1且EA=1时,开放外部中断1的中断。
ET0:定时/计数器T0的中断允许控制位。
功能与ET1相同。6.2.3 中断控制寄存器-----IE寄存器null** EX0:外部中断0的中断允许控制位。功能与EX1相同。
MCS-51复位以后,IE被清0,所有的中断请求被禁止。由用户程序对IE相应的位置1或清0,即可允许或禁止各中断源的中断申请。改变IE的内容,即可由位操作指令来实现(即SETB bit;CLR bit),也可用字节操作指令实现(即MOV IE, #data;ORL IE, #data;MOV IE, A等)。6.2.3 中断控制寄存器-----IE寄存器null**(1)用位操作指令
CLR EX0 ;禁止外部中断0中断
CLR EX1 ;禁止外部中断1中断
CLR ES ;禁止串行口中断
SETB ET0 ;允许定时/计数器T0中断
SETB ET1 ;允许定时/计数器T1中断
SETB EA ;CPU开中断6.2.3 中断控制寄存器例6-2 若允许片内2个定时/计数器中断,禁止其它中断源的中断请求,试编写出设置IE的相应程序。(2)用字节操作指令
MOV IE, #8AH
----IE的设置3.中断优先级控制**3.中断优先级控制8051有2个中断优先级,每一个中断请求源均可编程为高优先级中断或低优先级中断,从而实现2级中断嵌套。6.2.3 中断控制寄存器-----2级中断嵌套null**1) 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,一直到该中断服务程序结束,返回了主程序且执行了主程序中的一条指令后,CPU才响应新的中断请求。
2) 正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。
3) CPU同时接收到几个中断请求时,首先响应优先级最高的中断请求。6.2.3 中断控制寄存器-----中断优先级控制以上所述可归纳为下面3条基本规则。 中断优先级寄存器IP **中断优先级寄存器IP 1) PS:串行口中断优先级控制位
PS=1,设定串行口为高优先级;PS=0,设定串行口为低优先级。
2) PT1:定时器T1中断优先级控制位
PT1=1,设定T1为高优先级;PT1=0,设定T1为低优先级。6.2.3 中断控制寄存器在MCS-51内部提供了一个中断优先级控制寄存器(IP)。其字节地址为B8H,既可按字节形式访问,又可按位形式访问,其位地址范围为0B8H~0BFH。null**中断优先级寄存器IP 3) PX1:外部中断1中断优先级控制位
PX1=1,设定外部中断1为高优先级; PX1= 0,设定外部中断1为低优先级。
4) PT0:定时器T0中断优先级控制位
PT0=1,设定T0为高优先级;PT0=0,设定T0为低优先级。
5) PX0:外部中断0中断优先级控制位
PX0=1,设定外部中断0为高优先级;PX0=0,设定外部中断0为低优先级。6.2.3 中断控制寄存器null** 在同时收到几个同一优先级的中断请求时,哪一个中断请求能优先得到响应,取决于内部查询次序,这相当于在同一个优先级内,还同时存在按次序决定的第二优先级结构,其查询次序见表6-2所示。 6.2.3 中断控制寄存器-----中断优先级控制null**(1)用位操作指令
CLR PS ;串行口、定时
/计数器T0、
T1为低优先级
CLR PT0
CLR PT1
SETB PX0 ;外中断0、1为
高优先级
SETB PX16.2.3 中断控制寄存器例6-3 设置IP寄存器的初始值,使得MCS-51的片内中断为低优先级,片外中断为高优先级。(2)用字节操作指令
MOV IP, #05H
---中断优先级设置null**例6-4 某程序中对IE、IP的初始化如下:
MOV IE, #8FH
MOV IP, #06H
则此时该系统中:
1)CPU中断允许;
2)允许外部中断0、外部中断1、定时器0和定时器1提出的中断申请,屏蔽串口中断;
3)允许中断源的中断优先次序为:
定时/计数器0→外部中断1→外部中断0→定时/计数器16.2.3 中断控制寄存器----中断优先级设置6.2.4 中断响应**6.2.4 中断响应 单片机响应中断的条件为中断源有请求且CPU开中断(即EA=1)。
1) 无同级或高级中断正在处理。
2) 现行指令执行到最后1个机器周期且已结束。
3) 若现行指令为RETI或访问特殊功能寄存器IE、IP的指令时,执行完该指令且紧随其后的另一条指令也已执行完毕。-----中断响应的条件1.中断响应的条件---2.中断响应过程**---2.中断响应过程1) 根据中断请求源的优先级高低,对相应的优先级状态触发器置1。
2) 保护断点,即把程序计数器PC的内容压入堆栈保存。
3) 清除相应的中断请求标志位。
4) 把被响应的中断源所对应的中断服务程序入口地址送入PC,从而转入相应的中断服务程序执行。
6.2.4 中断响应CPU响应中断后,由硬件自动执行如下的功能操作:null** MCS-51系统的中断服务程序的入口地址是由硬件自动生成的。各中断源与它所对应的中断服务程序入口地址见表6-3所示。6.2.4 中断响应-----中断服务程序的入口地址6.2.4 中断响应** 由于MCS-51系列单片机的相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,通常是在相应的中断服务程序入口地址中放一条长跳转指令LJMP,这样就可以转到64KB的任何可用区域。若在2KB范围内转移,则可存放AJMP指令。6.2.4 中断响应----中断服务程序部署6.2.4 中断响应** ORG 0000H
AJMP MAIN
ORG 0003H
LJMP INT0
…
ORG 0100H
MAIN: …
6.2.4 中断响应例6-5 设外部中断0提出申请,且主程序中需对累加器A、DPTR、R0和R1进行保护,则程序如下:ORG 1000H ;1000H为中断入口地址
INT0: PUSH ACC
PUSH DPH
PUSH DPL
PUSH R0
PUSH R1
…
POP R1
POP R0
POP DPL
POP DPH
POP ACC
RETI----保护现场6.2.4 中断响应** 在中断服务程序中,PUSH指令与POP指令必须成对使用,否则不能正确返回断点。而且最后一条指令必须为中断返回指令RETI,RETI的具体功能是:
1) 将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序;
2) 将相应中断优先级状态触发器清0,通知中断系统,中断服务程序已执行完毕。6.2.4 中断响应6.3 中断应用举例**6.3 中断应用举例 中断系统虽然是硬件系统,但中断系统的应用需要硬件系统和软件系统相互配合才能正确使用。在设计中断服务程序时需要注意以下几个问题。6.3.1 中断服务程序设计**6.3.1 中断服务程序设计1) 设置中断允许控制寄存器IE,允许相应的中断源请求中断。
2) 设置中断优先级寄存器IP,确定并分配所使用的中断源的优先级。
3) 若是外部中断源,还要设置中断请求的触发方式IT1或IT0,以决定采用电平触发方式还是边沿触发方式。
4) 编写中断服务程序,处理中断请求。
一般将前3条都放在主程序的初始化程序段中。1.中断服务程序设计的基本任务null**
(1)现场保护和现场恢复
(2)开中断和关中断
(3)中断返回 6.3.1 中断服务程序设计2.中断服务程序的流程6.3.2 中断服务程序应用**6.3.2 中断服务程序应用 假设允许外部中断0和1中断,并设定外部中断0为高级中断,外部中断1为低级中断,外部中断0采用边沿触发方式,外部中断1采用电平触发方式。对应的主程序中程序段如下:
SETB EA ;CPU开中断
SETB ET0 ;允许外中断0产生中断
SETB ET1 ;允许外中断1产生中断
SETB PX0 ;外中断0为高级中断
CLR PX1 ;外中断1为低级中断
SETB IT0 ;外中断0为跳沿触发方式
CLR IT1 ;外中断0为电平触发方式例6-6 中断初始化程序6.3.2 中断服务程序应用** 图6-11为采用单外部中断源的数据采集系统示意图。将P1口设置成数据输入口,外围设备每准备好一个数据时,发出一个选通信号(正脉冲),使D触发器Q端置1,产生中断请求信号, P3.0用于撤除中断请求信号,从而清除IE0标志。6.3.2 中断服务程序应用例6-7 单外部中断源示例6.3.2 中断服务程序应用** ORG 0000H
START: LJMP MAIN ;跳转到主程序
ORG 0003H
LJMP INT0 ;转向中断服务程序
ORG 0030H ;主程序
MAIN: CLR IT0 ;设为电平触发方式
SETB EA ;CPU开放中断
SETB EX0 ;允许INT0中断
MOV DPTR, #1000H
;设置数据区地址指针
… …6.3.2 中断服务程序应用6.3.2 中断服务程序应用**ORG 0200H ;中断服务程序
INT0: PUSH PSW ;保护现场
PUSH ACC
CLR P3.0 ;由P3.0输出0,使/Q变为1,撤除中断请求信号
SETB P3.0 ;由P3.0输出1,使D触发器能够工作
MOV A, P1 ;输入数据
MOVX @DPTR, A ;存入数据存储器
INC DPTR ;修改数据指针,指向下一个单元
… …
POP ACC ;恢复现场
POP PSW
RETI ;中断返回6.3.2 中断服务程序应用6.3.2 中断服务程序应用** 当外部中断源多于两个时,可以采用硬件申请与软件查询方法,把多个中断源通过硬件“线或”或者经或非门引入外部中断源输入端(或),同时又连到某I/O口。这样,每个“源”都可能引起中断,但在中断服务程序中通过软件查询,便可确定哪一个是正在申请的中断源,其查询的次序则由中断源优先级决定。这样就可实现多个外部中断源的扩展。6.3.2 中断服务程序应用例6-9 中断和查询结合的方法扩展多个外中断源6.3.2 中断服务程序应用** 图6-12中的中断线可实现系统的故障显示。当系统的各部分工作正常时,四个故障源输入端全为低电平,显示灯全熄灭。只有当某部分出现故障时,则对应的输入线由低电平变为高电平,从而引起8051的中断,在中断服务中通过查询即可判断故障源,并进行相应的LED显示。6.3.2 中断服务程序应用null**;*****主程序******
ORG 0000H ;复位入口地址
AJMP MAIN ;转主程序
ORG 0003H ;外部0中断入口
AJMP IO ;转中断服务程序
MAIN: ANL P1, #AAH ; 置P1口输出全为0
SETB IT0 ;INT0边沿触发
SETB EX0
SETB EA
LOOP: SJMP LOOPnull**;**********中断服务程序***********
IO: JNB P1.1 , L1
SETB P1.0
L1: JNB P1.3 , L2
SETB P1.2
L2: JNB P1.5 , L3
SETB P1.4
L3: JNB P1.7 , L4
SETB P1.6
L4: RETI
ENDnull**【例6-10】 结合如图6-13所示电路(流水灯),编写由P1口控制发光二极管状态的程序。
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
:要求P1口输出控制8只发光二极管呈循环点亮状态,当开关S按下时,发光二极管全部熄灭一段时间,然后回到原来的循环点亮状态。6.3.2 中断服务程序应用6.3.2 中断服务程序应用** ;*****主程序******
ORG 0000H ;复位入口地址
AJMP ST ;转主程序
ORG 0003H ;外部0中断入口
LJMP SER ;转中断服务程序
ORG 0100H
ST: MOV SP, #40H
MOV IE, #81H
MOV IP, #01H
MOV TCON, #00H
MOV A, #01H ;ACC初始化 6.3.2 中断服务程序应用6.3.2 中断服务程序应用**RES: MOV P1, A ;显示
RL A ;循环移位
LCALL DEL ;延时保持
SJMP RES ;循环
; *******中断服务程序*******
ORG 1000H
SER: PUSH ACC ;存当前的ACC值
MOV 30H, R1 ;存延时程序的计数值
MOV 31H, R2
MOV P1, #00H ;把二极管熄灭
MOV R3, #10 ;保持6.3.2 中断服务程序应用6.3.2 中断服务程序应用** LOOP: LCALL DEL
DJNZ R3, LOOP
MOV R1, 30H ;取延时程序的计数值
MOV R2, 31H
POP ACC ;取当前的ACC值
MOV P1, ACC
RETI ;中断返回
DEL: MOV R1, #123 ;延时程序
DEL1: MOV R2, #200
DEL2: DJNZ R2, DEL2
DJNZ R1, DEL1
RET
END6.3.2 中断服务程序应用习题与思考题**习题与思考题6-1 简述中断、中断源、中断嵌套及中断优先级的含义。
6-2 MCS-51单片机提供了几个中断源?有几级中断优先级别?各中断标志是如何产生的又如何清除这些中断标志?各中断源所对应的中断矢量地址是多少?
6-3 外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?----第6章 MCS-51单片机中断系统习题与思考题** 6-4 试分析以下几种中断优先级的排列顺序(级别由高到低)是否可能?若可能,则应如何设置中断源的中断级别?否则,请简述不可能的理由。
1) 定时器T0溢出中断,定时T1溢出中断,外中断1NT0,外中断INT1,串行口中断
2) 串行口中断,外中断1NT0,定时器T0溢出中断,外中断INT1,定时器T1溢出中断;习题与思考题----第6章 MCS-51单片机中断系统null**3) 外中断INT0,定时器T1溢出中断,外中断INT1,定时器T0溢出中断,串行口中断;
4) 外中断INT0,外中断INT1,串行口中断,定时器T0溢出中断,定时器T1溢出中断;
5) 串行口中断,定时器T0溢出中断,外中断INT0,外中断INT1,定时器T1溢出中断;
6) 外中断INT0,外中断INT1,定时器T0溢出中断,串行口中断,定时器T1溢出中断。习题与思考题----第6章 MCS-51单片机中断系统习题与思考题**6-6 MCS-51 中若要扩充6个中断源,可采用哪些方法?如何确定它们的优先级?
6-8 当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?习题与思考题----第6章 MCS-51单片机中断系统习题与思考题**6-9 在下列各种中断方式中,需要外加电路实现中断撤除的为:
1) 定时中断
2) 脉冲方式的外部中断
3) 外部串行中断
4) 电平方式的外部中断
6-10 某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H。试编写主程序及中断服务程序(转至相应的入口即可)。习题与思考题----第6章 MCS-51单片机中断系统