单片机第五章1单片机的中断系统

合集下载

单片机-第五章 单片机中断系统

单片机-第五章 单片机中断系统

(1)CPU正在执行一个同级或高优先级的中断服务程序; (2)正在执行的指令尚未执行完; (3)正在执行中断返回指令RETI或者对寄存器IE、IP进 行读/写的指令。 CPU在执行完上述指令之后,要再执行一条指令,才 能响应中断请求。
二、中断响应过程 从中断请求发生直到被响应,准备去执行中断服务程 序,此过程即中断响应过程。中断响应过程一般包括如下几 个阶段: 1、中断采样并置位 中断采样过程:CPU在每个机器周期S5P2期间顺序对 中断源采样、置中断标志。 2、查询标志 在中断采样后的下一个周期的S6按优先级顺序查 询中断标志。
第5章 MCS-51单片机中断系统
5.1.1中断的概念
单片机系统中,CPU和外部设备之间不断进行信息的传 输。通常CPU和外设之间的信息传送方式有以下几种: 程序控制方式 中断方式 直接存储器存取(DMA)方式
1、 程序控制方式 可以分为以下两种方式。 (1)无条件传送方式 外设始终处于就绪状态,CPU不必查询外设的状 态,直接进行信息传输,称为无条件传送方式。 此种信息传送方式只适用于简单的外设。如开 关和数码段显示器等。
三、中断响应的时间
一般来说,中断的响应时间最短为3个机器周期,最长 为8个机器周期。 一般中断请求标志位查询占1个机器周期。而机器周期 又恰好是指令的最后一个机器周期。执行此指令后,CPU 将响应中断,产生硬件长调用指令。 长调用LCALL指令需要2个机器周期。这样,中断响应 时间为3个机器周期。
是不可寻址的
在同级的几个中断源中同时发生请求时, 内部对同级的各中断源的优先级别有一个规 定的查询顺序: 自然优先级
外部中断请求 INT0 最高 定时/计数器 T0 外部中断请求 INT1 定时/计数器 T1 串行口 UART 最低 定时/计数器 T2

MCS-51系列单片机的中断系统

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能够检测到电平的跳变。

单片机原理及应用教程(C语言版)-第5章 MCS-51单片机的中断系统

单片机原理及应用教程(C语言版)-第5章 MCS-51单片机的中断系统

5.2.5 中断允许控制
例5-1 假设允许INT0、INT1、T0、T1中断,试 设置IE的值。 (2)汇编语言程序 按字节操作: MOV IE,#8FH 按位操作: SETB EX0 ;允许外部中断0中断 SETB ET0 ;允许定时器/计数器0中断 SETB EX1 ;允许外部中断1中断 SETB ET1 ;开定时器/计数器1中断 SETB EA ;开总中断控制位
IP (B8H)
D7 —
D6 D5 D4 D3 D2 D1 D0 — PT2 PS PT1 PX1 PT0 PX0
PT2:定时器/计数器T2的中断优先级控制位 PT2设置1则T2为高优先级,PT2设置0则T2为 低优先级。 后面各位均是如此,设置1为高优先级,设置0 为低优先级,不再一一赘述。 PS:串行口的中断优先级控制位。 PT1:定时器/计数器1的中断优先级控制位。 PX1:外部中断1的中断优先级控制位。 PT0:定时器/计数器0的中断优先级控制位。 PX0:外部中断0的中断优先级控制位。
5.2.4 中断请求标志
4.定时器/计数器T2中断请求标志
T2CON D7 D6 D5 (C8H) TF2 EXF2 D4 D3 D2 D1 D0
EXF2:定时器/计数器2的外部触发中断请求标志 位。T2以自动重装或外部捕获方式定时、计数,当 T2EX(P1.1)引脚出现负跳变时,TF2由硬件置1, 向CPU请求中断,CPU响应中断后,EXF2不会被硬 件清0,需要在程序中以软件方式清0。
5.2.3 外中断触发方式
TCON格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0=1,外中断0为下降沿触发 CPU在每一个机器周期的S5P2期间对P3.2引 脚采样,若上一个机器周期检测为高电平,紧挨着 的下一个机器周期为低电平,则使IE0置1。 IT1:外中断1触发方式控制位。功能同IT0

第05章 MCS-51单片机的中断与定时(1-4)

第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种工作方式,具有中断功能, 可以完成定时、计数、脉冲输出等任务

