第5章中断技术

合集下载

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

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

第5章-MCS-51单片机中断系统-PPT

第5章-MCS-51单片机中断系统-PPT
CPU在每一个机器周期得S5P2期间对P3、 3引脚采样,若P3、3为低电平,则使IE1置1,否 则IE1清0。
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 微机得输入/输出方式

第5章AT89S51单片机的中断系统-2ppt课件

第5章AT89S51单片机的中断系统-2ppt课件
功能:用于保存外部中断请求以及定时器的计数溢出。
【注意】:TCON既有定时器的控制功能,又有中断控制功能。 虽然不少资料将TCON称为定时器控制寄存器,但多数位都是 为中断控制而设置的(其中与中断有关的控制位共6位)。
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
✓ 计数溢出标志位的使用有两种情况: • 采用中断方式时,作为中断请求标志位来使用; • 采用查询方式时,作为状态位供查询使用。
(2)SCON中的中断标志位
位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
位符号 SM0 SM1 SM2 REN TB8 RB8 TI
RI
TI:串行发送中断请求标志位
AT89S51单片机的中断系统
本章主要内容
中断的概念和应用 AT89S51中断系统结构 与中断相关的SFR及中断控制 外部中断 C51中断函数编程举例
微机的输入输出方式
(1)无条件传送方式 (2)查询传送方式 (3)直接存储器存取(DMA)方式 (4)中断方式
无条件传送方式
无条件传送方式在这种传送方式下,CPU不需要了解 外设的状态,只要在程序中加入访问外设的指令, 就可实现CPU与外设之间的数据传送。此种方法控制 简单,但数据传送时,由于不知道外设的状态,传 送数据时容易出错。
④ 故障处理:当计算机出现故障时,CPU可自动执行故障 处理程序,提高了系统自身的可靠性。
计算机与外围设备之间传送数据及实现人机联系也常采 用中断方式。
89S51的中断源
中断源:凡是中断请求的来源都统称为中断源。 在单片机系统中,中断可以由各种硬件设备产生,

第5章 中断系统

第5章 中断系统
5.1 中断的概念 5.2 8051的中断源和中断控制寄存器 5.3 中断处理的过程 5.4 中断响应等待时间 5.5 C51中断服务函数 5.6 中断系统的应用 5.7 实践训练—键控彩灯 5.8 习题
计算机与外设交换信息时,慢速工作的外设与快速工作的CPU之间形成一个很大的矛盾。 例如:计算机与打印机相连接,CPU处理和传送字符的速度是微秒级的,而打印机打印字符 的速度远比CPU慢。CPU不得不花大量时间等待和查询打印机打印字符。中断就是为解决这 类问题而提出的。
02
02
Hale Waihona Puke 023.中断允许控制寄存器IE CPU对中断系统的所有中断以及某个中断源的开放和屏蔽是由中断允许控制寄存器IE控制 的。IE的状态可通过程序由软件设定。某位设定为1,相应的中断源中断允许;某位设定为0, 相应的中断源中断屏蔽。CPU复位时,IE各位清0,禁止所有中断。IE的结构、位名称和位地址 见表5-3。
03
4.中断返回 中断服务程序的最后一条指令必须是中断返回指令RETI。RETI指令能使CPU结束中断服务程序的执 行,返回到曾经被中断过的程序处,继续执行主程序。RETI指令的具体功能如下。 (1)恢复断点地址 将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序。 注意,不能用RET指令代替RETI指令,因为用RET指令虽然也能控制PC返回到原来中断的地方,但 RET指令没有清0中断优先级状态触发器的功能,中断控制系统会认为中断仍在进行,其后果是与此同级 的中断请求将不被响应。 若用户在中断服务程序中进行了入栈操作,则在RETI指令执行前应进行相应的出栈操作,使栈顶指 针SP与保护断点后的值相同,即在中断服务程序中PUSH指令与POP指令必须成对使用,否则不能正确 返回断点。 (2)开放同级和低级中断 上述中断响应过程大部分操作是CPU自动完成的,用户只需要了解来龙去脉。而用户需要做的事情是 编制中断服务程序,并在此之前完成中断初始化,即设置堆栈,定义外中断触发方式,定义中断优先级, 开放中断等。

第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 允/ 禁 允/ 禁 允/ 禁 允/ 禁 允/ 禁 允/ 禁

第5章中断技术ppt课件

