MCS51单片机的中断系统
MCS-51系列单片机的中断系统
大连理工大学出版社
第5章 中断
当断不断必受其乱
第5章 中断系统
5.1 概述 MCS-51系列单片机的中断系统 5.2 MCS-51系列单片机的中断系统 5.3 中断程序设计方法
第5 章
中断系统
中断控制是单片机最重要的技术之一, 实时控制及人机交互等应用都是通过中 断实现的。 本章主要介绍中断的基本概念、MCS-51 系列单片机单片机的中断机制及其简单 应用。
5.2.2中断控制 5.2.2中断控制
1.中断允许 MCS-51系列单片机中断系统通过中断允许控制 寄存器IE实现开中断和关中断的功能。 (1)IE寄存器 IE寄存器由一个中断允许总控制位和各中断源 的中断允许控制位构成,从而进行两级中断允 许控制。IE寄存器的各位定义如下:
5.2.2中断控制 IE寄存器
5.2.2中断控制 IE寄存器
EX1(IE.2)——外中断1的中断允许控 制位。中断总允许时,EX1=0,禁止外中 断1中断;EX1=1,允许外中断1中断。 ET1(IE.3)——定时器T1的中断允许控 制位。中断总允许时,EX1=0,禁止T1中 断;ET1=1,允许T1中断。
5.2.2中断控制 5.2.2中断控制 IE寄存器
5.2.1中断源和中断标志
当MCS-51系列单片机的外中断源以脉冲方式触 发时,负脉冲有效。CPU在一个机器周期采样到 INT0(或者 INT1 )引脚上为高电平,在接下 来的一个机器周期采样到INT0(或者INT1)引 脚上是低电平,即出现了下降沿的跳变(负脉 冲)时,就认为是外中断0(或者外中断1)的 一个有效的中断请求信号。因为两次检测的间 隔时间为一个机器周期,负脉冲对应的高低电 平持续时间都应至少维持一个机器周期,从而 保证CPU能够检测到电平的跳变。
MCS51的中断系统有几个中断源
.MCS51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少?答:MCS51单片机有5个中断源,2个中断优先级,中断优先级由特殊功能寄存器IP控制,在出现同级中断申请时,CPU按如下顺序响应各个中断源的请求:INT0、T0、INT1、T1、串口,各个中断源的入口地址分别是0003H、000BH、0013H、001BH、0023H。
3.MCS51系列单片机的内部资源有哪些?说出8031、8051和8751的区别。
答:MCS51系列单片机上有1个8位CPU、128B的RAM、21个SFR、4个并行口、1个串行口、2个定时计数器和中断系统等资源。
8031、8051和8751的区别是8031内无ROM;8051内有4KB的掩膜ROM;8751内有4KB的EPROM。
五、作图题(10分)用6264(8K*8)构成16K的数据存储系统。
要求采用线选法产生片选信号,并计算6264的地址范围答:WR接6264的WERD接6264的OEAB0---AB12接6264的A0---A12DB0—DB7接6264的D0—D7AB15、AB14分别接Y0和Y1地址:0000H---1FFFH;2000H---3FFFH六、设计题(1题13分;2题12分,共25分)1.某单片机控制系统有8个发光二极管。
试画出89C51与外设的连接图并编程使它们由左向右轮流点亮。
2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。
试画出8051与外设的连接图并编程实现上述要求1.某单片机控制系统有8个发光二极管。
试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。
答:图 (5分) 构思 (3分)MOV A,#80H (1分)UP:MOV P1,A (1分)RR A (2分)SJMP UP (1分2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。
MCS-51单片机的中断系统
MCS-51单⽚机的中断系统单⽚机中断技术概述在任何⼀款事件驱动型的CPU⾥⾯都应该会有中断系统,因为中断就是为响应某种事件⽽存在的。
中断的灵活应⽤不仅能够实现想要的功能,⽽且合理的中断安排可以提⾼事件执⾏的效率,因此中断在单⽚机应⽤中的地位是⾮常重要的。
单⽚机中断(Interrupt)是硬件驱动事件,它使得CPU暂停当前的主程序,转⽽去执⾏⼀个中断服务⼦程序。
为了更形象地理解中断,下⾯以学⽣上⾃习时接电话为例阐述⼀下中断的概念。
单⽚机的中断系统有5个中断源、2个中断优先级,可实现两级中断服务程序嵌套。
如果单⽚机没有中断系统,单⽚机的⼤量时间可能会浪费在查询是否有服务请求发⽣的定时査询操作上。
采⽤中断技术完全消除了单⽚机在査询⽅式中的等待现象,⼤⼤地提⾼了单⽚机的⼯作效率和实时性。
单⽚机中断系统结构及中断控制中断系统结构图如图5-2所⽰。
由图5-2可见,MCS-51中断系统共有5个中断请求源:INT0——外部中断请求0,中断请求信号由INT0引脚输⼊。
定时/计数器T0计数溢出发出的中断请求。
INT1——外部中断请求1,中断请求信号由INT1引脚输⼊。
定时/计数器T1计数溢出发出的中断请求。
串⾏⼝中断请求。
中断优先级从⾼到底排列。
单⽚机如何知道有中断请求信号?是否能够响应该中断?若5个中断源请求信号同时到来,单⽚机如何响应?这些问题都可以由中断寄存器来解决。
单⽚机中断寄存器有中断标志寄存器TCON和SCON、中断使能寄存器IE和中断优先级寄存器IP,这些寄存器均为8位。
中断标志寄存器5个中断请求源的中断请求标志分别由TCON和SCON的相应位锁存,单⽚机通过这些中断标志位的状态便能知道具体是哪个中断源正在申请中断。
TCON寄存器TCON寄存器为定时/计数器的控制寄存器,字节地址为88H,可位寻址。
特殊功能寄存器TCON的格式如图5-3所⽰。
TCON各标志位功能如下。
TF1——定时/计数器T1的溢出中断请求标志位。
第05章 MCS-51单片机的中断与定时(1-4)
2
1
TH0
;P1.0输出“0” ;P1.0输出“1”
5.2 MCS-51单片机的中断系统
五、外中断应用举例
1. 中断初始化程序
设置外中断源的触发方式 设置中断允许寄存器IE 设置中断优先级寄存器IP
2. 中断服务程序
保护现场 中断处理 恢复现场
23/65
5.2 MCS-51单片机的中断系统
【例5-3】 设外部中断0为下降沿触发方 式,高优先级,试编写中断初始化程序
5.2 MCS-51单片机的中断系统
【例5-4】 将单脉冲接到外中断0(INT0)引脚,利 用P1.0作为输出,经反相器接发光二极管。编写程 序,每按动一次按钮,产生一个外中断信号,使发 光二极管的状态发生变化,由亮变暗,或反之
P1.0 单脉冲 发生器 INT0
1
+5V
8031
26/65
5.2 MCS-51单片机的中断系统
串口:0023H
20/65
5.2 MCS-51单片机的中断系统
四、中断请求的撤除
1.定时/计数器中断请求标志TF0/TF1会自动撤除 2.串行口中断请求标志TI/RI要用指令撤除
CLR TI ;清TI标志位 CLR RI ;清RI标志位
3.负脉冲触发的外中断请求标志IE0/IE1会自动撤除 4.低电平触发的外中断请求信号需要外加电路撤除
下次课前请预习5.3节
30/65
5.3 51单片机的定时器/计数器
MCS-51单片机内部有两个16位定时/计数器 T0和T1,简称定时器0和定时器1
在特殊功能寄存器TMOD和TCON的控制下, 它们既可以设定成定时器使用,也可以设定 成计数器使用
定时/计数器有4种工作方式,具有中断功能, 可以完成定时、计数、脉冲输出等任务
第5章-MCS-51单片机中断系统-PPT
5、2、2 MCS-51单片机得中断源
IT1=1,外中断1为下降沿触发 采样:CPU在每一个机器周期得S5P2期间 对P3、3引脚采样,若上一个机器周期检测为 高电平,紧挨着得下一个机器周期为低电平,则 使IE1置1。 IT0:外中断0触发方式控制位。
CPU主要就是通过标志寄存器、控制 寄存器、优先级寄存器对中断源进行管
5、2、2 MCS-51单片机得中断源
(1)与中断标志相关得SFR
主要有:定时器/计数器T0、T1控制寄 存器TCON
串行口控制寄存器SCON 定时器/计数器2控制寄存器T2CON(第 6章介绍) (2)中断控制寄存器:TCON、IE (3)中断优先级寄存器:IP
DMA释放总线:当一批数据传送后, DMA控制器再向CPU发出“结束总线请 求”,CPU响应请求,收回总线使用权。
DMA方式速度高、效率高,可以与CPU 并行工作。
5、1、2 中断得相关概念
1、中断得概念
CPU在正常运行得时候, 外部或者内部发生了请求 CPU迅速去处理得事件,CPU 暂时中断当前得程序,去处理 所发生得事件,处理完事件后, 再返回到原来被中断得程序 继续运行。此过程称为中断。
图5-3 定时器得控制寄存器
TCON可位寻址。复位后TCON=00H。 TF1(TCON、7):T1溢出标志位
当T1计满溢出时,由内部硬件置位; 中断响应后自动清 0。
5、2、2 MCS-51单片机得中断源
TF0:T0溢出标志位 功能同TF1。
IT1:外中断1触发方式设置位 IT1=0,外中断1为低电平触发
5、1、1 微机得输入/输出方式
第五章 MCS-51的中断系统
第5章MCS-51单片机的中断系统【例5-1】设允许外部中断0和串行口中断,禁止其它中断源的中断申请。
试根据假设条件设置IE的相应值。
解:⑴用位操作指令来编写如下程序段:SETB EX0 ;允许外部中断0中断SETB ES ;允许串行口中断CLR EX1 ;禁止外部中断1中断CLR ET0 ;禁止定时器/计数器T0中断CLR ET1 ;禁止定时器/计数器T1中断SETB EA ;CPU开中断⑵用字节操作指令来编写:MOV IE, #91H【例5-2】设置中断优先级控制寄存器IP的初始值,使得8031的2个外中断请求为高优先级,其它中断请求为低优先级。
解:⑴用位操作指令SETB PX0;2个外中断为高优先级SETB PX1CLR PS ;串行口、2个定时器为低优先级中断CLR PT0CLR PT1⑵用字节操作指令MOV IP,#05H【例5-3】假设允许外部中断0中断,并设定它为高级中断,其它中断源为低级中断,采用跳沿触发方式。
在主程序中可编写如下程序段:SETB E A ;EA位置“1”,CPU开中断SETB E X0 ;EX0位置“1”,允许外部中断0产生中断SETB P X0 ;PX0位置“1”,外部中断0为高级中断SETB I T0 ;IT0位置“1”,外部中断0为跳沿触发方式【例5-4】根据图5-9的中断服务程序流程,编写出中断服务程序。
假设现场保护只需要将PSW寄存器和累加器A的内容压人堆栈中保护起来。
解一个典型的中断服务程序如下:INT: CLR E A ;CPU关中断PUSH PSW ;现场保护PUSH ASETB E A ;CPU开中断中断处理程序段CLR E A ;CPU关中断POP A ;现场恢复POP PSWSETB E A ; CPU开中断RETI ;中断返回,恢复断点上述程序有几点需要说明的是:⑴本例的现场保护假设仅仅涉及到PSW和A的内容,如果还有其它的需要保护的内容,只需要在相应的位置再加几条PUSH和POP指令即可。
第5章 MCS-51单片机的中断系统
(2)实现实时处理
在实时控制中,现场的参数、信息是不断变化的。 有了中断功能,外界的这些变化量可随时向CPU 发出中断请求,CPU可以马上响应加以处理。
(3)故障处理
单片机运行过程中,出现一些故障时(如掉电、 存储出错、运算溢出等),有了中断功能,单片 机就能自行处理而不必停机。 外界的中断请求是随机的,单片机响应请求后要 转到中断服务程序,与调用子程序相类似,需要 注意对现场进行保护。
ORG 0100H
MAIN: …;
第五章 MCS-51单片机的中断系统
ORG 1000H INT1:PUSH ACC PUSH DPH PUSH DPL PUSH R0 PUSH R1 … POP R1 POP R0 POP DPL POP DPH POP ACC RETI
第五章 MCS-51单片机的中断系统
5.3 中断处理过程
中断响应
中断处理
中断返回
第五章 MCS-51单片机的中断系统
5.3.1 中断响应
1. CPU响应中断的基本条件 (1)有中断源提出中断请求; (2)中断没有被禁止; (3)没有正在响应的同级或更高优先级的中断; (4)当前的指令周期已经结束;(也就是说,中 断申请时,正在执行的这条指令完成后,才会响 应中断请求) (5)若当前指令为RETI或访问IE、IP指令, CPU在执行完当前指令后,要再执行一条指令才 会响应中断请求。
第五章 MCS-51单片机的中断系统
2.中断响应过程 (1)根据响应的中断源的中断优先级,使相应的优 先级状态触发器置1; (2)清除相应的中断请求标志位(串行口中断请求 标志RI和TI除外);
(3)把当前程序计数器PC的内容压入堆栈;
(4)把被响应的中断源所对应的中断服务程序的入 口地址送入PC,从而转入相应的中断服务程序。 CPU响应中断请求后,在中断返回(执行RETI)前, 中断请求必须被清除,即中断标志位=0,否则会再 一次引起中断响应。
MCS-51单片机的中断系统
其各位格式为: D7 D6 D5 D4 D3 D2 D1 D0 -- -- -- PS PT1 PX1 PT0 PX0
如果CPU接收到几个相同优先级的中断请求源时,响应哪一个 中断申请要取决于一个内部的硬件查询序列,此时应按照下表所 示的优先权结构先后响应中断请求。
中断源 外部中断0(IE0) 定时器T0中断(TF0) 外部中断1(IE1) 定时器T1中断(TF1) 串行口中断(RI、TI)
主程序的中断处理
1.2 CPU响应及处理中断机制
一般来说,根据中断源的轻重缓急排序,CPU优先处理最 紧急事件的中断请求源。也就是说,需要对各个中断源设定 相应的优先级,CPU总是最先响应级别最高的中断。中断源可 以分为两个中断优先级:高优先级和低优先级。用户可以用 关中断指令或复位指令来屏蔽所有中断请求,也可以用开中 断指令使CPU接收中断申请。
SM0 SM1 SM2 REN TB8 RB8 TI RI
1.4 中断控制及中断优先级
1.中断允许控制寄存器IE(字节地址A8H)
D7 D6 D5 D4 D3 D2 D1 D0 EA -- ET2 ES ET1 EX1 ET0 EX0
使用汇编语言程序控制中断请求信号的允许 或禁止的程序示例如下:
CLR EA ; 禁止所有中断请求
MOV SP, #60H SETB PX0 SETB IT0 SETB ET0 SETB EX0 SETB EA
【例2】若要求外部中断引脚 采用边沿触发方式,处于高优先 级,初始化程序可以采用位操作指令,也可以用字节型指令进行编 制。
位操作指令: SETB EA SETB EX1 SETB PX1 SETB IT1
送/接收后引起。
2.中断请求标志 1)TCON寄存器中的中断标志 TCON是定时/计数器T0、T1的控制寄存器,格式如下:
MCS-51单片机中断系统
位地址 位符号
8FH 8EH DH CH 8BH 8AH 89H 8H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0 和IT1——外部中断请求触发方式控制位 IT0 (IT1)=1 脉冲触发方式,下降沿有效 IT0 (IT1)=0 电平触发方式,低电平有效
MAIN: ···
HERE:
SJMP HERE
1NJERRV
;中断响应程序
RETI
并不是所有的请求都被响应,当遇到下列情况之一时不响应
这些中断请求:
(1)CPU正在处理一个同级或者高级的中断服务
(2)当前指令还没有执行完毕
(3)当前指令是RET、RETI或者是访问IP、IE的指令,执行完
这些指令后,还必须再执行一条指令,才响应中断请求。
从中断的定义我们可以看到中断应具备中断源、中断 响应、中断返回这样三个要素。中断源发出中断请求,单片机 对中断请求进行响应,当中断响应完成后应进行中断返回,返 回被中断的地方继续执行原来被中断的程序。
6-2 中断控制寄存器
1. 定时器控制寄存器(TCON) 该寄存器用于保存外部中断请求以及定时器的计数溢出。进
IE0和IE1——外中断请求标志位 当CPU采样到 INT(0 或 INT1)端出现有效中断请求时,IE0 (IE1)位由硬件置“1”。当中断响应完成转向中断服务程序
时,由硬件把IE0(或IE1)清零。 TR0 和TR1——定时器运行控制位
TR0 (TR1 )=0 定时器/计数器不工作 TR0 (TR1 )=1 定时器/计数器开始工作 TF0和TF1——计数溢出标志位 当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。 当转向中断服务时,再由硬件自动清“0”。计数溢出标志位 的使用有两种情况:采用中断方式时,作中断请求标志位 来使用;采用查询方式时,作查询状态位来使用。
mcs-51单片机中断系统的结构[整理版]
1.简述中断、中断源、中断源的优先级及中断嵌套的含义。
答: 当CPU 正在处理某项事件的时,如果外界或内部发生了紧急情况,要求CPU 暂停正在处理的工作转而去处理这个紧急情况,待处理完以后再回到原来被中断的地方,继续执行原来被中断了的程序,这样的过程称为中断。
单片机采用中断主要有如下几个优点:①可以提高CPU 工作效率;②具有实时处理能力;③具有故障处理能力;④实现分时操作,可控制多个外设同时工作。
向CPU 提出中断请求的源称为中断源;当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU 在一个时刻只能响应并处理中断优先高的请求;在实际应用系统中,当CPU 正在处理某个中断源,即正在执行中断服务程序时,会出现优先级更高的中断源申请中断。
为了使更紧急的级别高的中断源及时得到服务,需要暂时中断(挂起)当前正在执行的级别较低的中断服务程序,去处理级别更高的中断源,待处理完以后,再返回到被中断了的中断服务程序继续执行,但级别相同或级别低的中断源不能中断级别高的中断服务,这就是所谓的中断嵌套。
3.MCS-51 单片机能提供几个中断源?几个中断优先级?各个中断的源的优先级怎样确定?在同一优先级中各个中断源的优先级怎样确定?答: 51 单片机有5 个中断源,两个中断优先级:INT0 、T0、INT1 、T1、串行口中断(包括串行接收中断RI 和串行发送中断TI)。
这 5 个中断源的中断入口地址分别是0003H、000BH、0013H、001BH、0023H。
中断优先级是由片内的中断优先级寄存器IP(特殊功能寄存器)控制的。
PS:串行口中断优先级控制位。
PS=1,串行口定义为高优先级中断源;PS=0,串行口定义为低优先级中断源;PT1:T1 中断优先级控制位。
PT1=1,定时器/计数器 1 定义为高优先级中断源;PT1=0,定时器/计数器 1 定义为低优先级中断源;PX1:外部中断 1 中断优先级控制位。
第3章MCS-51单片机的中断系统
3.3 MCS-51的中断系统 的中断系统
4、中断响应过程 、 关中断:屏蔽其它中断请求信号。 关中断:屏蔽其它中断请求信号。 保护断点:将断点地址压入堆栈保存,即当前 值入栈 值入栈。 保护断点:将断点地址压入堆栈保存,即当前PC值入栈。 寻找中断源:中断服务程序入口地址送 ,转入中断服务。 寻找中断源:中断服务程序入口地址送PC,转入中断服务。 保护现场:将中断服务程序使用的所有寄存器内容入栈。 保护现场:将中断服务程序使用的所有寄存器内容入栈。 中断处理:执行中断源所要求的程序段。 中断处理:执行中断源所要求的程序段。 恢复现场:恢复被使用寄存器的原有内容。 恢复现场:恢复被使用寄存器的原有内容。 开中断:允许接受其它中断请求信号。 开中断:允许接受其它中断请求信号。 中断返回:执行 指令, 中断返回:执行RETI指令,栈顶内容 指令 栈顶内容→PC,程序跳转回断点。 ,程序跳转回断点。
当前PC入栈 书中作记号 当前 入栈
主程序 执行主程序 中断请求 断点 继续执行主程序 中断返回 执行中断 处理程序 中断响应
中断与转子的区别 中断是随机的, 中断是随机的,转子事先编程决定
3.3.1 中断的定义 2、几个术语 、 主程序:原来正常运行的程序称为主程序。 主程序:原来正常运行的程序称为主程序。 断点: 主程序被断开的位置(或地址)称为“断点” 断点 主程序被断开的位置(或地址)称为“断点”。 中断源:引起中断的原因,或发出中断申请的来源。 中断源 引起中断的原因,或发出中断申请的来源。 引起中断的原因 中断请求:中断源要求服务的请求称为“中断请求” 中断请求 中断源要求服务的请求称为“中断请求” 。 中断源要求服务的请求称为 中断响应: 终止当前执行的程序, 中断响应:CPU终止当前执行的程序,去执行相应中断源 终止当前执行的程序 的中断请求。 的中断请求。 中断服务或中断处理程序: 中断服务或中断处理程序: “中断”之后所执行的相应的处理程序。 中断”之后所执行的相应的处理程序。 中断系统:能够实现中断处理功能的部件。 中断系统:能够实现中断处理功能的部件。
MCS-51中断系统教学课件PPT
5.2 MCS-51单片机的中断系统 有5个中断请求源,两个中断优先级,可两级嵌套。 MCS-51单片机的中断系统结构示意图,如图5-3所示。
5.2.1 中断源及中断入口
中断源是指能发出中断请求,引起中断的装置或事件。 MCS-51单片机共有5个中断源,其中2个为外部中断源,3 个为内部中断源:
CPU处理事件的过程,称为CPU的中断响应过程。
图5-1中断流程图所示。 对事件的整个处理过程, 称为中断处理(或中断 服务)。
能够实现中断处理功能的部件称为中断系统;产生中断 的请求源称为中断请求源。中断源向CPU提出的处理请 求,称为中断请求(或中断申请)。进入中断→保护现场 →中断处理恢复现场 →中断返回
MOV IP,#00010100B;
需要指出的是,若置5个中断源全部为高优先级,就等于 不分优先级。
MCS-51单片机响应中断的基本原则如下: 1)低优先级中断可被高优先级中断请求所中断,反之则不 能。 2)在同一优先级中(不管是高优先级或低优先级),某个 中断一旦得到响应,与它同级的中断请求就不能再中断它。 CPU同时接收到几个中断时,首先响应优先级最高的中断请 求。如果同级的多个中断请求同时出现,则按CPU查询次序 确定的中断优先权排队来响应,其确定的查询次序见表5.6。 由此可见,各中断源在同一个优先级的条件下,外部中断0 的中断优先权最高,串行口中断优先权最低。
5.3.1 中断响应 1.CPU的中断响应条件 CPU响应中断的条件主要有以下几点: 1)由中断源发出中断申请。 2)中断总允许位EA=1,即CPU允许所有中断源申请中断。 3)申请中断的中断源的中断允许位为1,即此中断源没有被屏
蔽,可以向CPU申请中断。 以上是CPU响应中断的基本条件。若满足,CPU一般会响应中 断,但如果有下列任一种情况存在,中断响应即被封锁。
第5章MCS-51的中断系统
例:写出INT1为低电平触发的中断系统初始化程序
SETB EA; SETB EX1 SETB PX1 CLR IT1
二、 中断服务程序
1、编写中断程序应注意以下几点: ① 为了要跳到用户设计的中断服务程序,在相应入口 地址安排一条跳转指令; ② 在中断服务程序的末尾,安排一条返回指令RETI; ③ 由于在响应中断时,CPU只自动保护断点,所以 CPU的其他现场的保护和恢复也必须由用户在中断服 务程序中安排。
1、T0/T1中断撤除:自动清除TF0 TF1
2、TX/RX中断撤除:不能自动撤除,必须软件清“0” CLR RI CLR TI ANL SCON ,#0FCH
3、外部中断请求的撤除
对于负边沿触发的外部中断,CPU在响应中断后是 用硬件自动清除中断请求标志IE0或IE1。
电平触发时,虽然自动清除中断请求标志IE0或IE1。但 不及时撤除低电平的话会重复响应中断,必须采取措施。
中断允许寄存器IE的单元地址是A8H,各控制位也可 位寻址,故既可以用字节传送指令也可以用位操作指 令来对各个中断请求加以控制。 例:开放T/C1的溢出中断
MOV IE,#88H;
SETB EA SETB ET1
二、 对中断优先级的控制
MCS-51具有两个中断优先级,可由软件设置每个中断 源为高优先级中断或低优先级中断,可实现二级中断 嵌套。
可在中断服务程序开 头安排如下程序: INSVR:ANL P1 ,#0FEHORL Fra bibliotek1,#01H …
RETI END
§4 中断系统的初始化及应用
一、中断系统的初始化 中断初始化是指用户对TCON、SCON、IE等特殊功能 寄存器中的各控制位进行赋值。
中断系统的初始化步骤: 1、 CPU开中断或关中断 2、 某中断源中断请求的允许或禁止(屏蔽) 3、 设定所用中断的中断优先级 4、若为外部中断,则应规定低电平还是负边沿的中断 触发方式
单片机讲义(第五章MCS-51的中断系统)
5.6.2 跳沿触发方式(下降沿触发方式)
如果相继连续两次采样,一个机器周期采样到外部中断输入为高, 下一个机器周期采样为低,则置1中断申请触发器,直到CPU响应此 中断时,该标志才清0。这样不会丢失中断,输入的负脉冲宽度至少保
持12个时钟周期(若晶振频率为6 MHZ,则为2μs),才能被CPU采样到。
(2)用字节操作指令
MOV IP,#05H ;000 00101 或者用: MOV 0B8H,#05H ;B8H为IP寄存器的字节地址
5.5 外部中断的响应时间
从外部中断请求有效(外部中断请求标志置1)到转 向中断入口地址所需要的响应时间。 外部中断的最短响应时间为3个机器周期。其中中断
请求标志位查询占1个机器周期,而这个机器周期恰好是处于指令 的最后一个机器周期,在这个机器周期结束后,中断即被响应, CPU接着执行1条硬件子程序调用指令 LCALL以转到相应的中断服 务程序入口,则需要2个机器周期。
外部中断响应的最长时间为8个机器周期。执行RETI或
是访问IE或IP的指令,最长需要2个机器周期。而接着再执行的1条 指令,按最长的指令(乘法指令MUL和除法指令DIV)来算,需4 个机器周期。再加上硬件子程序调用指令LCALL的执行,需要2个 机器周期,所以,外部中断响应最长时间为8个机器周期。
5.3.3中断允许寄存器IE
IE中各位的功能如下:
(l)EA——中断允许总控制位 EA=0,CPU屏蔽所有的中断请求(CPU关中 断); EA=1,CPU开放所有中断(CPU开中断)。 (2)ES——串行口中断允许位 ES=0,禁止串行口发送/接收中断; ES=1,允许串行口发送/接收中断。 (3) ET1——定时器/计数器T1的溢出中断允许 位 ET1= 0,禁止T1计数溢出中断; ET1= 1,允许T1计数溢出中断。
MCS51单片机中断系统
中断程序入口地址
五个中断程序的入口地址为: 五个中断程序的入口地址为: 外中断0 INT0) 外中断0(INT0) :0003H 定时器0 T0) 定时器0(T0) :000BH 外中断1 INT1) 外中断1(INT1) :0013H 定时器1 T1) 定时器1(T1) :001BH 串行口(RI/TI) 串行口(RI/TI) :0023H
可归纳为下面两条基本规则: 可归纳为下面两条基本规则: (1)低优先级可被高优先级中断,反之则不能。 低优先级可被高优先级中断,反之则不能。 (2)同级中断不会被它的同级中断源所中断。 )同级中断不会被它的同级中断源所中断。
CPU正在执行高优先级的中断 正在执行高优先级的中断, 若 CPU 正在执行高优先级的中断 , 则不能被任何中断 源所中断。 源所中断。 中断优先级寄存器IP 其字节地址为B IP, 中断优先级寄存器IP,其字节地址为B8H。
寄存器名称 D7 定时器控制 TCON(88H TF1 寄存器 ) 位地址 8FH 串行口控制 SCON(98H) 寄存器 位地址 9FH 中断允许 IE(A8H) EA 寄存器 位地址 AFH 中断优先级 IP(B8H) 寄存器 位地址 D6 D5 TF0 8DH 9DH D4 D3 IE1 8BH D2 IT1 8AH D1 IE0 89H TI 99H ET0 A9H PT0 B9H D0 IT0 88H RI 98H EX0 A8H PX0 B8H
MCS-51复位后,IE清 MCS-51复位后,IE清0,所有中断请求被禁止。 复位后 所有中断请求被禁止。 若使某一个中断源被允许中断,除了IE IE相应的位的被 若使某一个中断源被允许中断,除了IE相应的位的被 还必须使EA =1。 EA位 置“1” ,还必须使EA位=1。 改变IE的内容,可由位操作指令来实现, IE的内容 改变IE的内容,可由位操作指令来实现,即: bit; SETB bit; bit。 CLR bit。 若允许片内2个定时器/计数器中断, 例5-1 若允许片内2个定时器/计数器中断,禁止其它 中断源的中断请求。编写设置IE IE的相应程序段 中断源的中断请求。编写设置IE的相应程序段 用位操作指令来编写如下程序段: (1)用位操作指令来编写如下程序段: CLR ES ;禁止串行口中断 EX1 禁止外部中断1 CLR EX1 ;禁止外部中断1中断 EX0 禁止外部中断0 CLR EX0 ;禁止外部中断0中断
中断系统
2.中断和查询相结合
EXINT0 EXINT1 P3.3 ≥1 EXINT2 EXINT3
MCS-51 P1.0 P1.1 P1.2 P1.3
图: 一个外中断扩展成多个外中断的原理图
中断服务程序如下:
ORG AJMP 0003H INT0 ;外部中断0入口 ;转向中断服务程序入口
INT0: PUSH PUSH JB JB JB JB PSW ACC P1.0,EXT0 ;中断源查询并转相应中断服务程序 P1.1,EXT1 P1.2,EXT2 P1.3,EXT3 ;恢复现场 ;保护现场
例:允许定时器T0中断: SETB EA SETB ET0 或 MOV IE,#82H 注意:该寄存器可以位寻址。
IP寄存器——中断优先级寄存器
IP B8H 7 6 5 4 PS 3 2 1 0 PT1 PX1 PT0 PX0
51单片机有两个中断优先级——高级和低级
专用寄存器IP为中断优先级寄存器,用户可用软件设定
MCS-51的中断系统——中断优先级
自然优先级 中断源 中断标志位 中断允许 优先控制
PX0
CPU
高
INT0 T0 INT1 T1
IE0 TF0 IE1 TF1 TI SI
EX0
ET0 EX1 ET1 ES EA
PT0
PX1 PT1 PS
主 程 序
低
串口
单片机中有两个中断优先级,即高优先级中断和低优先级中断,前 者优先权高于后者(在程序中设置,相应位=1,为高优先级);
EXIT: POP ACC
POP PSW
RETI
EXT0: AJMP EXIT EXT1: AJMP EXIT EXT2: AJMP EXIT EXT3: ;EXINT3中断服务程序 ;EXINT2中断服务程序 ; EXINT1中断服务程序 ; EXINT0中断服务程序
第4章 MCS-51单片机中断、定时系统及串行数据通信
表4-2 中断源入口地址表 中断源 外部中断0 中断服务程序入口地址 0003H
定时器/计数器T0 外部中断1 定时器/计数器T1 串行口中断
000BH 0013H 001BH 0023H
单片机的两个相邻中断源中断服务程序入口地址 相距只有8个单元,一般中断服务程序容纳不下,因此 在该中断的入口地址处放一条长跳转指令LJMP,这 样就可以转到64KB的任何可用区域了。在2KB范围内 转移可用短跳转AJMP指令。
表4-1 同级中断源优先级排列顺序
中断源
外部中断0(IE0) 定时器/计数器T0中断(TF0) 外部中断1(IE1) 定时器/计数器T1中断(TF1)
同级内的优先级
最低级
串行口中断(RI+TI)
最高级
当单片机系统复位后,IE中各位均被清0,所有 中断源禁止;IP中各位均被清0,5个中断源均为低优 先级。
SET SET
SET
ET0 ET1
EA
;定时器/计数器0允许中断 ;定时器/计数器1允许中断
;CPU开中断
用字节操作指令 MOV IE,#8AH 或 MOV A8H,#8AH
(2)中断优先级控制寄存器(IP) MCS-51单片机系统的中断源有两个优先级,每 个中断源均可由中断优先级寄存器IP来设置优先级别。 IP的字节地址为0B8H,位地址为0B8H~0BFH。与 中断有关的控制位如下: 位地址 0BFH 0BEH 0BDH 0BCH 0BBH 0BAH 0B9H 0B8H
TMOD是定时器的工作方式寄存器,TCON是控制 寄存器,用于对T0和T1的管理和控制。
2.定时器/计数器的结构的工作原理 16位定时器/计数器的核心是一个加1计数器,如图 4-4所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章 单片机的中断
例如:要以中断方式使用T0,编写初始化程序。
MOV IE,#82H
;1000 0010B
也可以用下面的位操作指令实现: SETB EA SETB ET0
第5章 单片机的中断 (2).中断优先级控制寄存器(IP)
MCS-51单片机中断系统具有两级中断优先级管理。 中断优先级寄存器IP的字节地址为0B8H,位地址为0B8H~0BFH。
④ .IT0、IT1分别为INT0和 INT1的触发方式
“0”电平触发方式,低电平有效。 “1”脉冲触发方式,下降沿有效。
第5章 单片机的中断
注意: 1. 在电平触发方式下:
一定要撤消外部中断0引脚上的低电平,使IE0置0,否则将再 次引起中断。
2. 在边沿触发方式下触发方式下: CPU在采样外部中断0引脚输入电平。采样为脉冲下降沿,则置IE0 标志为1,表示外部中断0正在向CPU申请中断。 当CPU响响应中断后,IE0由硬件自动清0。 为保证CPU在两个机器周期内检测到由高到低的负跳变,必须保证
(4) 中断技术是CPU具有处理设备故障、掉电等突发事件的能
力,提高计算机系统本身的可靠性。
第5章 单片机的中断 2. 定义: (1) 中断源 (2)中断服务程序 (3)中断响应
图5-1 中断响应示意图
第5章 单片机的中断
(1) 中断源 是指计算机在执行某一程序的过程中(A程序),中止原程序 的执行,转去执行相应的处理程序(B程序),待处理结束之后, 再回来继续执行被中止的原程序。B程序称为中断源。
② 该寄存器的访问
• 可以用直接寻址方式,地址为88H。 • 可以用位控的方法,地址分别88H~8FH
位控时书写格式:
88H IT0 Tcon.0
第5章 单片机的中断
③ .TF0、TF1 的两个 IE0、IE1 功能:
① 可以做为中断源有中断申请的标志, 用于中断工作方式。
② 可以做为时间到,使该位置1,用 于查询工作方式。
PS PT1 PX1 PT0 PX0
INT0 T0 INT1 T1 串口
第5章 单片机的中断
注:① 高优先级与低优先级的确定 “1” 高
= “0” 低
② 同一级优先级同时中断申请时,CPU 响应中断的顺序 INT0 > T0 > INT1 > T1 > 串口
高优先级状态触发器
低优先级 状态触发 器
第5章 单片机的中断 第5章 MCS-51单片机的中断系统
一、 计算机中断技术的概念
1.中断技术的必要性
(1)可以解决CPU与外设之间速度匹配的问题; (2) 及时处理系统中许多随机的参数和信息,提高计算机处理 问题的实时性和灵活性。 (3) 使用中断方式,可允许多个外围设备与CPU同时工作,实 现分时操作,大大提高计算机的利用率。
第5章 单片机的中断
例:编写初始化程序,对INT0、INT1两个中断源采用脉冲触 发方式向CPU申请中断,且INT1的优先级高于INT0。
第5章 单片机的中断
4. 中断响应条件 (1)有中断源申请中断 (2)对该中断源未屏蔽 (3)CPU对中断源的中断申请是开放的 (4)CPU执行完现行指令响应中断申请
5.MCS-51中断系统的结构 MCS-51共有5个中断源,可实现二级
中断服务嵌套。
内中断:定时/计数器T0、定时/计数器T1 外中断:INT0 (P3.2)、 INT1(P3.3) 、串行通信
中断允许寄存器: 说明对INT0、INT1、T0、T1 ,串
IE
行通信的中断申请是否屏蔽,及
CPU是否响应中断。
中断优先级控制寄存器:IP
第5章 单片机的中断 中断源请求标志寄存器 中断响应控制寄存器
1.中断源请求标志寄存器 定时器/计数器控制寄存器TCON 串行控制寄存器SCON 根据这些位的状态就能确定有无中断请求及中断的来源。
第5章 单片机的中断
它由中断请求标志位、中断允许寄存器IE、中断优先级寄存 器IP硬件查询电路组成。
TCON
IE
SCON
IP
第5章 单片机的中断 二、与中断有关的控制字
定时器控制寄存器
中断标志寄存器: 说明INT0、INT1、T0、T1中断源
Tcon
是否申请中断。
串行口控制寄存器: 说明串行接收或发送中断申请。 Scon
② TI——发送中断申请标志位,即发送完一帧数 据,请求CPU再发送下一帧数据的中断 申请标志位。
③ SCON寻址方式:直接寻址、位寻址。
第5章 单片机的中断
注意:CPU复位后,TCON和SCON各位清0。
第5章 单片机的中断
2. 中断响应的控制
(1).中断允许控制寄存器(IE) 字节地址为A8H,位地址为0A8H~0AFH。 控制CPU对中断源的开放或禁止,以及对每一中断源是否允许中断。
第5章 单片机的中断
中断优先级管理遵循的基本原则是:
①高优先级中断源可中断正在执行的低优先级中断服务程
序,同级或低优先级中断源不能中断正在执行的中断服务程序。
②如果同一级的几个中断源同时向CPU申请中断,CPU按
自然优先级决定响应顺序。
注:当系统复位时,IP寄存器被清0,将5个中断源均设置为低优先级中断。
外部中断源输入的高电平和低电平的持续时间在12个时钟周期以上。
第5章 单片机的中断
2) 串行口控制寄存器(SCON) SCON是串行口控制寄存器,寄存器地址98H
位地址98H~9FH。 与中断有关的只有它的低两位TI和RI
注: ① RI——接受中断申请标志,即接收到一帧的数 据,请求CPU取走数据的中断申请标志 位。
(2)中断服务程序
A程序我们称为主程序,B程序称为中断服务程序,即执行 中断源所要求执行的程序。 (3)中断响应
某种原因中止原程序的执行称为中断请求,执行B程序的过 程称为中断响应。
第5章 单片机的中断
3.中断系统的功能 ① 能判断是否响应中断; ② 判断多个中断源的优先级; ③ 保护断点; ④ 实现多个中断源的嵌套。
第5章 单片机的中断
1) 定时器/计数器控制寄存器(TCON) 它用于保存外部中断请求
字节地址为88H,位地址88H~8FH。
INT0、INT1以及定时器T0、
T1的中断申请标志。
Байду номын сангаас
第5章 单片机的中断 说明:
① .该寄存器能表示哪个中断源有中断申请,分别是 INT0—IE0、INT1—IE1、T0—TF0、T1—TF1。