第五章 MCS-51的中断系统

第五章 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单片机的中断系统

第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,否则会再 一次引起中断响应。

第5章 中断系统

第5章  中断系统

例7 如图,试编写程序实现以下功能:系统初始上电时,四 个发光二极管都熄灭,每当按下图中开关时,四个发光二极 管就能反映出与其对应的四个开关状态,开关闭合则对应二 极管亮,开关断开则对应二极管熄灭。
ORG 0000H AJMP MAIN ORG 0003H LJMP INT ORG 0030H MAIN:CLR IT0 SETB EX0 SETB EA SJMP $ ORG 0200H INT:MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A RETI
第 5章
MCS-51系列单片机 的中断系统
本章介绍的主要内容
★ 中断的基本概念 ★ 中断的系统结构 ★ 中断的响应 ★ 中断的应用编程
5.1 什么是中断
一、中断
中断是指CPU在执行程序的过程中,当某种 特殊状态出现时,CPU暂停现在正在执行的程序, 转向去对引起特殊状态的事件进行处理,处理完毕 后再返回继续执行原来程序的过程。 简单地说,中断就是在运行一段程序的过程中 由于某种原因临时插入了另一段程序的运行。
1. 开中断总控开关EA,置位中断源的中断允许位。 2. 对外部中断INT0、INT1,应选择中断触发方式。 3. 多个中断源中断,应设定中断优先级,预置IP。
例5 若系统需要响应定时/计数器0中断和由下降沿信号引起 的外部中断0中断,且若这两个中断源同时提出中断请求则先 响应内部中断,试编写程序,对相关寄存器进行初始化。
EA 中断 总控 允/ 禁
-
ET2
ES
ET1
EX1
ET0
EX0
不 用
T2 串行口 T1 INT1 T0 INT0 允/ 禁 允/ 禁 允/ 禁 允/ 禁 允/ 禁 允/ 禁

(单片机完整课件PPT)第五章

(单片机完整课件PPT)第五章

⑴ 对定时/计数器T0、T1中断,外中断边沿触发方式, CPU响应中断时就用硬件自动清除了相应的中断请求标 志。 ⑵对串行口中断,用户应在串行中断服务程序中用软件清 除TI或RI。
⑶对外中断电平触发方式,需要采取软硬结合的方法消除 后果。
只要 P1.0 端输出一个负脉冲就可以使 D 触发器置 “ 1” ,从而撤消了低电平的中断请求信号。所需 的负脉冲可增加如下两条指令得到: ORL P1,#01H ;P1.0为“1” ANL P1,#0FEH ;P1.0为“0”
T1
PX1 PT0 PX0
/INT1 T0 /INT0
相应位置1为高优先级;置0为低优先级。
优先级结构:
(1)低优先级中断可被高优先级中断所中断,反之不能; (2)任何一种中断(不管是高级还是低级),一旦得到
响应,与它同级的中断源不能再中断它。
(3)同级的中断源同时请求时,遵循辅助优先级顺序。
同级内的优先权 INT0 T0 INT1 T1 串行口 辅助优先级顺序 高
中断类型: (1)按中断源的不同分为: 硬件中断:由硬件产生请求使CPU响应中断。 软件中断:指可以通过相应的中断指令使CPU响应中断。 (2)按是否可屏蔽分为: 可屏蔽中断:指用户可以通过中断控制指令来控制CPU 是否响应中断源的中断请求。 不可屏蔽中断:指CPU不能屏蔽中断源的中断请求,必
ቤተ መጻሕፍቲ ባይዱ
须响应该中断请求。
2.中断申请标志
定时器控制寄存器TCON(88H)
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
ITX:选择 INTx中断触发方式。 ITX=1,选择 INT x 为下降沿触发方式。 ITX=0,选择
INT x 为低电平触发方式。

第五章 中断系统

第五章  中断系统

