第七章中断

合集下载

51单片机学习教程第7章 中断PPT课件

51单片机学习教程第7章 中断PPT课件

2020/8/20
单片机C语言程序设计
19
中断的优先原则
8051单片机中断优先级遵循以下原则:
中断 Interrupt
1
标题添加
点击此处输入相 关文本内容
标题添加
点击此处输入相 关文本内容
总体概述
点击此处输入 相关文本内容
Байду номын сангаас
点击此处输入 相关文本内容
2
中断的事例
日常生活中有很多计划任务要完成 或突发事件要处理,常用的是查询法, 但更好的处理办法是中断。
如烧开水时,水烧开后应及时切断 加热源。
RI/TI=1
10
单片机中断系统的结构
中断服务程序入口地址和中断号:
中断源
中断标志
中断服务程序入 口地址
优先级顺序
外部中断(INT0) IE0
0003H

定时/计数器0(T0) TF0
000BH

外部中断(INT1) IE1
0013H

定时/计数器1(T1) TF1
001BH

串行口
RI和TI
0023H
1. 查询法:不断地检查水是否烧开 2. 中断法:在烧水的壶上装哨子,利用水
烧开后的蒸汽吹响哨子
2020/8/20
单片机C语言程序设计
3
中断的概念
计算机处理的任务按实时性要求分 为两类:
1. 非实时性任务:显示刷新、声音鸣响 2. 实时性任务:系统错误处理、实时监控
对于实时性要求高的任务,出现后 要求立即处理,采用轮询的方式容易实 现,但实时性不高,浪费CPU时间,采 用中断的方式较为适宜。
9
单片机中断系统的结构

第七章 中断系统

第七章 中断系统

的中断请求从INT输出,CPU的INTR引脚。 若CPU处于开中断状态,在当前指令结束后,连续发2 个中断响应信号,8259A收到第一个中断响应信号,ISR 相应位置1,将IRR的相应位复位。
8259A在收到第二个中断响应信号后,把中断类型号
送到数据总线。 中断响应后,如8259A工作在自动结束中断方式,8259A 会在第二个中断响应结束后,把ISR相应位成0;如工作在普 通EOI方式,则必须由CPU发EOI命令。
CPU响应单级中断的条件
有中断请求信号 中断是开放的
单级中断的处理过程
中断请求 中断响应 中断处理 中断返回
发中断响应信号 关中断 保护处理器的现行状态 转去中断服务程序首地址 保护现场 中断服务 恢复现场 开中断 中断返回
第三节 多级中断
多级中断 优先权判别及中断源的识别
MOV AL, 1BH ;单片,电平触发,要ICW4 OUT 60H,AL
MOV AL, 1BH OUT 60H,AL MOV AL, 38H OUT 61H, AL MOV AL,09H OUT 61H,AL MOV AL, 22H OUT 61H, AL
;单片,电平触发,要ICW4
; IRR0的中断类型码为38H ;普通的全嵌套方式,缓冲方式, ;正常EOI ; 屏蔽IRR1和IRR5
2. OCW2
3. OCW3
3.8259A编程应用
1.初始化
例1:设IBM PC机接有一片8259A(两个端口地址为60H、61H),管理8个 中断源,采用普通完全嵌套方式,普通EOI方式,中断请求高电平有效, 优先级固定,IRR0最高,IRR7最低,IRR0的中断类型号为38H。IRR1、 IRR5需要被屏蔽。

微机原理第7章 8086中断系统和中断控制器

微机原理第7章 8086中断系统和中断控制器

3)高级中断源能中断低级的中断处理
中断嵌套 当CPU正在响应某一中断源的请求,执行为其服务的中断服务程序时, 如果有优先级更高的中断源发出请求,CPU将中止正在执行的中断服务程 序而转入为新的中断源服务,等新的中断服务程序执行完后,再返回到被 1 中止的中断服务程序,这一过程称为中断嵌套。 • 中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度。
外部中断 非屏蔽中断 可屏蔽中断
可屏蔽中断源
CPU 中断逻辑
INTR
8259A 中断 INTA 控制器
INT N 指令
INTO 指令
除法 错误
单步 中断
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
外 设 中 断 源
内部中断: 除法错中断 指令中断 溢出中断 单步中断
硬件(外部)中断 非屏蔽中断请求 INT 2 NMI(17号引脚) 中 断 逻 辑 可屏蔽中断请求 中断类型号32~255 INTR(18号引脚)
中断指令 INT n N=32~255
溢出中断 INTO INT 4
断点 中断 INT 3
单步中断 (TF=1) INT 1
除法 错误 INT 0
软件(内部)中断
8086/8088中断源
1.软件中断(内部中断) 8086/8088的软件中断主要有三类共五种。 (1) 处理运算过程中某些错误的中断 执行程序时,为及时处理运算中的某些错误 ,CPU以中断方式中止正在运行的程序,提醒程 序员改错。 ① 除法错中断(中断类型号为0)。在8086 /8088 CPU执行除法指令(DIV/IDIV)时,若发现 除数为0,或所得的商超过了CPU中有关寄存器所 能表示的最大值,则立即产生一个类型号为0的 内部中断,CPU转去执行除法错中断处理程序。

