第七章中断技术

合集下载

第七章 微型计算机中断系统-103页精选文档

第七章 微型计算机中断系统-103页精选文档

(3)由调试程序debug设置的中断 在调试程序时,为了检查中间结果或寻
找程序中的错误,在程序中可设置断点或进 行单步跟踪,调试程序debug有此功能它也是 由中断来实现的。 ①单步中断:单步是每次只执行一条指令, 然后屏幕显示当前各寄存器和有关存储单元 的内容,以及下条要执行的指令。这样逐条 运行指令,来跟踪程序的流程,以检查出程 序中的错误。单步中断是在标志位TF=1时, 每条指令执行后,CPU自动产生中断类型号 为1的中断。
和中断优先级次序。
2. 内部中断 内部中断又称为软件中断。软件中断通
常有三种情况引起:
①由中断指令INT引起的中断; ②由CPU的某些运算错误引起的中断; ③由调试程序debug设置的中断。
※内部中断只要由上面三种情况引起了,是 不可屏蔽的!
(1)由中断指令INT引起的中断 例7-1 C测P试U执存行储一器条容I量NT n指令后立即产生中 断,并IN且T 调1用2H系统中相应的中断处理程序去 完成中CP断U功执能行,这指条令指中令的时n,指立出即了产中生断一类个型 中号断。。并从中断向量表的0:12H×4开始的 单元中取出4个字节,其内容为中断服务子 程序的段地址和偏移地址,然后转去此入口 去执行中断服务子程序,完成对存储器的测 试。
(2)由CPU的某些运算错误引起的中断 CPU在运行程序时,会发现一些运算中
出现的错误,此时CPU就会中断,让用户去 处理这些错误。主要有:
①除法错中断:除法错中断类型号为0,在 除法运算中,若除数为0或商超过了寄存器 所能表达的范围,就产生一个类型号为0的 中断,转去类型号为0的中断处理。 ②溢出中断:溢出中断类型号为4,专用指 令例为7I-2NT测O试。加若法O的F=溢1执出行中断指令INTO; 若OF=A0,DD不执AX行,中B断X指令。通常INTO放 在加、I减NT法O运算指令的后面。

微机原理第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系统中各类中断的优先级别如下: 系统中各类中断的优先级别如下: 系统中各类中断的优先级别如下

微机原理 第七章中断控制器

微机原理 第七章中断控制器

CAS2
3
2 . 8259A的编程结构和工作原理
4
编程结构 (1)上半部分:处理部件 中断请求寄存器IRR 中断优先级裁决器PR 当前中断服务寄存器ISR (2)下半部分:7个寄存器 ICW1~ICW4 OCW1~OCW3
5
中断请求寄存器IRR
保存8条外界中断请求信号IR0-IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求
1. 中断优先权管理方式: 可见,8259A (1) 全嵌套方式 (2)特殊全嵌套方式 有多中工作方式, (3)自动循环方式 (4)特殊循环方式 使用起来很灵活, 2. 屏蔽中断源的方式 不易掌握,所以介 (1)普通屏蔽方式 (2)特殊屏蔽方式 绍编程之前,先对 3. 中断结束方式 其工作方式分类进 (1) 自动结束(AEOI)方式 行简要的介绍。 (2) 非自动结束(EOI)方式: ① 普通EOI方式;② 特殊EOI方式 4. 系统总线的连接方式(8259A级连方式) (1) 缓冲方式 (2)非缓冲方式 5. 中断请求的引入方式 (1) 边沿触发 (2)电平触发 (3)中断查询
• 优先级特殊循环方式:初始优先级队列是由编程确定的。 也可由操作命令字OCW2来设定。
10
2、屏蔽中断源的方式
• 普通屏蔽方式:8259A的每个中断请求输入端都可以通过 对应屏蔽位的设置被屏蔽,通过设置操作命令字OCW1使 屏蔽器中任一位或几位置1(对中断的屏蔽总是暂时的, eg:计算机网络通信)
5.
6.
16
五、中断响应过程(CPU与8259A的操作过程)
1、申请中断 外设 对应IR0 ~ IR7为“1”, 为“1” CPU的INTR输入“1”,申请中断。 2、响应中断的条件 CLI 使 IF = 0,禁止中断。 STI 使 IF = 1,允许中断。 判优后使INT

《单片机原理与技术》课件第7章-中断

《单片机原理与技术》课件第7章-中断