四、中断系统的功能 一般来说,一个中断系统具有以下功能: (一)实现中断及返回 当某中断源发出中断请求后,CPU应决定是否响应这个中断请求,如当前正 在执行更重要的工作可暂时不响应中断,若响应这个中断请求,CPU在当前指令 执行完后,就要保护断点地址和现场(即下条指令地址和相关寄存器内容),以便 执行完中断服务程序后能正确返回原处执行,然后转到需要处理的中断服务程序 的人口地址,去执行中断服务程序,当中断服务程序执行完毕再恢复现场和断点 ,去继续执行主程序。 (二)实现优先级排队 当计算机带有多个中断源时,可能会出现两个或两个以上中断源同时向CPU提 出中断请求的情况。这时CPU应能够根据事先确定的中断源的优先级别来先响应 高优先级的中断 并为它服务,然后再响应较低优先级的中断请求。 (三)实现中断嵌套 当CPU正在响应某一中断源的中断请求时,又有新的中断源发出请求,如果 新的请求的优先级别高于正在执行的中断源的优先级,则CPU暂停现行的服务程 序,转去执行更高级别的中断源的服务程序,执行完毕后再回到被中断的较低中 断源的服务程序继续执行,即实现了中断嵌套。若新的中断源的优先级别低于或 是等于正执行的中断源,则CPU不响应这个请求,直到正在处理的中断服务程序 执行完毕后,才去处理新的中断请求。
三、中断的分类 按中断产生的位置,中断可分为: (1)外部中断,或称外部硬件实时中断,它是由外部送到CPU的某一特定引脚 上产生的。 (2)内部中断,或称软件指令中断,是为了处理程序运行过程中发生的一些意 外情况或调试程序方便而提供的中断。 按接受中断的方式,中断可分为: (1)可屏蔽中断,可以通过指令使CPU根据具体情况决定是否接受中断请求。 (2)非屏蔽中断,只要中断源提出请求,CPU就必须响应,主要用于一些紧急 情况的处理,如掉电等。 以上从不同的角度对中断进行了分类,对于某一种类型的计算机可能只具备 其中的某几种方式,例如MCS—51就不具备非屏蔽中断方式。

第五章-MCS-51单中断系统习题答案.doc

第五章-MCS-51单中断系统习题答案.doc

第五章MCS-51单片机中断系统习题答案一、填空题1、中断允许寄存器,中断优先级寄存器。

2、电平触发,边沿触发(或答跳变触发)。

二简答题1、写出8052的中断源和相应的中断入口。

INT0 0003HT0 000BHINT1 0013HT1 001BHTI或RI 0023H2、8051单片机的中断优先级是如何排列的?硬件INT0 T0 INT1 T1 TI或RI软件通过IP定义两个优先级3、外部中断有哪几种触发方式?边沿触发和电平触发。

4、8052单片机程序存储器中的六个特殊单元是什么,各有何用途?0000H(PC),0003H(int0),000BH(c/T0),0013H(int1),001BH(c/T1),0023H(s口)。

4、三、程序设计1、8031芯片的INT0、INT1引脚分别输入压力超限及温度超限中断请求信号,定时器/计数器0作定时检测的实时时钟,用户规定的中断优先权排队次序为:压力超限温度超限定时检测要求确定IE、IP的内容,以实现上述要求。

解:(1)中断控制寄存器各位定义:D7:CPU中断允许位EA,应设为1D6:未定义,可为随意量,取为0D5:定时器/计数器2中断允许位ET2,可取0D4:串行口中断允许位ES, 可取0D3:定时器/计数器1中断允许位ET1, 应取0D2:外部中断1中断允许位EX1, 应取1D1:定时器/计数器0中断允许位ET0, 应取1D0:外部中断0中断允许位EX0, 应取1故IE=87H(2)由硬件确定的同一优先级中断源的优先权排队顺序如下:INT0-C/T0-INT1-C/T1-串行口中断-c/2MCS-51有两个中断优先级,中断优先权选择寄存器IP可对各中断源用软件进行编程,确定为高优先级中断还是低优先级中断。

因些可以用硬件与软件相结合的方法对中断源的优先级进行排序。

由题意,根据IP各位的定义:D7:未定义,可为随意量,取为0D6:未定义,可为随意量,取为0D5:定时器/计数器2优先权选择位PT2,可取0D4:串行口优先权选择位PS, 可取0D3:定时器/计数器1优先权选择位PT1, 应取0 D2:外部中断1优先权选择位PX1, 应取1,应接温度超限信号。

单片机的中断系统

单片机的中断系统

单片机的中断系统单片机是一种集成电路,具有微处理器的功能。

它在各种电子设备中广泛应用,包括家电、汽车电子、通信设备等等。

单片机的中断系统是其核心功能之一,它允许单片机能够在处理其他任务的同时快速响应重要事件。