第7章 中断系统

第7章 中断系统

可 屏 蔽 中 断 请 求
软件中断
硬件中断
小结: 中断分类及中ຫໍສະໝຸດ 类型码8086/8088系统最多可处理256级不同类型的中断。
可屏蔽中断(INTR) 外部中断(硬件中断) 非屏蔽中断(NMI,中断类型码2) 中断分类 单步中断(中断类型码1) 内部中断(软件中断) 断点中断(中断类型码3) 溢出中断(中断类型码4) Int n 中断
器退出暂停状态,响应中断,进入中断处理程序。
若现行指令为WAIT指令,且 TEST 引脚加入低电平信号, 则中断请求信号INTR产生后,便使处理器脱离等待状态,响 应中断,进入中断处理程序。
HLT: 暂停指令
(4) 8259A连续两次接收(2个总线周期) INTA = 0的中断 响应信号后,便通过总线将中断矢量号送CPU。 (5) 保护断点。将标志寄存器内容、当前CS内容及当前IP 内容压入堆栈: (SP)←(SP)-2
((SP)+1:(SP))←(PSW)
(SP)←(SP)-2 ((SP+l:(SP))←(CS) (SP)←(SP)-2 ((SP)+1:(SP))←(IP)
(6) 清除IF及TF(IF←0,TF←0),以便禁止其它可屏蔽中 断或单步中断发生。 (7) 求中断程序的入口地址 :根据8259A向CPU送的中断 矢量号n求得矢量地址,再查中断矢量表,得相应中断处理程 序首地址(段内偏移地址和段地址),并将 位首地址置入CS及
7.1 概述
中断和异常是处理器处理突发事件时所采取的两种不同 的处理方法,具体来说,中断指的是处理器暂停当前的程序, 转而去处理中断事件;而异常虽然也会对异常事件作出反应, 但不一定会暂停当前的程序。 在8086/8088处理器时代,中断主要包括外部中断 和 内 部中断两种。 在386/486等32位处理器时代,内部中断的数量和功能被 扩充,习惯上,称内部中断为异常,而中断则主要指外部中 断。

微型计算机原理与接口技术第七章课后答案

微型计算机原理与接口技术第七章课后答案

第七章1. 什么叫中断?什么叫可屏蔽中断和不可屏蔽中断?答:当CPU正常运行程序时,由于微处理器内部事件或外设请求,引起CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕,再返回被中止的程序,这一过程称为中断。

可屏蔽中断由引脚INTR引入,采用电平触发,高电平有效,INTR信号的高电平必须维持到CPU响应中断才结束。

可以通过软件设置来屏蔽外部中断,即使外部设备有中断请求,CPU可以不予响应。

当外设有中断申请时,在当前指令执行完后,CPU首先查询IF位,若IF=0,CPU就禁止响应任何外设中断;若IF=1,CPU就允许响应外设的中断请求。

不可屏蔽中断由引脚NMI引入,边沿触发,上升沿之后维持两个时钟周期高电平有效。

不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等紧急情况,CPU必须予以响应。

2. 列出微处理器上的中断引脚和与中断有关的指令。

答:INTR:可屏蔽中断请求输入引脚。

NMI:不可屏蔽中断请求输入引脚INTA:可屏蔽中断响应引脚INT n :软件中断指令,其中n为中断类型号INTO:溢出中断,运算后若产生溢出,可由此指令引起中断。

CLI:中断标志位IF清0STI:置位中断标志位为13. 8086/8088系统中可以引入哪些中断?答:(1)外部中断两种外部中断:不可屏蔽中断NMI和可屏蔽中断INTR(2)内部中断内部中断又称软件中断,有三种情况引起:①INT n :中断指令引起的中断②CPU的某些运算错误引起的中断:包括除法错中断和溢出中断③由调试程序debug设置的中断:单步中断和断点中断。

4. CPU响应中断的条件是什么?简述中断处理过程。

答:CPU响应中断要有三个条件:外设提出中断申请;本中断位未被屏蔽;中断允许。

可屏蔽中断处理的过程一般分成如下几步:中断请求;中断响应;保护现场;转入执行中断服务子程序;恢复现场和中断返回。

CPU在响应外部中断,并转入相应中断服务子程序的过程中,要依次做以下工作:⑴从数据总线上读取中断类型号,将其存入内部暂存器。

单片机讲义第七章

单片机讲义第七章

一、中断的起因
什么可以引起中断? 生活中很多事件可以引起中断:有人 按了门铃了,电话铃响了,你的闹钟闹响 了,你烧的水开了….等等诸如此类的事件, 我们把可以引起中断的称之为中断源,单 片机中也有一些可以引起中断的事件, 8051中一共有5个:两个外部中断,两个 计数/定时器中断,一个串行口中断。
三、中断的响应过程
当有事件产生,进入中断之前我们必须先记住现 在看书的第几页了,或拿一个书签放在当前页的位置, 然后去处理不同的事情(因为处理完了,我们还要回 来继续看书):电话铃响我们要到放电话的地方去, 门铃响我们要到门那边去,也说是不同的中断,我们 要在不同的地点处理,而这个地点通常还是固定的。 89C51中也是采用的这种方法,五个中断源,每个 中断产生后都到一个固定的地方去找处理这个中断的 程序,当然在去之前首先要保存下面将执行的指令的 地址,以便处理完中断后回到原来的地方继续往下执 行程序。
二、中断的嵌套与优先级处理
设想一下,我们正在看书,电话铃响了,同时又 有人按了门铃,你该先做那样呢?如果你正是在等一 个很重要的电话,你一般不会去理会门铃的,而反之, 你正在等一个重要的客人,则可能就不会去理会电话 了。如果不是这两者(即不等电话,也不是等人上 门),你可能会按你通常的习惯去处理。总之这里存 在一个优先级的问题, 单片机中也是如此,也有优先级的问题。优先级 的问题不仅仅发生在两个中断同时产生的情况,也发 生在一个中断已产生,又有一个中断产生的情况,比 如你正接电话,有人按门铃的情况,或你正开门与人 交谈,又有电话响了情况。考虑一下我们会怎么办吧。
电平触发的外部中断的清除
对于电平触发的外部中断,CPU响应中断后, 虽然也是由硬件清除了相应的标志位,但是不 能对外部引脚上的电平进行处理,也就是说, 这时如果外部引脚上的低电平依然存在,会造 成重复中断,因此我们应该在电路上增加对外 部引起中断的信号进行处理。P148图7-5是一 个可行的方案之一。通过I/O口输出一个信号, 使得外部引脚上的中断请求信号变为高电平。

第7章 中断处理

第7章 中断处理
•打印机的打印事务; 打印机的打印事务; 打印机的打印事务 •数据采集中的 数据采集中的A/D转换等。 转换等。 数据采集中的 转换等
多道程序或多重任务的运行:分时中断处理。 多道程序或多重任务的运行:分时中断处理。
4. 中断源 任何能够引发CPU中断的事件都称为中 中断的事件都称为中 任何能够引发 中断的事件 断源。 断源。
二、多中断源情况下的特殊问题
1. 中断源的识别
对于软件中断而言,CPU对中断源的识别靠 对于软件中断而言, 对中断源的识别靠 软件中断指令( 来识别, 软件中断指令(INT n)中的中断号 来识别,并 )中的中断号n来识别 转到响应中断服务程序去执行。 转到响应中断服务程序去执行。 对于硬件中断,CPU只有一个 只有一个NMI和INTR引 对于硬件中断,CPU只有一个NMI和INTR引 当有多个外设要申请中断时, 脚,当有多个外设要申请中断时,就必须通过中 断接口电路来连接, 断接口电路来连接,同时给每个中断外设编排一 个中断号( 系统称为中断类型码)。 个中断号(8086系统称为中断类型码)。当任一 系统称为中断类型码)。当任一 外设有中断申请时, 外设有中断申请时,通过中断接口电路将外设中 断信号转发给CPU,然后再由 断信号转发给 ,然后再由CPU从中断接口电 从中断接口电 路读取该中断源的编号。 路读取该中断源的编号。
中 断 控 制 器
IRQ0 IRQ1
外设0 外设1
IRQn
外设n
软硬件结合的简易中断控制器
≥1
2. 中断优先级 对于多中断源而言, 对于多中断源而言,存在各中断源的优先级别 问题。当两个及以上的中断源同时申请中断时, 问题。当两个及以上的中断源同时申请中断时,最 先响应哪个中断源的中断请求, 先响应哪个中断源的中断请求,则由它们的优先级 别决定。 别决定。 可屏蔽中断源的优先级别由中断控制器决定。 可屏蔽中断源的优先级别由中断控制器决定。 8086系统中各类中断的优先级别如下: 系统中各类中断的优先级别如下: 系统中各类中断的优先级别如下