第5章中断技术ppt课件
它存放在IR线上提出了中断请求的中断源, 该寄存器8位(D0 ~ D7)对应于连接在IR0‾IR7 线 上的外设所产生的中断请求,哪一根输入线有请 求,哪位就置“1”。
具有锁存功能,其内容可用OCW3命令读出。
(2)中断屏蔽寄存器(IMR)
是对中断请求IR起屏蔽作用,即对中断请 求IR是禁止还是允许,寄存器8位对应8级中断 屏蔽。哪一级中断被屏蔽,哪位就写“1”, 即禁止IR提出中断请求。
其内容可用OCW1命令写入,该寄存器 命令不可读。
0 开中断 Di=
1 关中断
(3)正在服务寄存器ISR 在中断响应之后,第一个获准中断请求的中
断级在相应的ISR中置位。 如IR3获准,ISR中的IS3置位,表明IR3正处
于服务。
其内容可用OCW3命令读出。
(4)优先权分析器(PR)
这是中断请求的判优电路,当在IR输入端有 中断产生时,送到PR,PR检查进来的中断请求的 优先级并和“正在服务中的中断”进行比较,确 定是否让这个中断请求送给处理器。
INTA
INT
D0~D7
数据总线 缓冲器
控制逻辑
RD WR A0 CS CAS0 CAS1 CAS2
SP/EN
Hale Waihona Puke 读/写 控制逻辑级联 缓冲 /比较器
IR0
正在服务 优先级 中断请求
IR1
寄存器
分析器
寄存器
IR2 IR3
ISR
PR
IRR
IR4 IIIRRR567
中断屏蔽寄存器 IMR
内部逻辑框图
1、外部特性 引脚有3组信号线,与其他外围芯片(2组)不同。
④ 没有获得允许中断请求称为中断被屏蔽。 ⑤ 不允许中断请求的情况:

单片机应用技术项目式第5章

单片机应用技术项目式第5章

中断入口 地址
中断入口 地址区
0003H 0003H~000AH
0013H 0013H~001AH
000BH 000BH~0012H
001BH 001BH~0022H
0023H 0023H~002AH
5.2 单片机中断系统
5.2.1 中断的组成
(TCON.0)
IT0=0 INT0
IT0=1
T0
(TCON.2)
ES=1,允许串行口中断 ES=0,禁止串行口中断
1)若总中断允许EA=1,且某中断的中断允许控制位置位,则该中断才能被允许。
2)若总中断允许EA=0,则不管中断允许位是否置位,该中断都不能被允许,即
所有的中断都是被禁止的。
3)若总中断允许EA=1,则要关断某个中断时,只要将该中断对应的中断允许位
清零即可。
3、与中断有关的技术名词
(1)中断系统:能够实现中断处理功能的部件。 (2)中断源:引起中断原因的设备部件,或引起程序中断的事件。 (3)主程序:在中断之前CPU正在执行的程序。 (4)中断请求(又称中断申请):中断源要求服务的请求。 (5)中断响应:CPU对中断源提出的中断请求的接受。 (6)中断处理(又称中断服务):对引起中断的临时事件处理的整个过程。 (7)中断返回:事件处理完后CPU再回到原程序被中止的位置,继续执行主程序。 (8)中断服务程序(中断处理子程序):CPU对中断响应后所执行的处理程序。 (9)断点:主程序被断开的位置(地址)。
EX1=1,允许外部中断1中断
EX1
EX1=0,禁止外部中断1中断
定时/计数器0中断允许位 ET0=1,允许定时/计数器0中断 ET0
ET0=0,禁止定时/计数器0中断
定时/计数器1中断允许位 ET1=1,允许定时/计数器1中断 ET1

第五章 中断系统

第五章  中断系统

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

第5章8086的中断系统

