【单片微机原理及应用】第8章中断(8.2-8086中断系统)

合集下载

单片机8086中断系统88页PPT

单片机8086中断系统88页PPT

56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿

60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头。 ——左
单片机8086中断系统

6、黄金时代是在我们的前面,而不在 我们的 后面。

7、心急吃不了热汤圆。

8、你可以很有个性,但某些时候请收 敛。

9、只为成功找方法,不为失败找借口 (蹩脚 的工人 总是说 定决心克服恐惧,便几乎 能克服 任何恐 惧。因 为,请 记住, 除了在 脑海中 ,恐惧 无处藏 身。-- 戴尔. 卡耐基 。

微机原理与接口技术——中断系统

微机原理与接口技术——中断系统

2、内部中断——软件中断
内部中断指由指令的执行或软件对标志寄存器中 某个标志的设置产生的中断
专用中断
指令中断
内部中断的种类
(1)除法出错中断 类型号为00H
除法出错中断既不是外部硬件产生,也不是用 软件指令产生,而是CPU自身产生的,因此0型中 断没有对应的中断指令,即指令系统中没有INT 0 这条指令。
30~3FH 40~FFH
DOS保留使用 DOS内部使用 DOS保留使用 用户自定义
DOS 可调用
1、外部中断——硬件中断
1、非屏蔽中断(NMI):不受中断标志位的控制,中断类型 号为2,所以中断向量放在0000:0008开始的4个单元中。NMI 中断一般用于紧急情况的处理,不受中断标志位IF影响 。 2、可屏蔽中断(INTR):受中断标志位的控制,IF=1, CPU才能响应INTR中断。CPU响应INTR中断时,往INTA引 脚上发两个负脉冲,外设接到第二个负脉冲后,立即往数据总 线上送出中断类型码,供CPU读取。
中断源
引起CPU中断的事件,发出中断请求的来源。
异常中断 内部中断
软件中断
异常事件引起 中断指令引起
可屏蔽中断 外部中断
非屏蔽中断
INTR中断 NMI中断
引入中断的原因
提高数据传输率; 避免了CPU不断检测外设状态的过程,提高了
CPU的利用率。 实现对特殊事件的实时响应。
中断系统
中断系统是指实现中断功能的软硬件的统称。功 能有: 正确识别中断请求,实现中断响应、中断处理
INTR
IRQ0 系统定时器 IRQ1 键盘 IRQ2 彩色/图形接口
8259A
IRQ3 保留(串口) IRQ4 串口
IRQ5 保留(LPT)

第八章 中断系统解析资料

第八章 中断系统解析资料
来识别不同的中断源。中断源可硬件中断 ( 又称外部中断 ) ;另一
类来自 CPU 的内部,由执行指令时引起,称为软件中断 ( 又称内 部中断)。
8.2.1 外部中断
1. 非屏蔽中断NMI(中断类型号为2) 整个系统只有一个非屏蔽中断,它不受IF标志位的屏蔽。 出现在NMI上的请求信号是上升沿触发的,一旦出现,CPU将 予以响应。非屏蔽中断一般用于紧急故障处理。
8位寄存器,记录当前正在被服务的所有中断级,包括尚
未服务完而中途被更高优先级打断的中断级。每位对应输入端 IR7~IR0中的一位。若某个引脚上的中断请求被响应,则ISR中
对应位被置1。ISR的置位也允许嵌套。
8.4.2 8259A的内部结构及外部引脚
8.4
可编程中断控制器 8259A
8259A具有如下功能:
① 以接收多个外部中断源的中断请求,并进行优先级别判 断,选中当前优先级别最高的中断请求,再将此请求送到微 处理器的中断输入端。 ② 具有提供中断向量、 屏蔽中断输入等功能。 ③ 可用于管理8级优先权中断,最多构成64级优先权中断管 理系统。中断服务程序入口地址构成的中断向量表存放在内 存固定区域。 ④ 有多种工作方式,自动提供中断服务程序 入口地址
通过命令在程序中任意指定断点地址,当CPU执行到断点时便
产生中断,同时显示当前各寄存器的内容和标志位的值以及下 一条要执行的指令,供用户检查在断点以前的程序运行是否正
常。
8.2.2 内部中断
(4)溢出中断INTO(类型号为04H) CPU进行带符号数的算术运算时,若发生了溢出,则标志位 OF=1,如果此时执行INTO指令,会产生溢出中断。若OF=0,则 INTO不产生中断,CPU继续执行下一条指令。INTO指令通常安排 在算术指令之后,以便在溢出时能及时处理。 (5)指令中断 CPU执行INT n指令后,会立即产生一个类型码为n的中断,

第8章中断(8.2-8086中断系统)

第8章中断(8.2-8086中断系统)
29
8088CPU中断响应周期时序
第 一 个 中断响应周期
第 二 个 中断响应周期 T1
T1
CLK INTA AD7~AD0
T2
T3
T4
T2
T3
T4
向量类型
30
中断服务和返回
(5) 中断服务程序:保护现场、中断处理、恢复现场 (6) IRET ; (IP)←((SP+1),(SP)) (SP)←(SP+2) (CS)← ((SP+1), (SP)) (SP)←(SP+2) (FR)← ((SP+1), (SP)) (SP)←(SP+2)
§8.2 8086/88中断系统 (p241)
§8.2.1 中断结构 8086/88系统可处理256个中断源。
编号为0~255——中断类型号
分为:硬件(外部)中断 软件(内部)中断
1
CPU
INT n
NMI
中断逻辑
非屏蔽中断源
8259A
INTR 中断
控制 器 INT 指令 INTO 指令 除法 错误 单步 中断
的向量地址 中断向量。
0000:0049H 0000:004AH
0000:004BH
中断响应后 (CS)及(IP)的内容 ? (SP)的内容 ? (执行前(SP)=122AH) 19
例2:某段内存单元内容(16进制数)如下:
0000:00b0H AA 22 23 56 78 9A AB 11 56 3D BC 2A 2D …20 0000:00c0H BB 11 21 5B 18 9A 00 35 67 3D A1 6A 7D …BB C 则执行INT 31h 的中断服务程序的入口地址为_______

微机原理CH8 微型计算机的中断系统(ok)

微机原理CH8 微型计算机的中断系统(ok)

这一过程称为中断。
(2)特点
中断方式是一种常用的数据传送的控制方式
,利用中断可以避免不断检测外部设备状态,提 高CPU的效率。
3
第八章
2、中断源 引起程序中断的事件称为中断源。中断源有内部 中断和外部中断两种。内部中断由程序预先安排的指
令(INT n)引起,或CPU运算中产生某些错误引起;外
部中断是外部设备向CPU发出中断申请引起的。
13
第八章
2、CPU响应可屏蔽中断的过程 (1)CPU在每条指令的最后一个T周期,检测INTR,若
为高电平,且IF=1,则CPU响应中断。
(2)响应过程中自动依次完成以下工作:
① CPU向外设发两个/INTA ,外设收到第2个/INTA 后
,立即往数据线上给CPU送中断类型号。
② CPU从数据线上读取中断类型号; ③ 将PSW入栈;
8
第八章
2、内部中断(软件中断) 由三种情况引起: (1)由软中断指令INT n引起 INT n指令,类型号n(0-255)。
(2)由CPU运算错误引起
① 除法错中断:类型号0; ② 溢出中断:类型号4,由INTO指令引起的中断。
9
第八章
(3)由调试程序debug设置的中断
① 单步中断:
类型号1,TF=1时产生(当前指令需执行完), Debug状态下的T命令执行时产生;
绍可屏蔽中断的处理过程。
可屏蔽中断处理过程:
中断请求 中断响应 保护现场 转入执行中断服务子程序 恢复现场 中断返回
12
第八章
一、CPU响应可屏蔽中断过程
1、CPU响应可屏蔽中断的条件
(1)外设提出中断申请;
(2)本中断未被中断控制器屏蔽;

8.2 8086中断系统

8.2 8086中断系统

⑶ 溢出中断
在执行溢出中断指令INTO时,若溢出标志 OF为1,则产生一个向量号为4的内部中断, 被称为溢出中断 例如:
MOV AX,2000H ADD AX, 7000H ;2000H+7000H=9000H,溢出:OF=1 INTO ;因为OF=1,所以产生溢出中断
(4) 不可屏蔽中断
通过不可屏蔽中断请求信号向微处理器提 出的中断请求,微处理器无法禁止,将在 当前指令执行结束予以响应,这个中断被 称为不可屏蔽中断 8086的不可屏蔽中断的向量号为2,不可屏 蔽中断请求信号为NMI 不可屏蔽中断主要用于处理系统的意外或 故障。例如:
注意1:对于可屏蔽中断,接口电路必须在收到第一个INTA* 应答信号后,立即向CPU传送相应的中断向量号 注意2:只有可屏蔽中断需要进入响应周期,其它类型的中 断(指令软中断、NMI等)不进入中断响应周期,也不需要 外设传送中断向量号
8.2.3 8086的中断向量表(1)
3FCH
向量号255的CS值 向量号255的IP值 …… 向量号2的CS值 向量号2的IP值 向量号1的CS值 向量号1的IP值 向量号0的CS值
PUSHF IF、TF=0 CS、IP入栈 中断服务程序
TF=1
N 下条指令
非屏蔽中断 N Y 可屏蔽中断 单步中断
指令中断 溢出中断 Y
Y
IF=1
Y 中断响应周期 读中断向量号
CS、IP出栈 POPF

中断返回
① IRR锁存失效,不接收请求,第二个INTA 来时恢复; ② ISR相应位置1; ③ IRR相应位清0
8.2.2 可屏蔽中的的中断周期(2) 2.第二个总线周期 外设传送中断向量号,CPU在T4的下降沿采样数据总 线,读入外设传送来的中断向量号

微机原理(中断概念)

微机原理(中断概念)
IP
0080H
007FH
CS
Type 31
IP
007CH
:
CS
Type 5
IP
0014H
0013H
CS
Type 4
IP
CS
Type 3
IP
IP
IP
CS
CS
CS
0010H
000FH
000CH
000FH
0008H
0007H
0004H
0003H
Type 8
Type 1
Type 0
:
224
保 留 27 个
计算机在运行过程中,往往会出现事先预料不到的情况,或出现一些故障:如电源突跳,存储出错,运算溢出等等。计算机就可以利用中断系统自行处理,而不必停机或报告工作人员。
外设中断请求 实时时钟中断请求 控制对象中断源 故障引起的中断 人为设置的中断
人为设置的中断,不是随机的,故称为自愿中断。
寻找中断服务程序入口地址
中断响应
保护现场 保护中断服务程序中用到的寄存器和状态标志的内容 中断服务程序 相应的中断源服务,完成一定的I/O操作 恢复现场 完成中断服务后,将保存在堆栈中的现场数据恢复 开中断和中断返回 IRET (中断返回指令)
push AX push BX ……
pop BX pop AX ……
必要性及应用 中断功能便于实现 1.分时操作 2.实时处理 3.故障处理 4.主机与外设之间的速度匹配
CPU和外设同时工作;CPU可以通过分时操作启动多个外设同时工作,统一管理。大大提高了CPU的利用率,也提高了输入、输出的速度。
当计算机用于实时控制时,中断是一个十分重要的功能。现场的各个参数、信息,需要的话可在任何时候发出中断申请,要求CPU处理;CPU就可以马上响应(若中断是开放的话)加以处理。这样的及时处理在查询的工作方式是做不到的。

8086中断系统

8086中断系统

功能:如果(DL)=0FFH,则表示是从键盘输入单字 符送AL寄存器中 如果(DL)≠0FFH,则表示是将DL寄存器中内容送 屏幕显示输出
(6)返回操作系统
4CH号DOS系统功能调用 格式: MOV AH, 4CH INT 21H 功能: 结束当前正在执行的程序,并返回操作系统。屏幕显 示操作系统提示符(N>),N为当前使用的驱动器名
D7 D0
打 印 机 BUSY
INTR CPU
INT STB I/O 接口
4. DMA传送方式
无条件传送方式 CPU控制 条件传送方式 字符传送
中断传送方式
DMA控制 DMA传送方式
大批量数据传送
§6.2 中断
1. 中断的定义和作用
定义:指当CPU正在处理某件事情的时候,突然发生的某一 外部事件(如一个电平的变化,一个脉冲沿的发生或定时 器的计数溢出等)请求CPU迅速去处理,此时若条件允许, CPU暂时停止当前的工作,转去处理所发生的事情。处理 完该事件以后,再回到原来被终止的地方(断点),继续 原来的工作,这样一个完整的过程称为中断
来自外设
&
&
地址译码器
RD
M/IO
WR
地址译码器
CPU 地址总线
2. 条件传送方式
又称查询式传送,在不便使用无条件传送场合下,可 采用查询方式来解决CPU和外设的速度匹配问题
工作方式:CPU需要I/O接口提供状态和数据两个端口, CPU通过状态端口查询外设的状态,若数据“准备好” 就进行数据传送,否则继续查询 优点:通用性好,硬件接线和查询程序十分简单
77
0
3. 硬件中断(外部中断)
(1)非屏蔽中断 NMI
中断请求

微机原理及单片机应用技术第8章 80C51的中断与定时计数器

微机原理及单片机应用技术第8章 80C51的中断与定时计数器

定时/计数器的结构
T1引脚
TH1
TL1
TH0
T0引脚
TL0
机器周 期脉冲
TH1、TL1
内部总线
TH0、TL0
TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0
TCON
TMOD
TCON
外部中断相关位
T1方式
T0方式
TMOD
2020/10/27
21
计数脉冲源
定时/计数器的工作原理
76543210
TCON TF1 TR1 TF0 TR0
字节地址:88H
TFx:Tx溢出标志位。响应中断后TFx有硬件自动清0。 用软件设置TFx可产生同硬件置1或清0同样的效果。
TRx:Tx运行控制位。置1时开始工作;清0时停止工作。 TRx要由软件置1或清0(即启动与停止要由软件控制)。
2020/10/27
2020/10/27
24
定时/计数器的控制示意图
M1M0 工作方式


00 方式0 13位定时/计数器
01 方式1 16位定时/计数器
10 方式2 8位自动重装定时/计数器
11
方式3
T0分成两个独立的8位定时/计数器; T1此方式停止计数
注意:TMOD不能进行位寻址
2020/10/27
26
控制寄存器TCON
第八章 80C51的中断系统与定时计数器
8.1 80C51单片机的中断系统 8.2 80C51中断处理过程 8.3 80C51单片机的串行口
8.1 80C51单片机的中断系统
5.1.1 80C51中断系统的结构
中断的概念
与子程序调用相似 但有本质的区别

微机原理及应用第八章中断系统

微机原理及应用第八章中断系统

微机原理及应⽤第⼋章中断系统第⼋章: 中断系统输⼊, 输出设备是⼈机交换信息的必要外设., 中断控制⽅式是CPU经I/O接⼝与外设传送数据的最佳⽅式, CPU被动响应外设的中断请求, 提⾼CPU的⼯作效率§8.1 8086CPU的中断结构⼀: 8086CPU的中断源1: 内部中断源(软中断)由中断指令INT 获得的中断2: 外部中断源(硬中断)A: ⾮屏蔽中断源——8086CPU引脚NMI获得上升沿触发B: 可屏蔽中断源——8086CPU引脚INTR获得⾼电平触发⼆: 8086CPU中断优先级别1: 软中断2: 不可屏蔽中断NMI3: 可屏蔽中断INTR三: 8086CPU中断处理过程(311页图2.8)1: CPU获得中断请求2: CPU执⾏完当前指令3: CPU判断中断请求的优先级别4: 保护现场, F ,CS, IP ⼊栈5: CPU执⾏中断服务程序6: 恢复现场, IP, CS, F出栈7: CPU执⾏下⼀条指令重复1 ~ 7四: 中断向量表的设置将中断服务程序的⼊⼝地址置⼊中断向量表中1: 编程写⼊法A: 数据段定义法DATA SEGMENT A T 0000H ; 定义数据段(DS) = 0000HORG n * 4 ; n为中断类型号SUB DW noffset ; 中断服务程序的⼊⼝IPDW nseg ; 中断服务程序的⼊⼝CSDATA ENDSB: 指令传送法DATA SEGMENT A T 0000HORG n * 4SUB DW 2DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DA TAMOV AX, DATAMOV DS, AXMOV SUB, noffset ; 中断服务程序的⼊⼝IPMOV SUB + 2, nseg ; 中断服务程序的⼊⼝CS2: INT 21H功能设置法A: 置中断向量功能1): 功能号25H → AH2): 中断号n → AL3): ⼊⼝参数中断服务程的⼊⼝地址CS:IP → DS:DX4): INT 21H注: 中断服务程的⼊⼝地址CS:IP值将放⼊中断向量表的n * 4处连续4个存储单元中B: 读中断向量功能1): 功能号35H → AH2): 中断号n → AL3): INT 21H4): 出⼝参数ES:BX注: ES:BX中为中断号n的中断服务程的⼊⼝地址CS:IP值《例》某中断服务程序的中断号为40H,中断服务程序的⼊⼝地址CS:IP = 3500H:4830H,⽤INT 21H功置中断向量到中断向量表解:MOV AH, 25HMOV AL, 40HPUSH DS ; 下述指要⽤DS, 故暂时放⼊堆栈MOV AX, 3500HMOV DS, AX ; (DS) = (CS) = 3500HMOV DX, 4830H ; (DX) = (IP) = 4830HINT 21HPOP DS ; 恢复原DS值40H*4§8.2 外部中断⽅式⼀: PC/XT 的外部中断源314页图8.3⽰外部中断源⼆: INTR 中断源1: 8259A 与8个外部中断源A: 8253定时器, 键盘中断源直接到主机板B: 其余6个中断源经扩展槽到主机板2: 8259A 与8086CPU 的连接A: 8259A 获得外部中断请求B: 8259A 的INT = H 输出C: 8086CPU 的INTR = H, 获得中断请求输⼊3: 中断请求, 中断屏蔽, 中断响应A: 中断请求 —— 输⼊INTR ← HB: 中断屏蔽 —— 清中断屏蔽控制标志位IF = 0中断允许 —— 置中断屏蔽控制标志位IF = 1C: 中断⽆响应 —— 若IF = 0, 输出/INTA = H中断有响应 —— 若IF = 1, 输出/INTA = L4: INTR 的中断过程A: 8086CPU 引脚INTR ← HB: 程序判断中断控制标志IF 的值C: 若IF = 0, 8086CPU 引脚/INTA → H, ⽆中断响应D: 若IF = 1, 8086CPU 引脚/INTA → L, 有中断响应E: 程序判断多中断优先级F: 执⾏中断类型号08H ~ 0FH 中的⼀个中断服务程序注: 对可屏蔽中断, 当中断请求有效时,要获得中断响应的条件是置IF = 1三: NMI 中断源1: PC/XT 的NMI 外部中断源2: NMI 中断请求 NMI ←3: NMI⽆中断响应输出, NMI与标志位IF⽆关4: NMI的中断过程A: 8086CPU的引脚NMI ←B: 执⾏02H§8.3 中断优先级管理当外部中断源为多个时, 必须定义其优先级别并对其管理⼀: 软件查询法1: 硬件电路A: 多中断源输⼊B: 或门输出接8086CPU的INTR2: 功能A: 输⼊中断源有⼀个为⾼时输出为⾼B: 可屏蔽中断请求由多中断源提供3: 优先级流程法先判断那⼀个输⼊中断源, 则此中断源优先级最⾼⼆: 硬件菊花链法由数字逻辑电路构成优先级电路, 现⼰不常⽤三: 专⽤芯⽚法软件法, 硬件法的结合——可编程中断控制器§8.4 可编程中断控制芯⽚—— 8259A特点A: 可程序控制芯⽚的功能B: 可提供中断源的中断类型码C: 可屏蔽输⼊端的中断源形式A: 单⽚⽅式——有8个中断源B: 级联⽅式——最多64个中断源⼀: 8259A的结构及功能1: 8259A的内部逻辑结构A: 中断请求寄存器——IRR1): 可输⼊IR0 ~ IR8共8个外部中断源2): IRR寄存器中的值可经DB读⼊CPU注: IRR有⼝地址, 即可编程读B: 中断服务寄存器——ISR1): 为中断源IR0 ~ IR8服务, 为CPU服务若IRR请求, CPU响应, 则ISR中相对应位为1若中断服务程序结束, 则ISR中相对应位为0 2): ISR寄存器中的值可经DB读⼊CPU 注: ISR有⼝地址, 即可编程读C: 中断屏蔽寄存器——IMR1): IMR中IMR0 ~ IMR7与IRR中IR0 ~ IR7位对应若IMRn = 1, 则对应中断源IRn屏蔽若IMRn = 0, 则对应中断源IRn允许2): 寄存器IMR与中断标志IF的区别IMR屏蔽IRR, 当IMRn = 1时IF屏蔽CPU的中断请求INTR, 当IF = 0时IF的级别⽐IMR⾼3): IMR寄存器与CPU间可经DB读写操作注: IMR有⼝地址, 即可编程读写D: 优先权分析器——PR1): 对IRR中的IRR0 ~ IRR7中断源进⾏优先权分析2): IRR0 ~ IRR7的优先权分配可编程确定注: PR有⼝地址, 即可编程写E: 芯⽚控制逻辑1): 8259A的中断请求INT →8086CPU的INTR2): 8086CPU的/INTA →8259A的/INTAF: 芯⽚读写逻辑1): 8259A的⽚内地址线仅有A0(⼀线⼆址)注: 学习8259A的难点, 解决多寄存器读写与⼀线两址的⽭盾2): 8259A的⽚选线/CS由地址译码产⽣注: PC/XT微机中8259A的地址为20H, 21H3): 8259A的读写线/RD, /WR直接与8086CPU的/RD, /WR连接G: 芯⽚数据线8259A的数据线为8位即D0 ~ D7H: 芯⽚的级联线1): 当外部中断源≤8个时, 仅有单⽚8259A当外部中断源>8个时, 需⽤多⽚8259A级联2): 级联线仅在8259A级联⽅式下有作⽤注: 级联线CAS0 ~ CAS2, /EN即/SP接线⽅式2: 8259A的引脚图A: 8259A为DIP28封装B: 8259A为+5V供电⼆: 8259A的中断优先权中断源IR0 ~ IR7的优先权序可编程确定1: 固定优先权(完全嵌套⽅式)A: 优先权序IR0(⾼) →IR7(低)B: 该优先权序始终不变2: 等优先权(普通循环⽅式)A: 初始优先权序IR0(⾼) →IR7(低)B: 若响应了IRn中断, 则IRn中断权最低, IRn-1中断权最⾼C: 每个中断优先权相同3: 特殊优先权(特殊循环⽅式)A: 初始优先权序由编程确定若定义IR5为初始最⾼优先权,则初始优先权序IR5 → IR7 → IR0 → IR4B: 其后⼯作同等优先权三: 中断源IR0 ~ IR7的中断触发⽅式1: 电平触发⽅式—— IR0 ~ IR7输⼊⾼电平有效A: 现象——中断源持续⾼电平B: 问题——造成连续中断请求C: 解决——在中服程序中令IF = 02: 边沿触发⽅式—— IR0 ~ IR7输⼊上升沿有效A: 特点—— IRR寄存器锁存触发信号B: 脉宽——上升沿脉冲宽度符合要求C: ⽅法——采⽤负脉冲的后沿触发四: 8259A的初始化命令字和操作命令字若要使⽤8259A, 必须按规定向其写⼊初始化命令字使8259A进⼊⼯作状态(⼀般由系统程序完成)若要改变8259A的功能, 可随时向其写⼊操作命令字使8259A按要求⼯作(⼀般由⽤户程序完成) (⼀): 8259A⼝地址讨论1: 8259A实际⼝地址⼀线⼆址, 址1 — A = 0, 址2 — A = 12: 8259A操作⼝地址A: 4个写初始化命令字操作B: 3个写操作命令字操作C: 3个读寄存器IRR, ISR, IMR操作D: 1个读中断类型号操作注: 2个地址怎样完成11个读写操作3: 地址分配表及应⽤特点表8.2 8259A的读写操作A: A0 = 0时的读操作, IRR, ISR, 中断类型号→ CPU注: 解决1址3读问题, ⽤位控制定义读⼊法B: A0 = 1时的读操作, 仅IMR → CPUC: A0 = 0时的写操作, CPU → OCW2, OCW3, ICW1注: 解决1址3写问题, ⽤同址顺序写⼊法D: A0 = 1时的写操作, CPU → OCW1, ICW2, ICW3, ICW4注: 解决1址4写问题, ⽤位识别写⼊法(⼆): 初始化命令字ICW的写⼊⽅法1: ICW1 ~ ICW4的写⼊流程A: ICW1, ICW2为必写初始化命令字ICW3, ICW4为选写初始化命令字B: ICW2, ICW3, ICW4采⽤同址顺序写⼊法2: ICW1 ——芯⽚控制初始化命令字A: ⼝地址A0 = 0, PC/XT⼝地址= 20HB: 位定义1): D4 = 1 为同址识别位注: 若D4 = 1 CPU对ICW1命令字写操作若D4 = 0 CPU对0CW2, OCW3命令字写操作2): D0 = 0 不写ICW4命令字D0 = 1 要写ICW4命令字3): D1 = 0 多⽚8259A⽅式, 要写ICW3命令字D1 = 1 单⽚8259A⽅式, 不写ICW3命令字4): D3 = 0 IR0 ~ IR7为边沿触发⽅式D3 = 1 IR0 ~ IR7为电平触发⽅式5): D2, D5, D6, D7位不⽤(8086CPU时)3: ICW2 ——中断类型号初始化命令字A: ⼝地址A0 = 1, PC/XT⼝地址= 21HB: 位定义1): D2 ~ D0 IR0 ~ IR7的编码, 即中断类型号的低3位2): D7 ~ D3 中断类型号的⾼5位注: 中断类型号的⾼5位由⽤户编程定义,中断类型号的低3位⾃动产⽣, 保证IR0 ~ IR7连续《例》定义8259A的8个中断类型号为08H ~ 0FH 解: 08H = 00001000B, 0FH = 00001111B低3位为000B ~ 111B表⽰中断源IR0 ~ IR7的编码⾼5位为00001BMOV AL, 08HOUT 21H, AL4: ICW3 ——主/从8259A初始化命令字A: 写操作条件在ICW1中, D1 = 0B: ⼝地址A0 = 1, PC/XT⼝地址= 21HC: 写操作⽅法同址顺序写⼊法注: ICW2, ICW3, ICW4, OCW1均为同址( A0 = 1), 写顺序为写ICW2→写ICW3(若要)→写ICW4(若要)→写OCW1 D: 主8259A位定义1): 若D0 ~ D7 为1, 则IR0 ~ IR7对应端接有从8259A芯⽚2): 若D0 ~ D7 为0, 则IR0 ~ IR7对应端未接从8259A芯⽚E: 从8259A位定义1): D2 ~ D0 从8259A的INT端接主8259A的IRn端编码2): D7 ~ D3 未⽤5: ICW4 ——⽅式控制初始化命令字A: 写操作条件在ICW1中, D0 = 1B: ⼝地址A0 = 1, PC/XT⼝地址= 21HC: 写操作⽅法同址顺序写⼊法D: 位定义1): D0 = 0 ⽤于8080CPUD0 = 1 ⽤于8086CPU2): D1 = 0 普通, 特殊EIO结束⽅式D1 = 1 ⾃动EIO结束⽅式3): D3,D2 = 00, 01 级联⾮缓冲⽅式D3,D2 = 10, 11 级联缓冲⽅式4): D4 = 0 单⽚8259A固定优先权D4 = 1 级联8259A固定优先权5): D7 ~ D5 未⽤《例》PC/XT系统BIOS对8259A的初始化命令字写⼊程序MOV AL, 00010011B ; D0 = 1, 要写ICW4, D1 = 1, 不写ICW3 OUT 20H, AL ; 写ICW1, D3 = 0, IR0 ~ IR7为边沿触发⽅式MOV AL, 00001000B ; IR0 ~ IR7 对应中断类型号为08H ~ 0FH OUT 21H, AL ; 写ICW2MOV AL, 00001001B ;D0 = 1, 8086⽅式, D1 = 0, ⾮⾃动EIO OUT 21H, AL ; 写ICW4, ,D4 = 0, 固定优先权(三): 操作命令字OCW的写⼊⽅法注: ICW按顺序写⼊(先写), OCW按需要写⼊(后写)1: OCW1 ——写IMR寄存器命令字A: ⼝地址A0 = 1, PC/XT⼝地址= 21HB: 位定义1): D0 ~ D7对应寄存器IMR中的IMR0 ~ IMR72): Dn = 0 对应中断源IRn中断允许Dn = 1 对应中断源IRn中断屏蔽2: OCW2 ——中断优先权选择命令字注: ICW4可定义8259A⼯作于固定优先权, 8259A的等优先权, 特殊优先权在此定义A: ⼝地址A0 = 0, PC/XT⼝地址= 20HB: 识别位D4, D3 = 0, 0 (同址识别位法, 对OCW2, OCW3)C: 位定义1): D2 ~ D0 特殊优先权中断源IRn编码2): D6 = 0 ⾃动循环优先权D6 = 1 特殊循环优先权3): D7 = 0 固定优先权D7 = 1 循环优先权注: 仅当D6 = 1, D7 = 1时, D2 ~ D0值才有意义4): D5 = 0 ⾃动EIO结束⽅式D5 = 1 ⾮⾃动EIO结束⽅式3: OCW3 ——运⾏⽅式命令字A: ⼝地址A0 = 0, PC/XT⼝地址= 20HB: 识别位D4, D3 = 0, 1 (同址识别位法, 对OCW2, OCW3) C: 位定义1): D2 = 0 CPU下次同址读操作读⼊IRR, ISR中的值D2 = 1 CPU下次同址读操作读⼊中断类型号的值2): D1,D0 = 00, 01 ⽆意义D1,D0 = 10 CPU下次同址读操作读⼊IRR中的值D1,D0 = 11 CPU下次同址读操作读⼊ISR中的值3): D6, D5 级联⽅式下中断屏蔽的应⽤(约)4): D7 未⽤(四): 8259A的读操作⽅法1: 读IMR寄存器A: ⼝地址A0 = 1, PC/XT⼝地址= 21HB: 地址唯⼀, ⽆同址2: 读IRR寄存器A: ⼝地址A0 = 0, PC/XT⼝地址= 20HB: 条件先写OCW3中的D2,D1,D0 = 0103: 读ISR寄存器A: ⼝地址A0 = 0, PC/XT⼝地址= 20HB: 条件先写OCW3中的D2,D1,D0 = 0114: 读中断类型号A: ⼝地址A0 = 0, PC/XT⼝地址= 20HB: 条件先写OCW3中的D2 = 1C: 读⼊数据位定义1): D7 = 0 ⽆中断请求IR0 ~ IR7D7 = 1 有中断请求IR0 ~ IR72): D2 ~ D0 为IR0 ~ IR7编码(当D7 = 1时)3): D6 ~ D3 未⽤。