微型计算机原理与接口技术第七章课后答案全文

微型计算机原理与接口技术第七章课后答案全文

第七章1. 什么叫中断?什么叫可屏蔽中断和不可屏蔽中断?答:当CPU正常运行程序时,由于微处理器内部事件或外设请求,引起CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕,再返回被中止的程序,这一过程称为中断。

可屏蔽中断由引脚INTR引入,采用电平触发,高电平有效,INTR信号的高电平必须维持到CPU响应中断才结束。

可以通过软件设置来屏蔽外部中断,即使外部设备有中断请求,CPU可以不予响应。

当外设有中断申请时,在当前指令执行完后,CPU首先查询IF位,若IF=0,CPU就禁止响应任何外设中断;若IF=1,CPU就允许响应外设的中断请求。

不可屏蔽中断由引脚NMI引入,边沿触发,上升沿之后维持两个时钟周期高电平有效。

不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等紧急情况,CPU必须予以响应。

2. 列出微处理器上的中断引脚和与中断有关的指令。

答:INTR:可屏蔽中断请求输入引脚。

NMI:不可屏蔽中断请求输入引脚INTA:可屏蔽中断响应引脚INT n :软件中断指令,其中n为中断类型号INTO:溢出中断,运算后若产生溢出,可由此指令引起中断。