本文将介绍单片机的中断系统的原理、实现方式和应用场景。

一、中断系统的原理中断系统是单片机实现多任务处理的一种机制。

它基于硬件和软件的联合工作,使得单片机能够在执行某个任务的过程中,以快速响应的方式中断当前任务,去处理其他紧急或优先级更高的任务。

中断系统的原理可以简单地概括为如下几步:1. 系统中断源发生中断信号,例如外部设备向单片机发送中断请求;2. 单片机硬件或者软件检测到中断源的信号,暂停当前任务的执行;3. 单片机保存当前任务的状态,包括程序计数器、寄存器等等;4. 单片机跳转到中断服务程序(ISR)中执行,处理中断源的任务;5. 中断服务程序执行完成后,恢复之前被中断的任务,继续执行。

二、中断系统的实现方式单片机的中断系统可以通过硬件和软件两种方式来实现。

硬件中断是通过设置硬件电路来实现中断响应的。

例如,外部设备可以通过给单片机一个脉冲信号来触发中断。

单片机内部有一个专门的硬件电路来检测和处理这个脉冲信号,以启动中断服务程序的执行。

软件中断则是通过软件指令来触发中断。

单片机提供了一些特殊的指令,用于主动地产生中断信号。

软件中断通常在一些特定的场景下使用,例如在实时操作系统中,通过软件中断来处理实时任务的请求。

根据中断响应的时间,中断可以分为可屏蔽中断和不可屏蔽中断。

可屏蔽中断可以在执行指定指令时被屏蔽,不会触发中断;不可屏蔽中断则无法被屏蔽,必须立即响应。

三、中断系统的应用场景单片机的中断系统在各种应用场景中都有广泛的应用。

1. 实时控制系统:在一些实时控制系统中,中断可以用于处理各种紧急事件,例如传感器数据的采集、电机的控制等。

通过中断系统,单片机可以在不中断主任务的情况下快速响应这些事件,提高系统的实时性和可靠性。

单片机-05-中断系统

单片机-05-中断系统
单片机原理及接口 技术
中断系统
一、中断系统
1. 中断的概念 举例:某同学正在教室写作业,忽然被人叫出去, 回来后,继续写作业。这就是生活中中断的例子。
与上对比,单片机中也有同样的问题。CPU正
在执行原程序,突然,被意外事情打断,转去执行
新程序。CPU执行新程序结束后,又回到原程序中
继续执行。这样的过程就叫
Here: SJMP Here
ORG 0200H PINT0:CPL P1.0
RETI
;返回主程序
例5-4、出租车计程:设车轮每转产生一个负脉冲,从外部中断INT0 (P3.2)引脚输入,行驶里程为轮胎周长×运转圈数,设轮胎周长2m,试通 过编程实时计算出租车行驶里程(m),数据存入32H, 31H, 30H中。
ORG 0000H LJMP START ORG 0200H ADDC A, POP PSW 30H POP ACC RETI 32H
ORG 0003H
LJMP INT0 ORG 0100H
INT0: PUSH ACC
PUSH PSW MOV A,
MOV 32H, A
START: MOV SP, #60H
ORG 0000H LJMP MAIN ORG 000BH LJMP INSE1 ORG 1000H MAIN: MOV SP,#60H MOV TL0,#0CH MOV TH0,#0F0H MOV TMOD,#00H SETB TR0 SETB ET0
INSE1: MOV TL0,#0CH MOV TH0,#0F0H
该位是“1”时,为高级优先级
该位是“ 0”时,为低级优先级
同一级中的5个中断源的优先顺序是: /INT0中断 T0溢出中断 /INT1中断 T1溢出中断 出厂前已由厂家固化顺序 ——事先约定 高

单片机中断系统.完美版PPT