1.定时器/计数器控制寄存器TCON
位7
位6
位5
位4
位3
位2
位1
位0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
IT0:外部中断INT0触发方式选择 位。可由用户用软件选择。 • IT0=1:设定外部中断引脚信号为下降 沿触发方式。 •
IT1:外部中断INT1触发方式选择 位,其功能类似于IT0。 • IE0:外部中断INT0触发有效标志 位。 • IE1:外部中断INT1触发有效标志 位,其功能类似于IE0。 •

定时器0与定时器1标志为TF0与TF1, 在定时器溢出周期的S5P2设置。然后其值 在下一周期由电路查询。然而,定时器2标 志TF2是在S2P2设置且在定时器溢出的同 一周期内被查询。 Nhomakorabea•
若请求有效且响应的条件正确,至请 求的服务例程的硬件子例程调用将是下一 条要执行的指令。CALL自己需要两个周期。 因此,在外部中断请求的激活与服务例程 的第一条指令的执行开始之间,至少需要3 个完整的机器周期。图7-9所示为中断响应 时序。
图7-4 中断响应、服务及返回流程图
7.3 80C51中的中断结构
7.3.1 中断启用
图7-5 MCS-51中断源
图7-6 80C51中的IE(中断启用)寄存器
7.3.2
中断优先权
图7-7 80C51中的IP(中断优先级)寄存器
7.3.3

中断如何处理
在操作中,所有中断标志在每个机器 周期的S5P2期间被采样。在下一个机器周 期期间查询采样。若找到一启用的中断的 标志已设置,中断系统生成一LCALL至在 程序存储器中的适当单元,至中断服务例 程的LCALL的生成,由以下3个条件中的任 一个阻断:

单片机原理及接口技术 第七章

单片机原理及接口技术 第七章

7.6.2 中断返回
在中断服务子程序的最后要安排 一条中断返回指令IRET,执行该指令, 系统自动将堆栈内保存的 IP/EIP和CS 值弹出,从而恢复主程序断点处的地 址值,同时还自动恢复标志寄存器FR 或EFR的内容,使CPU转到被中断的程 序中继续执行。
7.6.4 中断请求的撤除
①若ITO (ITl) =0,外中断为电平触发方式。单片机在每一个机器周期的S5P2期间采样中断输入信号INTO (INT1)的状态,若为低电平,即可使TCON寄存器中的中断请求标志位IEO (IEl)置位,若满足响应条件就能得 以及时响应。由于外中断源在每个机器周期被采样一次,所以输入的低电平至少必须保持12个振荡周期,以保 证能被采样到。而一旦CPU响应中断,进入中断服务程序时,IEO (IEl)会被CPU自动删除,但由于中断系统没有 对外的中断应答信号,即中断响应后没有信号输出去通知外设结束中断申请,所以,设计人员如果没有措施来 撤除低电平信号,则在下一个机器周期CPU检测外中断申请时又会发现有低电平信号而将IEO (IEl)重新置位。
外部中断是由外部原因引起的,共有两个中断源,及外部中断0和外部中断1,相应的中断 请求信号输入端是INT0和INT1。 外部中断INT0和INT1有两种触发方式,即电触发方式和脉冲触发方式。
7.4.2 定时中断类
定时中断发生在单片机的内部,也有两个中断源,即为定时/计数器0溢出中断和定时/计 数器1溢出中断。
7.4 中断源类型
中断源,中断是指由于某种事件的发生(硬件或者软件的),计算机暂停执行当前的程序, 转而执行另一程序,以处理发生的事件,处理完毕后又返回原程序继续作业的过程。中断是 处理器一种工作状态的描述。我们把引起中断的原因,或者能够发出中断请求信号的来源统 称为中断源。

武汉理工通信原理课件第七章 中断和异常