CLI:中断标志位IF清0STI:置位中断标志位为13. 8086/8088系统中可以引入哪些中断?答:(1)外部中断两种外部中断:不可屏蔽中断NMI和可屏蔽中断INTR(2)内部中断内部中断又称软件中断,有三种情况引起:①INT n :中断指令引起的中断②CPU的某些运算错误引起的中断:包括除法错中断和溢出中断③由调试程序debug设置的中断:单步中断和断点中断。

4. CPU响应中断的条件是什么?简述中断处理过程。

答:CPU响应中断要有三个条件:外设提出中断申请;本中断位未被屏蔽;中断允许。

可屏蔽中断处理的过程一般分成如下几步:中断请求;中断响应;保护现场;转入执行中断服务子程序;恢复现场和中断返回。

CPU在响应外部中断,并转入相应中断服务子程序的过程中,要依次做以下工作:⑴从数据总线上读取中断类型号,将其存入内部暂存器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
不存在同时调用多个子程序的情况,因此 子程序不需要进行优先级排队;而不同中 断源则可能同时向CPU提出服务请求,因 此需要中断仲裁及优先级排队。
中断系统的功能
一、实现中断及返回
中断源发出中断请求,CPU决定是否响应,若响 应,则保护断点和现场,转入相应中断服务程序, 中断服务结束后,恢复现场和断点,继续执行原 程序。
7.1中断概述
中断,是指CPU在执行正常程序时,为处理一些 紧急发生的情况,暂时中止当前程序,转而对该 紧急事件进行处理,并在处理完后返回正常程序 的过程
CPU执行流程
非预料事件1
中断服务程序1
非预料事件 2
中断服务程序 2
非预料事件
◆非预料事件是指事件发生的时间无法预知,即中断源何时产生中断不确定,是随 机的。
每个中断服务程序末尾必须有IRET指令以示 结束,从而返回被中断的程序地址处
中断屏蔽:在中某断些系情统况下相,关CP概U念可能不对中断请
求信号作出响应或处理,这就是中断屏蔽。
屏蔽情况
➢ 中断屏蔽标志IF
➢ 接口电路中的中断屏蔽寄存器
➢ 系统在处理优先级别较高的中断请求时,不会 理睬后来的级别较低的中断请求 。
NMI、 2、软件中断(包括自动产生中断)
CPU内部
NMI CPU内的中断逻辑
软件中断 INT n INTO
自动产生的中断 除法错
单步(TF=1)
INTR 8259A
IRQ0 系统定时器 IRQ1 键盘 IRQ2 彩色/图形接口 IRQ3 保留(串口) IRQ4 串口 IRQ5 保留(LPT)
IRQ6 软盘
中断优先级:在系统中多个中断源可能同时提出
中断请求时,需要按中断的轻重缓急给每个中断 源指定一个优先级别
中断系统相关概念
断点:是指CPU执行的现行程序被中断时的 下一条指令的地址,又称断点地址
、、
、、
断点概念
、、 、、
、、
MOV AX, 0
ADD AX, DX
1000:150H
MOV [ DI ], AX
外部中断 (硬件中断)
可屏蔽中断 (INTR) 不可屏蔽中断 (NMI)
内部中断
(软件中断) (执行指令所引起的)
中断系统相关概念
中断向量:中断向量即中断服务子程序的入口地 址,也就是中断服务子程序的第一条指令的地址 在存储器中的存放位置
中断向量表:中断向量构成的表格,位于存储器 的最低地址单元
类型 中断源