微机原理--第八章-中断系统

微机原理--第八章-中断系统

裁决器
0
IR6
0
IR7
选 CS 译 码
RD
WR
INTA INT
ICW1 芯片控制 A0
A0
1 × I3 I4 0 1 0 0 1 0 1 0 0 1
ICW2 中断类型号 1
ICW3 主从片连接关系
1 ICW4 方式控制
1
OCW1 中断屏蔽寄存器 IMR
00
0
SP/EN
CA0
OCW2 优先级设置、发EOI
上有中断申请,则将IRR相应位置1;
总线
D0 ~ D7 A0
A5 ~ A9
IOR IOW INTA INTR
数据线 D0 ~ D7
A0
ISR 0
当前 0
中断 服务
• 非屏蔽中断 – 由NMI引脚引起的中断,称非屏蔽中断。 – 当NMI引脚上产生上升沿信号,CPU必响应此中断请 求,即NMI引脚上的中断请求不受IF标志的控制, – IF不能屏蔽NMI引脚上的中断请求。
8086/8088CPU的中断分类图
中断源
外部中断 内部中断
非屏蔽中断 可屏蔽中断 内部硬件中断
SP/EN CA0 CA1 CA2
GND
+ 5V
电子钟时间基准
键盘 保留 串 口2 串 口1 硬盘 软盘 打印机
用于多片 8259A
级连情况
7.3.4 8259A的控制字
8259A中断控制器
处理部分
0
ISR 0
当前 0
中断 0
服务 0
寄存器
0 0
0
IRR
中断申请
0 0
寄存器 0
0
PR
0
优先级