武汉理工通信原理课件第七章  中断和异常
① 被零除操作或OF=1时执行INTO指令引起 被零除操作或OF=1时执行INTO指令引起 ② 使用DEBUG中的单步或断点设置操作引起 使用DEBUG中的单步或断点设置操作引起 ③ 执行INT n 指令引起 执行INT
外部中断(硬中断) 2,外部中断(硬中断) 指外部芯片通过 CPU的INTR引脚或NMI引脚 CPU的INTR引脚或NMI引脚 发出中断申请引起的中断. 发出中断申请引起的中断.
CPU执行流程 执行流程
中断事件1 中断事件 中断服务程序1 中断服务程序
中断事件 2 中断服务程序 2
二,中断源和中断优先权
引起中断的因素很多, 引起中断的因素很多, 将发出中断申请的外设或内部的原因, 将发出中断申请的外设或内部的原因,称为中断源 给每个中断源指定一个优先权, 给每个中断源指定一个优先权,称为中断优先权 当多个中断源同时发出中断请求时, 当多个中断源同时发出中断请求时, CPU按照中断优先权的高低顺序,依次响应. CPU按照中断优先权的高低顺序,依次响应.
当INTR上有高电平信号 INTR上有高电平信号 当NMI上有上升沿信号 NMI上有上升沿信号
8 0 8 8
可屏蔽中断
由INTR引脚引起的中断,称可屏蔽中断. INTR引脚引起的中断, 可屏蔽中断. CPU是否响应INTR引脚上的中断请求取决于IF标志: CPU是否响应INTR引脚上的中断请求取决于IF标志: IF=1 CPU响应INTR引脚上的中断请求 IF=1,CPU响应INTR引脚上的中断请求 IF=0 CPU不响应INTR引脚上的中断请求 IF=0,CPU不响应INTR引脚上的中断请求 即当IF=0 即当IF=0时,将INTR引脚上的中断申请屏蔽. INTR引脚上的中断申请屏蔽.
最大组态(最小组态) 最大组态(最小组态) GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND VCC A15 A16/S3 A17/S4 A18/S5 A19/S6 (HIGH)(SSO) MN/MX RD RQ/GT0(HOLD) RQ/GT1(HLDA) LOCK(WR) S2(IO/M) S1(DT/R) S0(DEN) QS0(ALE) QS1(INTA) TEST READY RESET

微机原理及接第七章中断技术可编程中断控制器(Intel 8259A)口技术

微机原理及接第七章中断技术可编程中断控制器(Intel 8259A)口技术

A/D转换器 开关量输入 D/A转换器 开关量输出
键盘 数字化仪 点阵打印 CRT 显示 光笔 图形输入 激光打印 液晶显示 声音输入 喷墨打印 绘图仪 X-Y记录仪 扫描仪
硬盘 软盘 光盘 磁带
微机控制各类接口框图
二、 CPU 与外设之间的接口信息
1. 数据信息 (DATA) CPU与外设交换的基本信息是数据, 有三种类型: (1) 数字量 由键盘、光电输入机等输入的信息。
译 码 器 三态缓 冲器 G
A15~A0 M/ IO
INTA INTR
中断允许 触发器
工作原理:若输入设备准备好数据,且中断允许,则通 过中断请求触发器发INTR。如果IF=1,则CPU在当前指 令执行完后,进入中断响应周期,发INTA,待到中断类 型号,进入中断服务实现数据传送。
外 设 准 备 数 据
3. 控制信息 (CONTROL)
CPU通过接口输出用以控制外设工作的信息。 例如控制I/O 设备启动或停止等。
AB CPU DB CB DATA STATUS I/O 设备
1 I/O 接口 2
3 CONTROL
CPU 与外设之间的接口信息
三、接口的功能
接口用以解决CPU与外设连接时存
在的矛盾,一般有以下功能: 1. 数据缓存:匹配不同的数据传送速率。 2. 端口寻址:选择某一外设,某一端口。 3. 命令译码:解释CPU输出的命令,产生相 应的操作控制信号。
4. 同步控制:协调时序上的差异。
8.2
I/O 端口的编址方式
接口电路中能被CPU访问的寄存器或某 些特定器件称为I/O端口。I/O端口分为数据 端口、状态端口和命令端口。
AB
CPU 1 I/O 接口 2 DATA

第七章AT89s52单片机中断系统

第七章AT89s52单片机中断系统