第5章8086的中断系统
见图5-14, 第一个INTA信号通知8259A请求已被接收;
在第二个INTA信号有效,8259A送中断类型码 (初始化时写入8259A)到数据总线,由CPU启 动中断过程,同时撤消中断请求信号.
二、不可屏蔽中断NMI
发生“灾难性”事件(如电源掉电、存储器读 写出错、总线奇偶出错或协处理器中断请求 等),NMI=1,无法禁止(不受IF影响), 优先级比INTR高,且是边沿触发(只要有效 宽度大于2T即可),中断类型号为2,CPU响 应NMI,不发INTA,不要求外设提供中断向 量,自动到08H单元取入口地址。
5.3.2 外部中断
一、可屏蔽中断INTR 处理过程: 1)接口发请求,若屏蔽位(可用命令写入)=0, 通常由可编程中断控制器8259A PIC驱动,INTR=1,
一直保持到收到响应信号或撤消请求为止. 若IF=0(关中断,可由CLI复位),CPU不响应,继
续处理下一条指令;
若IF=1(开中断,可由STI置位),CPU响应, 2)执行两个INTA总线周期,发两个INTA信号,时序
专用5个(内部中断):在某些特定情况下, 由CPU内硬件自动提供类型号0~4;
保留27个(软件中断):由内部软件的中断 指令产生,供系统开发用。
用户定义224个(外部中断):由外部设备 硬件启动。
可以利用保留的中断类型码扩充自己需要的 中断功能,只要在向量表中加入对应的中断 向量即可。
由系统提供或用户定义,CPU执行后,立即产生中 断,转向n规定的中断服务程序去,入口地址在初 始化时已预置在中断向量表中。
四、断点中断——类型3(单字节指令)
CPU执行INT 3 (简写INT)时,产生中断, 进行特殊处理,如显示寄存器、存储单元的内 容,以检查程序运行的结果是否正确。在调试 时把断点插入程序中的关键之处,命令如-G CS: nnnnH。

第五章GPIO和中断

第五章GPIO和中断