微机原理第八章:中断技术讲解

微机原理第八章:中断技术讲解
二、中断(zhōngduàn)源识别及中断(zhōngduàn) 判优
1.中断源识别
★ 软件查询法:
★ 中断矢量法:中断源提供中断类型号,CPU根据类型确定中断源 2.中断判优
★ 对同时产生的中断,首先处理优先级别较高的中断;
若优先级别相同,则按先来先服务的原则。
★ 对非同时产生的中断:
低优先级的中断程序允许被高优先级的中断源所中断
1.中断服务子程序的特点: 为“远过程”,用 IRET 指令返回
2.中断服务程序完成的工作
1)保护现场(通用寄存器的内容)
2)开中断(STI)
3)中断处理
4)关中断(CLI)
5)恢复现场 6)IRET
中断服务程序结构
保护有关寄存器内容 开中断
执行中断服务程序 关中断
恢复有关寄存器内容 执行IRET
精品资料
④ 执行 IRET 指令
4.退出中断(zhōngduàn) ① 关中断(zhōngduàn)
退

② 恢复现场中
③ 恢复断点 ④ 开中断(zhōngduàn) 断
精品资料
关中断 保存断点,保存现场
判别中断源 转入中断服务程序 保护寄存器、开中断 执行中断服务程序
IRET
关中断 恢复现场,恢复断点
开中断
STOSW
;串存储(字)
;AX→ES∶[DI]、 [DI+1]
MOV AX,SEG_INTR
;中断服务程序段基址送AX
STOSW
;串存储(字)
STI
;开中断
精品资料
2.用 MOV将直接(zhíjiē)中断向量写入中断向量表中
;将中断向量直接(zhíjiē)写入中断向量表中的程序段为