00H 被0除 0FH 并口1(打印机) 1EH 磁盘参数
中断
01H 单步中断 10H 显示器驱动程序 1FH 图形字符集
02H NMI
11H 设备检测
20H 程序结束
03H 断点中断 12H 存储器检测
21H DOS系统
调用
IBM-PC/XT中断类型号的功能分配
类型码
中断源
类型码
中断源
类型码
中断源
04H 溢出中断 05H 屏幕打印中断
06H (保留)
07H (保留)
13H 软盘驱动程序
22H 结束地址
14H 通信驱动程序
23H Ctrl-Break夭折键
处理
15H 盒式磁带机驱动程 24H 关键性错误处理

16H 硬盘驱动程序
25H 磁盘顺序读
08H 定时电路中断
17H 打印机驱动程序 26H 磁盘顺序写
CPU执行流程
非预料事件1
中断服务程序1
中断系统的功能
二、能实现优先权排队
按各中断请求的重要程度排列CPU响应的 次序称为中断优先级。
即同时有多个中断请求到来时,CPU会首 先响应和处理优先级别最高的中断请求。
中断优先级的实现可以用软件或硬件设置
7.2 8086的中断系统
8086的中断源(8086微型机有两类中断): 1、可屏蔽硬件中断INTR、不可屏蔽硬件中断
◆中断源产生中断的随机性,使中断服务程序的执行也具有随机性,即何时执行中 断服务程序不是在程序中安排好的。
中断系统
中断系统是微机中实现中断功能的各种软、 硬件的总称
中断系统一般包括CPU内部相应的中断逻辑、 接口中的中断控制电路及各类中断服务子程 序
中断系统相关概念
中断源:引起中断的原因,或能够发出中断请求信 号的外设 中断类型号:处理器对各类中断的中断源进行的统 一编号N,N的取值范围是0~255
IRQ7 LPT
中断源的优先级顺序为:被0除中断→软件中断→INTO → NMI → INTR →单步中 断。
中断类型码
一、中断类型码:8086可以处理256个中断请求。每 个中断请求均对应于唯一固定的类型码。被0除 类型码是0,单步为1; NMI为2;断点中断为3, 溢出中断为4
类型 中断源 类型码 中断源
、、 、、 、、 、、
、、
PUSH AX
、、
、、
IRET
CPU在执行此指令时, 某中断源发申请中断; CPU在执行完该指令后, 转去执行中断子程
地址1000:150H为断点
中断系统相关概念
中断现场:是指CPU转去执行中断服务程序前的运行 状态,包括CPU内部各寄存器、断点地址等。
中断嵌套:当CPU正在进行某一级别中断源的中断 处理时,若有更高级别的新中断源发出请求,且新中 断源满足响应条件,则CPU应中止当前的中断服务程 序,保护此程序的断点和现场,转而响应高级中断。 这种多级(重)中断的处理方式称为“嵌套”。
中断嵌套过程示意图Leabharlann CPU执行流程非预料事件1
中断服务程序1
中断服务程序2
非预料事件2
中断嵌套必须具备的几个条件
正处于响应状态的中断服务程序中,应开放 总中断(IF位置1)
新中断应具有比原中断有高的优先级;同级 或低级均不能嵌套
为保护各级中断服务程序的数据不被破坏, 所有服务程序中均应有保护现场、恢复现场 的指令
09H 键盘中断
18H BASIC程序
27H 程序结束且驻留内

0AH 保留的硬件(级联)中 19H 引导(BOOT)程 28H DOS内部使用


0BH 异步串口2中断
中断处理过程
中断检测
✓ CPU内部硬件自动完成
中断响应
✓ CPU内部硬件自动完成
中断服务
✓ 中断服务是根据用户自行编制的指令顺序完 成各项操作的。
程序中断与子程序调用的区别
子程序的执行是程序员事先安排好的(由 调用子程序的指令转入);中断服务子程 序的执行一般由随机的中断事件引发。
子程序的执行受到主程序或上层子程序的 控制;中断服务子程序一般与被中断的现 行程序无关。
相关文档
最新文档