高 优 先 级
低 优 先 级
7
3.中断触发方式
①.电平触发方式 ②.下降沿触发方式
第七章 AT89S52单片机中断系统
8
7.2.2 中断标志与控制
单片机设置了5个专用寄存器用于中 断控制,用户通过设置其状态来管理中 断系统。5个专用寄存器包括:
定时器/计数器0,1控制寄存器TCON; 定时器2控制寄存器T2CON; 串行口控制寄存器SCON; 中断允许控制寄存器IE; 中断优先级控制寄存器IP。
第七章 AT89S52单片机中断系统
9
1.定时器/计数器0,1控制寄存器TCON
D7 D6 D5 D4 D3 D2 D1 D0
TCON TF1
TF0
IE1 IT1 IE0 IT0 字节地址:88H
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 可位寻址
TF1(TCON.7)—T1计数溢出,由硬件置位,响应中断
2
(2)中断源
中断源通常可分为以下几种: 设备中断 定时中断 故障源中断 程序性中断源
第七章 AT89S52单片机中断系统
3
(4) 中断识别方式
一般设有两种识别方式: 查询中断 矢量中断。
第七章 AT89S52单片机中断系统
4
(5) 中断的其它概念
中断请求、中断标志、中断允许、 中断入口地址(中断矢量)、中断 嵌套、中断保护、中断服务程序、 中断源清除、中断屏蔽、中断返回、 中断等待 。
当EA=1时,允许所有中断开放,总允许后,各中断的允许 或禁止由各中断源的中断允许控制位进行设置;
当EA=0时,屏蔽所有中断。
第七章 AT89S52单片机中断系统
14

计算机原理第七章8259

计算机原理第七章8259