中断-微型计算机原理及应用.PPT

中断-微型计算机原理及应用.PPT
如果所到达的中断源已请求中断 , 则中断响 应信号被截获 , 不再往下传 。截获了 信号的中 断源通过接口电路经数据总线向CPU提供一个中 断类型码 , 不同的中断源提供的类型码不同, CPU根据为类型码就能转向相应的中断服务程序

菊花链方式具有中断响应速度快的优点 ,缺点是 各中断源的优先级因硬件连接固定而不易修改 。
② 中断控制专用硬件方式
③ 图5 .4所示是一个典型的向量中断优先控制器原理框
④ ⑤ ⑥ ⑦ ⑧
2 、 中断的多级嵌套
CPU总是首先响应优先级最高的中断 请求 。当CPU正在执行优先级别较低的中 断服务程序时 , 允许响应优先级别高的中 断源的中断请求 , 中止起正在处理的中断 , 这就是中断嵌套和称多重中断 。此时 , CPU暂停正在执行着的级别较低的中断服 务程序 , 为优先级别高的中断源服务 , 待 优先权高的中断服务结束后 , 再返回到刚 才被中断的那一级 , 继续为它进行中断服 务 。直至处理结束返回主程序 , 如图5.5 所示。
软件中断是CPU处理某些内部事件时引起的中断 , 软件中断也叫内部中断。
5.2.2 中断向量和中断向量表
中断向量是中断服务程序的入口地址 ,每 一个中断服务程序都有一个唯一确定的入口地 址 , 即中断向量 。把系统中的全部中断向量集 中存放到存储器的某一 区域内 ,这个存放中断 向量的存储区就叫中断向量表 , 即中断服务程 序入口地址表。
图5.3所示是菊花链法的原线
接口1
接口2
接口3
菊花链 逻辑电