例如:实现下列LED的闪烁程序
#include "stm32f10x.h“
#define LED_ALL GPIO_Pin_0| GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3| GPIO_Pin_4
int main(void) { unsigned char j=0; chLsd=0xFE; //打开相应外设的时钟:GPIOA RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
GPIOx_BSRR和GPIOx_BRR寄存器允许 对任何GPIO寄存器的读/更改的独立访问
端口位配置表
I/O端口位的基本结构
输入浮空/上拉/下拉配置
输出配置
复用功能配置
复用功能
对于复用的输入功能,端口必须配置成输入模 式(浮空、上拉或下拉)且输入引脚必须由外部 驱动
对于复用输出功能,端口必须配置成复用功能 输出模式(推挽或开漏)。
函数GPIO_ReadOutputData
读出C口的数据
ReadValue = GPIO_ReadOutputData(GPIOC);
函数GPIO_PinLockConfig
锁定A口的0和1管脚
GPIO_PinLockConfig(GPIOA, GPIO_Pin_0 | GPIO_Pin_1);
GPIO编程实现步骤
1启动外设模块 2设定管脚控制模式 3对GPIO寄存器进行操作
例如:实现下列LED的闪烁程序
#include "stm32f10x.h" int main(void) {
//打开相应外设的时钟:GPIOB RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE); //初始化GPIOB,用于驱动LED GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//最高输出速度为50MHz GPIO_Init(GPIOB, &GPIO_InitStructure); while (1) {

单片机讲义(第五章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计数溢出中断。

单片机基础(第3版)——第5章

单片机基础(第3版)——第5章
(1)编制主程序
第一部分:主程序初始化 此部分必须编写
功能:
用于设置堆栈位置; 定义触发方式(低电平触发或脉冲下降沿触发) 对IE和IP赋值等; 第二部分:须由主程序完成的其它功能。
1.中断系统的程序编制
(2)选择中断服务程序的入口地址。 (3)编制中断服务程序。
即明确中断服务程 序的起始位置
DJNZ R6,D2 DJNZ R5,D1 RET INT0: PUSH PSW ;保护PSW,ACC值 PUSH ACC MOV A,#00H ;使8个LED全亮 MOV R2,#6 ;闪烁3次(全亮全灭各3次) L4:MOV P1,A ;A值送出 LCALL DELAY ;延时0.2秒 CPL A ;A值取反 DJNZ R2,L4 ;闪烁3次? POP ACC ;恢复保护的A值 POP PSW ;恢复保护的PSW值 RETI ;返回主程序 END
4.3定时/计数器
1. 日常生活中定时、计数的例子: 2 . 单片机应用系统中定时计数的需求:
如用单片机控制的打铃器、空调的定时开关、啤酒自 动生产线上对酒瓶的计数装置等。 3 . 80C51单片机片内的定时/计数器: 两个16位可编程的定时/计数器:T0和T1,都能定 时和对外部事件进行计数。 此外,T1还可以作为串行接口的波特率发生器。
说明:此时串口的优先级高于外部中断0的优先级
答案:
此时CPU按自然优先级顺序确定该响应哪个
中断请求。
如果几个同级别的中断 源同时申请中断,CPU 如何响应?
注意: 自然优先级由硬件决定,用户不能更改。 排列见表4-2
表4-2
中断入口地址及自然优先级
3.定时/计数器及外部中断控制寄存器TCON • 功能:
3.中断系统

第5章-中断技术-实例讲解

第5章-中断技术-实例讲解

3.项目电路原理框图 项目电路原理框图如图6-1所示。电路由8086CPU、
8255A芯片、8259A芯片、继电器及驱动和脉冲按钮UP组成。
图6-1 外部中断控制继电器电路图
4.项目程序设计 (1)程序流程图
外部中断控制继电器程序流程图如6-2所示。
(a)主程序 (b)IR0中断服务程序 图6-2 外部中断控制继电器程序流程图
2.项目电路连接与说明 (1)项目电路连接:如图6-9所示的粗线为要接的连线,接 线描述如下:8259A的片选CS连至地址译码处的210H~217 H插孔;8255A的片选CS连至地址译码处的200H~207H插 孔;将8只LED发光二极管连接至8255A的PA0~PA7插孔; 将UP脉冲按钮连接至8259A的IR0插孔。 (2)项目说明:8259可外接8个中断源,本项目只响应 INT0中断,8259也可以多级连接,以响应多个中断源。将 单脉冲信号接到8259的INT0脚。每按一下UP,8259A就中 断一次,LED发光二极管灯左循环亮。在编程时应注意:
MOV DX,210H ; 8259地址 OUT DX,AL MOV AL,8 ; ICW2中断类型号为8 MOV DX,211H OUT DX,AL MOV AL,01H ; ICW4不用缓冲方式,正常中断结束, 非特殊的全嵌套方式
OUT DX,AL
MOV AX,0 ; 清零源自MOV DS,AX ; 数据段清零
ASSUME CS:CODE,DS: DATA ,SS:STACK START :MOV AL,13H ; 00010011B,ICW1:边沿触发,单片,要ICW4
MOV DX,210H ; 8259地址 OUT DX,AL MOV AL,8 ; ICW2中断类型号为8 MOV DX,211H OUT DX,AL

第五章中断系统1

第五章中断系统1

第五章 中断系统5. 1 输入/输出数据的传输控制方式一、输入/输出的一般概念1.引言输入/输出是微机系统与外部设备进行信息交换的过程。

输入/输出设备称为外部设备,与存储器相比,外部设备有其本身的特点,存储器较为标准,而外部设备则比较复杂,性能的离散性比较大,不同的外部设备,其结构方式不同,有机械式、电动式、电子式等;输入/输出的信号类型也不相同,有数字信号,也有模拟信号;有电信号,也有非电信号;输入/输出信息的速率也相差很大。

因此,CPU与外部设备之间的信息交换技术比较复杂。

CPU与外设之间的信息交换,是通过它们之间接口电路中的I/O端口来进行的,由于同一个外部设备与CPU之间所要传送的信息类型不同,方向不同,作用也不一样(例如数据信息、状态信息、控制信息、输入/输出等),所以接口电路中可以设置多个端口来分别处理这些不同的信息。

2.输入/输出端口的寻址方式微机系统采用总线结构形式,即通过一组总线来连接组成系统的各个功能部件(包括CPU、内存、I/O端口),CPU、内存、I/O端口之间的信息交换都是通过总线来进行的,如何区分不同的内存单元和I/O 端口,是输入/输出寻址方式所要讨论解决的问题。

根据微机系统的不同,输入/输出的寻址方式通常有两种形式:(1).存储器对应的输入、输出寻址方式这种方式又称为存储器统一编址寻址方式或存储器映象寻址方式。

方法:把外设的一个端口与存储器的一个单元作同等对待,每一个I/O 端口都有一个确定的端口地址,CPU与I/O端口之间的信息交换,与存储单元的读写过程一样,内存单元与I/O端口的不同,只在于它们具有不同的的地址。

优点:①CPU对I/O端口的读/写操作可以使用全部存储器的读/写操作指令,也可以用对存储器的不同寻址方式来对I/O端口中的信息,直接进行算术、逻辑运算及循环、移位等操作。

②内存与外设地址的分配,可以用统一的分布图。

③不需要专门的输入、输出操作指令。

缺点:1 内存与I/O端口统一编址时,在地址总线根数一定的情况下,使系统中实际可以直2 接寻址的内存单元数减少。

第5章:中断系统2

第5章:中断系统2


• •
中断优先级的判定 中断源的优先级别分为高级和低级,通过由软件 设置中断优先级寄存器IP相关位来设定每个中断 源的级别。 如果几个同一优先级别的中断源同时向CPU请求 中断,CPU通过硬件查询电路首先响应自然优先 级较高的中断源的中断请求。 中断可实现两级中断嵌套。高优先级中断源可中 断正在执行的低优先级中断服务程序,除非执行 了低优先级中断服务程序的CPU关中断指令。同 级或低优先级的中断不能中断正在执行的中断服 务程序。
5.2 中断处理过程
• 中断处理流程 • 中断嵌套 • 中断的应用实例
中断处理流程
执行一条指令 取下一条指令

中断处理过程可分为 中断请求、中断响应、中 断处理和中断返回四个阶 段。不同的计算机因其中 断系统的硬件结构不同, 因此,中断响应的方式也 有所不同。这里仅以8051 单片机为例进行叙述。其 主要内容及一般顺序如图 5-3所示。
(4)中断请求的撤除
• 中断源发出中断请求,相应中断请求标志置“1”。CPU响应 中断后,必须清除中断请求“1”标志;否则中断响应返回后, 将再次进入该中断,引起死循环出错。如何撤除中断请求标 志的说明如下:
• 定时器溢出中断请求的撤除:
• 对于定时器0或1溢出中断,CPU在响应中断后即由硬件自动 清除其中断标志位TF0或TF1,用户无须采取其他措施。
编写中断服务程序时应注意
① 在中断矢量地址单元处放一条无条件转移指令(如
LJMP ××××H),使中断服务程序可灵活地安排
在64KB程序存储器的任何空间。
② 在中断服务程序中,用户应注意用软件保护现场,
以免中断返回后丢失原寄存器、累加器中的信息。
③ 若要在执行当前中断程序时禁止更高优先级中断,

第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)。

常用软件中断
中断号
功能
中断号
功能
10H 视频服务中断
13H 软硬盘控制中断
14H 串行口中断
15H 各种IO设备中断
16H 键盘中断
17H 并行打印口中断
20H 返回DOS
21H DOS功能调用
23H Ctrl+Break处理
24H DOS严重错误
33H 鼠标中断
2FH DOS保护方式接口
31H
BIOS、DOS、自由中断的汇编调用方式: INT n ; n为中断向量号,如 INT 10H、INT 21H
中断系统的功能
中断系统应具有如下功能: (1)实现中断及返回 (2)能实现优先权排队 (3)中断嵌套处理
PC微机中断系统
IBM PC/XT中有三种类型的中断: (1)内部中断,即软件中断。包括被零除、单步、溢出 和中断指令(包括断点中断)等。这是由 8086执行指令 产生的中断。 (2)非屏蔽中断NMI。在IBM PC/XT中若存储器的读写 奇偶校验错,或者是由8087的异常状态产生的中断都送 至8086的NMI输入端要求处理。 (3)可屏蔽中断INTR。这是由外部设备通过一片8259A 产生的中断请求。
中断过程:
中断请求
中断响应 中断服务 中断结束
中断处理 中断处理的隐操作:程序状态及程序断点地址的进栈及出栈。
中断源
发出中断请求的外部设备或引起中断的内部原因称为中断源。
外设中断 指令中断 程序性中断 硬件故障中断
异常中断 内部中断
软件中断
异常事件引起 中断指令引起
可屏蔽中断 外部中断
非屏蔽中断
INTR中断 NMI中断
地址总线
缺点:加重CPU负担
控制总线
浪费计算资源
0
&
0
0
中断信号
中断方式
事务处理 就是 执行预先编写的设备控制程序
什么是程序? 计算机如何执行程序? 什么是程序的入口地址? 如何找到程序的如口地址?
事务处理请求
事务处理请求 事务处理程序 事务处理程序入口
中断请求信号 中断服务程序 中断服务程序入口(中断向量)
PC微机中断源
内部中断
256 个中 断源
外部中断
除法错中断 溢出中断 单步中断 软件中断
非屏蔽中断 可屏蔽中断
PC机的中断向量表
存放各类中断的中断服务 程序的入口地址
每个入口占用4 Bytes,低 字为段内偏移,高字为段基 址
表的地址位于内存的 00000H~003FFH,大小为 1KB,共256个入口
中断嵌套
中断优先级(续)
原则:按机器故障、DMA、外围硬件、软件递减。 结果:CPU专用>DMA>外围硬件>BIOS>DOS>自由
即基本按中断向量表排序。 外围硬件一般可由用户修改其优先权。
中断处理
执行中断服务程序 软件现场保护(关键/使用的寄存器值入堆栈) 事务处理程序 软件现场恢复(从堆栈中恢复关键/使用寄存器的值)
可编程中断控制器8259A
✓功能说明 ✓外部特性 ✓内部特性 ✓工作方式 ✓初始化 ✓应用示例
功能
✓优先级排队管理:(完全嵌套、循环优先级、特定屏蔽) ✓接受和扩充外部设备的中断请求(8—64) ✓提供中断类型号(可编程控制) ✓进行中断请求的屏蔽和开放(8、15或更多,向量/查询 中断)
外部特性
第五章 中断技术
❖中断的基本概念 ❖中断系统 ❖PC机中断系统 ❖可编程中断控制器8259A
中断的基本概念
CPU获取外部设备事务处理请求的方式: ➢查询方式 ➢中断方式
事务处理请求的响应及执行过程
INTR
CPU
逻辑与门
数据缓冲器件
查询方式 中断方式
外设7
外设6
外设5
事处理请求的软件识别过程
重复查询:
7 请求处理
开始
读缓冲器的值

有请求
6是
请求处理
1.查询请求来源 2.程序跳转
0 请求处理
执行其他任务
查询方式
查询方式:按序依次检查外设对应的状态变化,依据预先 设定的规则,判断有无事务处理请求,有则执行事务处理, 无则继续。
数据总线
244
优点:简单
245 等
PCs机中断响应和处理流程图
中断的可屏蔽性
1.非屏蔽中断 出现在NMI线上的中断请求,不受标志位IF的影响,
在当前指令执行完以后,CPU就响应。 2.可屏蔽中断
出现在INTR线上的请求信号是电平触发的,它的出 现是异步的,在CPU内部是由CLK的上升沿来同步的。在 INTR线上的中断请求信号(即有效的高电平)必须保持 到当前指令的结束。
CPU侧: CS; DB0~DB7; RD、WR、A0; INT、INTA;
外设侧:
IR0~IR7; 级联:
SP/EN、 CAS0~CAS2。
逻辑部件
D7 数据 总线 缓冲 器
D0
RD
读写
WR
控制
A0
逻辑
CS
SP/EN
级连
CAS0
缓冲
CAS1
比较
CAS2
IN TA
INT
控制电路
内部控制逻辑
初始化命令
操作命令

寄存器组
寄存器组




IR0
当前中断服务
中断优先级分
中断请求寄存
线
程序 ISR
析器 RP
器 IRR
中断识别
获取中断服务程序入口地址的方法。
软件查询(轮询)法 软件查询,入口地址固定,子程序调用
中断向量法 中断源与中断(类型)号 中断号与中断向量 中断向量与中断向量表
中断优先级
并发中断(中断嵌套)的处理技术 当有多个中断源同时请求时,CPU就要识别出是哪些中 断源有中断请求,辨别和比较它们的优先权(Priority),先 响应优先权级别最高的中断申请。另外,当CPU正在处理中 断时,也要能响应更高级的中断申请,而屏蔽掉同级或较低级 的中断请求。
要判别和确定各个中断源的中断优先权,可以用软件和 硬件两种方法。
软件采用查询技术。当CPU响应中断后,就用软件查询 以确定是哪些外设申请中断,并判断它们的优先权。
中断优先级——解决问题
❖对同时产生的中断: 首先处理优先级别较高的中断;若优先级别相同,
则按先来先服务的原则 ❖对非同时产生的中断:
低优先级的中断程序允许被高优先级的中断源所 中断
中断的过程
中断请求 中断响应
中断识别 中断处理 中断返回
保留断点 保护现场 获取中断服务程序的入口地址 执行中断服务程序 恢复现场 重置断点
基本概念
CPU在正常运行程序时,由于内部/外部事件或由程序预先安排 的事件,引起CPU中断正在运行的程序,而转达到为内部/外部 事件或为预先安排的事件服务的程序中去。服务完毕,再返回 去继续执行被暂中断的程序。
相关文档
最新文档