8259的初始化命令字ICW2
ICW2是中断类型码初始化命令字,A0=1,跟在ICW1后表示对 ICW2编程。
ICW2设置中断类型码; 中断类型码高5位来自ICW2高5位,低3位对应IR0~IR7。
17
8259的初始化命令字ICW3
ICW3是标志主片/从片的初始化命令字,只有当SNGL=0时,跟 在ICW2后面出现,对其设置应使A0=1;
连接系统总线方式
缓冲方式 在多片8259级连的大系统中,8259通过总线驱动器和数据总线相 连; 使用8259的SP#/EN#作为总线驱动器的使能信号;
非缓冲方式 8259的SP#/EN#作为输入; 单片使用时, SP#/EN#接高电平;多片时,主片SP#/EN#接高电 平,从片SP#/EN#接低电平;
操作命令字可在任何时候写入8259A ,且无顺序。
OCW1为中断屏蔽操作命令字; A0=1 表示设置OCW1; Mi=1 表示屏蔽IRi输入中断请求;
28
8259的操作命令字OCW2
ቤተ መጻሕፍቲ ባይዱ
OCW2用来设置优先级循环方式和中断结束方式; A0=0,且D4D3 = 00,表示对OCW2编程; R,优先级循环状态 R=1优先级自动循环;R=0优先级不循环; EOI 中断结束命令位,非自动结束方式时清ISn; SL 设定标志。 SL=1,由L2、L1、L0指明中断号或最低优先权; SL=0,则L2、L1、L0无效;
29
设置优先级方式
优先级自动循环方式 一般用在系统中多个中断源优先级相等的场合; 优先级是变化的,一个设备收到中断服务后,它的优先级自 动降为最低; 初始优先级为IR0-IR7;
优先级特殊循环方式 最低优先级由初始编程设置;
30
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内部中断有如下特点: 1.中断由CPU内部引起,中断类型码的获得也与外部 无关,CPU不需要执行中断响应周期去获得中断类 型码; 2.除单步中断外,内部中断无法用软件禁止,不受中 断允许标志IF的影响; 3.内部中断没有随机性,这一点和调用子程序非常 相似。
二、外部中断响应过程
1、非屏蔽中断响应
(3) 清除IF和TF标志,屏蔽新的INTR中断和单步中断;
(4) 保存断点,即把断点处的IP和CS值压入堆栈,先压入 CS值,再压入IP值;
(5) 取中断服务程序的入口地址(中断向量表),分别送至
CS和IP中; (6)按新的地址指针执行中断服务程序。
最后执行中断返回指令IRET。IRET的执行将使 CPU按次序恢复断点处的IP和CS值,恢复标志寄 存器(相当于POPF)。恢复到断点处继续执行。
1、中断和异常 80386/80486及Pentium等高档微处理 器不仅具有前面讲到的所有中断类型,而且大大 丰富了内部中断的功能,把许多执行指令过程中 产生的错误情况也纳入了中断处理的范围,这类 中断称为异常中断,简称异常(Exception)。 从总体上异常分为三类:失效(Faults)、陷 阱(Traps)和中止(Abort)。三类异常的差别表 现在两方面:一是发生异常的报告方式,二是异 常中断服务程序的返回方式。
当它们工作于保护方式时,系统的IDT 可以置于内存的任意区域,其起始地址存 放在CPU内部的IDT基址寄存器中。有了 这个起始地址,再根据中断或异常的类型 码,即可取到相应的描述符项。 每个描述符项占8字节,包括2字节的选 择器,4字节的偏移量,这6字节共同决定 了中断服务程序的入口地址,其余2字节 存放类型值等说明信息。得到了中断服务 程序的入口地址便可进行相应的中断处理。
一、硬件中断
由外部硬件产生的,又称外部中断.
(1) 不可屏蔽中断请求 NMI 由CPU的引脚NMI引入,采用边沿触发,上升沿之后 维持两个时钟周期高电平有效. 不能用软件来屏蔽, 一
旦有不可屏蔽中断请求,如电源掉电等紧急情况,CPU
必须予以响应. (2)可屏蔽中断请求 INTR 由CPU的引脚 INTR 引入,采用电平触发,高电平有 效,INTR信号的高电平必须维持到CPU响应中断才
(3)每个类型号占4个字节,高2个字节存放中断入口地址
的段地址(CS),低2个字节存放段内偏移地址(IP).
中断类型号和 中 断向量地址之 间 的关系: 由中断类型号 n4即可得到 相应中断向量 的地址.
例 某中断的类型号为68H,
见图8-5. (1)取*4=1A0H (3)将2050H A000H IP, CS
(3)执行两个写总线周期,把断点地址的内容 CS、IP压入堆栈。
(4)执行一个读总线周期,从中断向量表中取出
中断处理子程序入口地址的偏移量送到IP的
寄存器中。
(5)执行一个读总线周期,从中断向量表中取出 中断处理子程序入口地址的段基值送到CS 寄存器中。
三、中断过程举例
……
CLI
PUSH
MOV MOV MOV
(4)转向中断服务程序 (5)中断返回到 INT 68H 指令的下一条指令
6.4.3 中断响应过程
一、内部中断响应过程
对于专用中断,中断类型码是自动形成的,而对于INTn指令, 其类型码为指令中给定的n。在取得了类型码后的处理过程顺 序为: (1) 将类型码乘4,作为中断向量表的指针; (2) 标志寄存器入栈,保护各个标志位;
一个可屏蔽中断被响应时CPU实际执行的总线周期 有7个,即:
(1) 执行两个中断响应总线周期,CPU获得相应的中 断
类型码,形成中断向量表指针存入暂存器 (2) 执行一个写总线周期,把标志寄存器FR的内容压 入堆栈。并将中断允许标志IF和单步标志TF清0, 以禁止中断响应过程中其他可屏蔽中断的进入, 同时也禁止了中断处理过程中出现单步中断。
(1)CPU指令执行产生的异常:溢出、被0除、单步执行 (2)执行INT软件指令:INT 21H等。
2、中断响应
1)CPU在每条指令的最后一个T周期去检测 INTR引脚,若为高,且IF=1,则CPU响应中断, 并向外设发出INTA中断响应信号。 2)CPU响应中断后,就自动实现关中断。 因此,要实现中断嵌套,必须在进入中断服务 程序后就用指令开中断,否则中断嵌套就难以 实现。
CPU采样到NMI请求时,自动提供中断类型码2。然后根 据中断类型码,查到中断向量表指针,其后的中断处理过程 和内部中断一样。
2、可屏蔽中断响应
CPU在每条指令的最后一个T周期去检测INTR引脚, 若INTR为高,且IF=1,则CPU响应中断。 当CPU响应中断后,对外设接口发出两个中断响应信号 INTA, 外设收到第二个 INTA 以后,立即往数据线上给 CPU送中断类型号
中断服务子程序一般格式: (1) 用PUSH指令保护现场. (2) 若允许中断嵌套,则用STI指令,使IF=1. (3) 执行中断处理程序. (4) 用CLI指令关中断,使IF=0,禁止其他中断请求进入.
(5) 给中断命令寄存器送中断结束命令EOI.
(6) 用POP指令来恢复现场. (7) 用中断返回指令IRET返回主程序,此时堆栈中保存的 断点值和标志值分别装入IP,CS和PSW.
第七章
微型计算机中断系统
7-1概述 中断的基本概念 中断服务程序执行完毕后,仍须返回到主程 序被中断处(断点处)继续执行原先程序。
1、 中断源:引起程序中断的事件. 外部中断源 (1)I/O设备:键盘、显示器,打印机等; (2)数据通道:磁带、磁盘; (3)实时钟:外部所需的定时电路; (4)故障源:掉电、存储器奇偶校验错等。 内部中断源:
DS
AX, 0000H DS, AX BX,0200H INTPROC …… MOV DX, DPORT PROC
MOV
MOV MOV MOV
AX,OFFSET INTPROC
[BX] ,AX AX, SEG INTPROC [BX+2] ,AX
……
IRET INTPROC ENDP
POP
DS
…… MOV ADD MOV AX, 2000H AX, AX [SI] , AX
第六章 习题
Page 269 6-1, 6-13
13. SP=0100H、SS=0300H、PSW=0240H, 在 存 储 单 元 中 已 有 内 容 为 ( 00020 ) = 0040H 、 (00022H)=0100H,在段地址为0900H及偏移地址 为00A0H的单元中,有一条中断指令INT 8。试问,执 行INT 8指令后,SS、SP、IP、PSW的内容是什么?栈 顶的三个字是什么。 解:8×4=32=20H 0900:00A0 INT 8; 0300:00FA A2 执行INT 8指令后, 00 SP=00FAH 0300:00FC 00 SS=0300H 09 PSW=0040H 0300:00FE 40 CS=0100H 02 IP=0040H 0300:0100 …
2.中断描述符表 为了管理各种中断,80386/80486及 Pentium等高档微处理器都设立了一个中断描 述符表IDT(Interrupt Descriptor Table)。 表中最多可包含256个描述符项,对应256个中 断或异常。描述符项中包含了各个中断服务程序 入口地址的信息。 当80386/80486等高档微处理器工作于实地 址方式时,系统的IDT变为8086/8088系统 中的中断向量表,存于系统物理存储器的最低地 址区中,共1K字节。每个中断向量占4字节,即 2字节的CS值和2字节的IP值。
2、可编程中断控制器 采用可编程中断控制器是当前微型机系统 中解决中断优先权管理的常用办法。 图6-25中断控制器的应用。
例:中断控制器8259A
6.4 80X86/Pentium中断系统
Intel 80X86系列微机可以处理256个 不同的中断源,每个中断源都有对应的中 断类型码(0~255)供CPU识别。 图6-26 8086/8088中断分类
CPU的INTR及NMI引脚。
7-2 中断处理过程
中断处理过程包括: 中断请求、中断判优、中断响应、中断处理及中断返回 1、中断请求 中断源产生中断请求的条件,不同的中断源是不一样的
2、中断判优
有多个中断源同时提出请求的情况,以中断优先权来决 定响应次序,CPU先响应优先级高的中断,挂起优先级 低的中断. 另一个作用是决定是否实现中断嵌套。
5、中断返回 执行中断返回指令(IRET),CPU会自动弹出断点信 息送给指令指针(IP和CS),并恢复标志寄存器FR 的内容,以便回到断点处继续执行。
6.3.2 中断优先权 一、软件排优 图6-22 ,6-23 所示 软件查询的次序也就反映了各中断源的优先权的高低 二、硬件排优 1、硬件排优电路 图6-24 链式优先权排队电路
3、中断向量表 存放中断服务子程序的入口的地址 4、中断优先级 多个中断发生中断请求时 中断嵌套 5、中断屏蔽
二、中断分类
微机系统中CPU处理的中断也分成两大类: 1、内部中断 也称软件中断,是由CPU执行软中断指令引起的 2、外部中断
又称硬件中断,是由外部设备或协处理器向CPU发 出中断引起的。 这类中断又分为可屏蔽的中断 和 不可屏蔽的中断。
结束.用户可以通过软件设置是否屏蔽外部中断.
二、软件中断 又称内部中断.是CPU根据软件指令或标志寄存器中 的某个标志位产生的.主要有以下几种: (1) 除法错中断-- 0型中断 n=0 (2) 单步执行中断--1型中断 n=1 (3) 溢出中断-- 4型中断, 专用指令为 INTO 例 测试加法的溢出 ADD AX, VALUE INTO (4) 由中断指令 INT n 引起的中断 n 为中断类型号 例 测试存储器容量 INT 12H
四、各类中断优先权 IBM PC机中规定优先级从高到低的次序为: 内部中断(除法错,INTO,INT n) 不可屏蔽中断(NMI)
相关文档
最新文档