单片机中断系统.完美版PPT
其次还受断各中源断源同自己的时中断向允许C控制P位U控请制。求中断时,系统会根据其优先级来
EA的作用是使中断允许形成两级控制。
P1.1=中le断d处; 响应理,即先响应中断优先级高的中断源,再响应优
执行相应的中断服务程序。
先级低的中断源。例如,若规定按键扫描处理优先 2.中断服务程序(函数)
STC15F2K60S2单片机各个中断源所对应的中断服务程序入口地址及中断号如表5-2所示。 IP2为中断优先级控制寄存器,主要对串行口2、SPI中断源的中断优先级设置,地址为B5H。
➢IE0:外部中断0请求源(INT0/P3.2)标志位。与IE1功能 类似。
➢IT0:外部中断0中断触发方式选择位,功能与IT1类似。
2. SCON和S2CON寄存器
SCON为串行口1控制寄存器,包括了串行口发送和接收 中断的请求标志位TI和RI。SCON寄存器的字节地址为98H,可 位寻址,其格式如下:
外部中断2(IN T 2 )、外部中断3( I N T 3)、定时器T2中断、 外部中断4(IN T 4 )。除外部中断2( I N T 2)、外部中断3 ( I N T 3 )、定时器T2中断、外部中断4(IN T 4 )等4个中断
源固定为最低优先级中断外,其它的中断源都具有2个中断 优先级,可实现2级中断服务程序嵌套。
STC15F2K60S2单片机中断系统结构示意图如图5-2 所示。这些中断源与特殊功能寄存器TCON、SCON、S2CON、 CCON、PCON、ADC_CONTR、IE、IE2、INT_CLKO、IP等有关, 下面首先介绍与中断源有关的寄存器功能。
STC15F2K60S2 单片机中断系统结
构示意图
SCON寄存器的其他位与中断无关,将在后续相关章节 介绍。

单片机-第五章 单片机中断系统

单片机-第五章 单片机中断系统

单片机-第五章单片机中断系统单片机第五章单片机中断系统在单片机的世界里,中断系统就像是一位高效的调度员,能够在各种任务之间迅速切换,确保系统能够及时响应紧急事件和重要任务。

这一章,咱们就来深入了解一下单片机中断系统的奥秘。

先来聊聊什么是中断。

想象一下,单片机正在有条不紊地执行着一个任务,比如计算一组数据的平均值。

突然,有个更紧急的事情发生了,比如外部设备传来了一个重要的信号,需要单片机立即处理。

这时候,单片机就会暂时放下手头正在进行的任务,转而去处理这个紧急事件。

等处理完紧急事件后,再回到之前被打断的地方继续执行原来的任务。

这个过程就是中断。

中断系统之所以重要,是因为它大大提高了单片机系统的工作效率和实时响应能力。

如果没有中断,单片机就得按照顺序依次完成所有任务,哪怕遇到紧急情况也不能停下来,这在很多实际应用中是无法接受的。

单片机的中断系统通常由几个部分组成。

首先是中断源,也就是那些能够触发中断的事件或信号。

常见的中断源包括外部中断、定时中断、串口中断等等。

外部中断一般是由外部设备的状态变化引起的。

比如说,一个按键被按下,就会产生一个外部中断信号,通知单片机进行相应的处理。

定时中断则是根据预先设定的时间间隔产生中断。

这在需要周期性执行某些任务的场合非常有用,比如每隔一定时间采集一次温度数据。

串口中断是在串口通信过程中,当接收到数据或者发送完成时产生的中断。

接下来是中断控制寄存器。

它就像是中断系统的“指挥官”,决定哪些中断被允许,哪些被禁止,以及中断的优先级等。

通过设置这些寄存器,我们可以灵活地控制中断的行为。

然后是中断向量。

当发生中断时,单片机会根据中断向量跳转到相应的中断服务程序去执行。

中断向量就像是一个地址索引,告诉单片机中断服务程序在哪里。

在实际编程中,使用中断系统需要经过一系列的步骤。

首先,要初始化中断相关的寄存器,设置中断的触发方式、允许或禁止中断、确定中断的优先级等。

然后,编写中断服务程序。

单片机讲义(第五章MCS-51的中断系统)