菊花链 逻辑电

菊花链 逻辑电

INTA INTR
_____
图5 3 菊花链优先级查询示意图
当外设通过接口和中断请求电路向CPU发出 中断申请号INTR , 并且满足中断响应条件时, CPU在执行完当前指令后便发出中断响应信号 , 该响应信号在所有中断源形成的链形结构中逐级 传送 ,位于链首的1#设备首先得到响应。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
问题1:中断请求 ? 类型号 ?中断向量
13
问题2:类型号 ? 中断向量
中断向量表:存放所有中断向量某一存储器区 域。
8086/88系统中断向量表为存储器的最低端1KB单元中。
14
中 断 向 量 表
向量地址
0000:0000H 0001H 0002H 0003H 0004H 0006H 0008H 000AH 000CH 000EH 0010H 0012H 0014H 0016H
5
2)、可屏蔽中断
➢ 从INTR 引脚(18脚)输入 ➢ 受IF控制
IF=1,中断允许;IF=0,中断被屏蔽。
➢ 触发方式:高电平 。 ➢ 类型号:32(20H)~255(FFH)
6
说明:
➢ 一个系统中,通过中断控制器8259A的 配合,法出错 原因:除法指令中,若除数为0或商溢出。 类型号:0 作用:监控程序执行过程中是否除法出错。 2)、单步中断 中断原因:TF=1。 类型号:1 作用:单步工作方式:
类型4中断矢量(溢出)
(IP) (CS)
0014H
(IP)
0016H
类型5中断矢量(保留)
(CS)
007CH 007EH 0080H 0082H
(IP) 类型31中断矢量(保留)
(CS) (IP) 类型32中断矢量(用户可用) (CS)
03FCH 03FEH
(IP) 类型255中断矢量(用户可用)
(CS)
中断向量
(IP) 类型0中断矢量(除法错)
(CS) (IP) 类型1中断矢量(单步) (CS) (IP) 类型2中断矢量(NMI) (CS) (IP) 类型3中断矢量(断点中断) (CS) (IP) 类型4中断矢量(溢出) (CS) (IP) 类型5中断矢量(保留) (CS)
5个专用中断
16
中断向量表2 0010H 0012H
状态标志
AF
PF
CF
控制标志
OF 溢出标志 SF 符号标志 ZF 零标志 CF 进位标志 AF 辅助进位标志 PF 奇偶标志
DF 方向标志 IF 中断标志 TF 陷阱标志
10
3) 断点中断 原因:执行插入的INT3(INT)指令。 类型号:3 作用:设置断点以调试程序。
单字节指令。 4) 运算溢出中断 原因:(OF)=1时,执行INTO指令。 类型号:4 作用:编程时,进行溢出监控。
中断向量
(IP) 类型0中断矢量(除法错)
(CS)
类型1中断矢量(单步)
(IP) (CS)
类型2中断矢量(NMI)
(IP) (CS)
(IP) 类型3中断矢量(断点中断)
(CS)
类型4中断矢量(溢出)
(IP) (CS)
类型5中断矢量(保留)
(IP) (CS)
007CH 007EH 0080H 0082H
11
5) 指令中断 原因:执行一条INT n。 类型号:n 作用:调用系统中相应的中断处理程序。
PC机中,由于类型号0H~7H已定义为 CPU内部中断,08H~0FH已定义为硬件 中断,所以INT n指令中n值(类型码)可 以为10H到FFH。
12
8.2.3 中断向量与中断向量表
中断向量:中断服务程序的入口地址。
4
最大组态(最小组态)
GND A14 A13 A12 A11 A10
A9 8 A8 0 AD7 8 AD6 8 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
8
注意 无直接使TF置1/清0指令
PUSHF POP AX OR AX,0100H PUSH AX POPF ┆ ;单步方式
PUSHF POP AX AND AX,FEFFH PUSH AX POPF
9
标志寄存器FR(程序状态字寄存器 flag)
15
11 10 9 8 7 6 5 4
2
0
OF DF IF TF SF ZF
§8.2 8086/88中断系统
§8.2.1 中断结构 8086/88系统可处理256个中断源。 编号为0~255——中断类型号 分为:硬件(外部)中断
软件(内部)中断
1
CPU
INT n
中断逻辑
INT 指令
INT
O 指令
除法 错误
单步 中断
NMI 非屏蔽中断源
8259A
INTR 中断
控制

IR0 IR1 可 IR2 屏 IR3 蔽 IR4 中 IR5 断 IR6 源
IR7
2
1、硬件中断
分为 非屏蔽中断 可屏蔽中断
3
1)、非屏蔽中断
➢ 从NMI引脚(17脚)输入 ➢ 不受IF控制
一旦NMI有中断请求,CPU在当前指令执行完成后, 必须立即响应。主要用于处理非常重要或非常紧急的 事件(如电源掉电、存储器故障等),
➢ 触发方式:上升沿,且高电平持续2T。 ➢ 类型号:2
0000:0049H
0000:004AH
0000:004BH
中断向量
60
IPL
70
IPH
80
CS L
90
CS H
19
例2:某段内存单元内容(16进制数)如下:
0000:00b0H AA 22 23 56 78 9A AB 11 56 3D BC 2A 2D …20
类型31中断矢量(保留)
(IP) (CS)
(IP) 类型32中断矢量(用户可用)
(CS)
03FCH 03FEH
(IP) 类型255中断矢量(用户可用)
(CS)
5个专用中断 27个系统保留 224个用户可用
图7-8 8086/88中断向量表
15
中断向量表1
向量地址
0000:0000H 0001H 0002H 0003H 0004H 0006H 0008H 000AH 000CH 000EH 0010H 0012H 0014H 0016H
27个系统保留 224个用户可用
17
1)、每个中断向量占4B。 偏移地址占低字节单元 段地址占高字节单元
2)、4×256=1K 00000H~003FFH 3)、向量地址: 中断向量的地址。
=4 × n ; n为中断类型号
18
例1:求
INT 12H 的向量 地址中断向量。
向量地址
0000:0048H
相关文档
最新文档