单片机讲义(第五章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单片机中断系统

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中断

第5章 AT89S51的中断系统

第5章 AT89S51的中断系统
14
5.3 中断允许与中断优先级的控制
中断允许控制由中断允许寄存器 控制 中断允许控制由中断允许寄存器IE控制。 控制由中断允许寄存器 控制。 中断优先级控制由中断优先级寄存器 控制 中断优先级控制由中断优先级寄存器IP控制。 控制由中断优先级寄存器 控制。
5.3.1 中断允许寄存器IE
AT89S51的对各中断源的开放或屏蔽,是由中断允许寄存 的对各中断源的开放或屏蔽, 的对各中断源的开放或屏蔽 器IE控制的。 控制的。 控制的 IE字节地址为 字节地址为A8H,可位寻址,格式如图5-5所示。 所示。 字节地址为 ,可位寻址,格式如图 所示
13
2. SCON寄存器 寄存器 串行口控制寄存器,字节地址为98H,可位寻址 可位寻址。 可位寻址 低二位锁存串行口的发送中断和接收中断的中断请求标志 TI和RI,格式如图5-4所示 图 所示 所示。
图5-4
SCON中的中断请求标志位 中的中断请求标志位
各标志位的功能: (1)TI—串行口的发送中断请求标志 位。每发送完一帧串行数据后,TI自动置“1”。TI标志必须 必须 由软件清“ ” 由软件清“0”。 (2)RI—串行口接收中断请求标志位。串 ) 行口接收完一个串行数据帧,硬件自动使RI中断请求标志置 “1”。必须在中断服务程序中用指令对RI清“0”。
学习要求
• 熟悉中断的概念和中断的功能。 熟悉中断的概念和中断的功能。 • 掌握中断系统的硬件结构,5个中断源的含义。 掌握中断系统的硬件结构, 个中断源的含义 个中断源的含义。 • 熟练掌握各中断控制寄存器各控制位功能及标志位的含义 • 掌握中断处理过程及中断嵌套的概念及应用
5.1 AT89S51中断技术概述 AT89S51中断技术概述
中断技术主要用于实时监测与控制,要求单片机能及 中断技术主要用于实时监测与控制,要求单片机能及 实时监测与控制 时地响应中断请求源提出的服务请求,并作出快速响应、 时地响应中断请求源提出的服务请求,并作出快速响应、 及时处理。这是由片内的中断系统来实现的。 及时处理。这是由片内的中断系统来实现的。 发出中断请求时 如果中断请求被允许, 当中断请求源发出中断请求 当中断请求源发出中断请求时,如果中断请求被允许, 单片机暂时中止当前正在执行的主程序,转到中断服务处 单片机暂时中止当前正在执行的主程序, 理程序处理中断服务请求。 理程序处理中断服务请求。 中断服务处理程序处理完中断服务请求后,再回到原 中断服务处理程序处理完中断服务请求后, 来被中止的程序之处(断点),继续执行被中断的主程序。 来被中止的程序之处(断点),继续执行被中断的主程序。 ),继续执行被中断的主程序 图5-1为整个中断响应和处理过程。 为整个中断响应和处理过程。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机第五章1单片机的中断系 统
2、 中断源(可由硬件或软件引起):引起中断的事件 MSC-51具有多个中断源,51子系列有5个中断源,2个外部中断,2个定时中断 和1个串行中断。
(A). 外中断:外部信号引起,共2个。 即: 外部中断“0”,中断请求信号由引脚INT0(P3.2)引入; 外部中断“1”,中断请求信号由引脚INT1(P3.3)引入。
(b)低优先级中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优 先级的中断服务,从而实现中断嵌套。
(c)如果1个中断请求已被响应,则同级的其它中断响应将被禁止。
中断优先级:当多个中断源请求中断服务,那么CPU响应这 些中断就有一个先后顺序,称之为中断优先级。

应 响
程 序




(2) EX0(EXl):外部中断允许控制位(INT0、INT1) EX0(EXl)=0 禁止外中断 EX0(EXl)=l 允许外中断
(3) ET0(ETl):定时/计数中断允许控制位(T0、T1) ET0(ETl)=0 禁止定时(或计数)中断 ET0(ETl)=1 允许定时(或计数)中断
(4) ES:串行中断允许控制位 ES=0 禁止串行中断 ES=1 允许串行中断
有效后,用户软件清零。
SJMP LOOP
b.中断方式时,作为中断请求标志位,为“1”时,自动转向中断

务程序,再由硬件自动清零。
(4)TR0、TR1: 下一章讲定时器/计数器时再讲
3. 串行口控制寄存器SCON(其中只有两位与中断有关)寄存器地址为98H
9FH
9EH
9DH
9CH
9BH
9AH
99H
98H
(2)IT0、IT1:外中断请求触发方式控制位。用户软件设置 ITX=0 低电平触发方式 ITX=1 负跳脉冲触发方式
至少2个机器周期 至少1个机器周期
(3)TF0、TF1:定时器溢出中断请求标志位,相应溢出标志位TFX由硬件置“1”。
两种使用方式:a.软件查询时,作为溢出标志位,查询
LOOP:JBC TF0,NEXT
2.定时器控制寄存器TCON 寄存器地址为88H
8FH TCON TF1
8EH 8DH 8CH 8BH 8AH 89H 88H
TR1
TF0
TR0
IE1
IT1
IE0
IT0
(1)IE0、IE1:外部中断请求标志。硬件自动设置 CPU采样到INTX端有效的中断请求后,IEX位由硬件自动置 “1”。在中断响 应期间(要转向中断服务程序时),由硬件自动清零。


继 续


程 序

应 响 断 中









Hale Waihona Puke RETIRETI主


•优先级高,则CPU先响应

应 响
程 序




(平级)中

继 续


程 序

应 响 断 中

级 (平级) 中






RETI
RETI



优先级低,则CPU不影响高级中断
中断嵌套流程图
•IT0=0 •INT0
•IT0=1 •T0
4. 中断优先级控制寄存器IP 用户软件设置寄存器地址为B8H
0BFH 0BEH 0BDH 0BCH 0BBH 0BAH 0B9H
IP
/
/
/
PS
PT1
PX1
PT0
0B8H PX0
PX0:外部中断0优先级设定位 PXl: 外部中断l优先级设定位 PT0:定时中断0优先级设定位 PTl: 定时中断l优先级设定位 PS : 串行中断优先级设定位
SCON SM0
SM1
SM2
REN
TB8
RB8
TI
RI
(1)TI:串行口发送中断标志位。当CPU将一个数据写入发送缓冲器时,就启动发送 当最后一个数据位发送完后,TI由硬件自动置位,并向CPU发中断申请。进行中 断服务程序时, TI要由软件清0。软件查询时, TI可作为状态位使用。
(2)RI:串行口接收中断标志位。当CPU接收数据时,当接收到最后一个数据位后, RI由硬件自动置位,并向CPU发中断申请。进行中断服务程序时, RI要由软件清0。 软件查询时, RI可作为状态位使用。
(B). 定时器/计数器中断:内部计数器计数溢出,溢出标志位TFX作为单片机接受中断 请求标志。 信号来源:内部(定时)和外部(计数)。
(C). 串行中断:串行数据传送(发送和接收)的需要而设置。
第二节 MCS-51单片机的中断系统
与中断控制有关的控制寄存器有四个:
IE------中断允许控制寄存器, TCON----定时控制寄存器, SCON----串行口控制寄存器。 IP------中断优先级控制寄存器,
•IT1=0 •INT1
•IT1=1
•T1
•TX •RX
•TCON •IE0
结论: • MCS—51通过中断允许控制寄存器对中断的允许实行两级控制。以EA位作为总控
制位,以各中断源的中断允许位作为分控制位。 • MCS—51单片机复位后(1E)=00H,因此中断系统处于禁止状态。 • 单片机在中断响应后不会自动关闭中断。因此在转中断服务程序后,应使用有关指
令禁止中断,即以软件方式关闭中断。
对应位置1,优先级为高;置0,优先级为低; 注意: (一)中断优先级控制原则(参看教材103页)
(二)控制逻辑:
(a)系统复位后,各位均为 0,或如果同级的多个中断请求同时出现,则按CPU查 询次序确定那个中断请求被响应。其查询次序为:外部中断0->定时中断0->外 部中断l->定时中断1->串行中断。
一、中断控制寄存器
通过设置相关寄存器,达到控制中断工作的目的
1. 中断允许控制寄存器IE 用户软件设置 寄存器地址为A8H
0AFH
0AEH 0ADH 0ACH 0ABH 0AAH 0A9H
IE
EA
/
/
ES
ET1
EX1
ET0
0A8H EX0
(1)EA:中断允许总控制位。 EA=0 中断总禁止,禁止所有中断,即不响应任何中断请求。 EA=1 中断总允许,总允许后中断的禁止或允许由各中断源的中断允许 控制位进行设置。
外部中断请求有两种信号形式:低电平触发方式和负跳脉冲触发方式:
低电平触发方式:低电平有效,只要CPU在每机器周期S5P2期间从引入端INTX采 样到低电平,就进入外中断。
负跳脉冲触发方式:负跳信号有效,即CPU在连续两个周期对引入端INTX 采样,如果 前周期为高电平,后一周期为低电平,则为有效的负跳脉冲触发方式的外中断申请。
相关文档
最新文档