微机原理与接口课件中断系统-8259A控制字
第八章 中断和可编程中断控制器8259A
微型计算机原理与接口技术
第七章 微型计算机中断系统
例:某中断类型号为68H,其中断服务程序存在 A000H:2050H开始的存储单元,处理过程如图所示:
INT 68H MOV AX,0 ① 向量地址 =68H4 =1A0H ② 0:19C 类型 67H 中断向量 1A0 50 20 1A2 00 A0 1A4 类型 69H 中断向量 ⑤ 中断处理程序 A000:2050 STI PUSH DS A000 CS ③ 2050 IP
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
可屏蔽中断从 8259A 的 8 个输入端引入,一般情况 下,优先级从高到低排列的次序为IR0~IR7。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
主程序运行中,IR2、IR4同时提出中断请求。IR2优先级 高,先为IR2服务。在IR2的服务程序中,要用STI指令开 中断,允许更高级中断进入。
专用 中断向量 (5 个)
2 号向量(非屏蔽)
00008H
1 号向量(单步)
00004H
0 号向量(除法错)
00000H
CS IP
山东工商学院 高群
16 位
微型计算机原理与接口技术
第七章 微型计算机中断系统
中断类型号是系统分配给每个中断源的代号。 其中00H~04H为专用中断,05H~3FH为系统保 留中断,用户一般是不能对它们定义的(这里面有一 些为固定的用途,如INT 21H即为MS-DOS的系统 调用),40H~FFH为用户定义的中断。 中断向量指针:中断向量最低字节存放的地址称 为中断向量指针(即这个中断向量存放的地址)。 中断向量指针=中断类型号×4
计算机接口与微机原理-第10周-中断控制器8259A-a
可编程中断控制器8259Ap微机系统的中断p中断的若干概念p外部中断p内部中断p中断的处理过程p中断向量表p中断服务子程序p中断响应时序p中断优先级p中断嵌套中山大学信息科学与技术学院陈任微机系统的中断(1)v中断概念›CPU与外部设备之间的数据交换,可以采取无条件传送、查询传送,也可以采用中断的方式。
›轮询法是一种普遍采用的为I/O设备提供服务的方法。
它通过依次询问每一个设备,看它们是否需要服务,来提供I/O设备所需的服务。
轮询法需要在系统主程序循环中不断查询I/O设备,这将严重降低系统的吞吐量,限制系统所承担任务的数量,降低了设备使用的性价比。
›一种更有效的方法是允许微机在执行系统主程序循环时不去反复询问I/O设备是否需要服务,只是I/O设备请求服务时才停下来为I/O设备提供所需服务。
这种方法要求I/O设备通过异步输入向处理器发出请求,使处理器在执行完当前指令之后转去执行该设备的服务例程。
一旦服务完成,处理器将从它离开处继续执行。
这就是中断模式。
采用中断可以使微机系统大大提高系统吞吐量,承担更多的任务。
中断的若干概念(1)v中断源›引起程序中断的事件称为中断源。
中断源有外部中断和内部中断。
›内部中断由程序预先安排的中断指令(INT n)引起,或由于CPU运算中产生的某些错误(如除法出错、运算溢出)引起。
›外部中断是外部设备或协处理器向CPU发出中断申请引起的。
v中断响应›中断请求的发生是随机的,CPU在每条指令的最后一个T周期检测INTR引脚,一旦检测到有中断请求,在满足中断响应的条件下(IF=1),CPU响应中断,向外设发出INTA#中断响应指令,并保护断点(当前代码段基地址寄存器CS、指令偏移地址寄存器IP和标志寄存器PSW值入栈),然后转向中断服务程序,中断服务程序执行完毕,CPU返回原执行程序的中断处,继续向下执行,称为中断返回。
v中断向量表v中断优先级v中断屏蔽中断的若干概念(2)v中断源v中断响应v中断向量表›CPU响应中断后,必须由中断源提供地址信息,引导程序进入中断服务子程序,中断服务程序的入口地址存放在中断向量表中。
第七章--中断系统和中断控制器8259APPT课件
发出中断请求的条件:外部设备已准 备好,且该外设的中断请求没有被 系统评屏蔽。
-
5
2. 中断排队和中断响应
概念:CPU接收到中断请求后,从 中止现行程序到转向中断服务程序 入口的过程,称为中断响应。
条件:
1)中断是开放的;
中断类型号×4——该中断向量在表中 起始单元的地址。
寻找4个连续存储单元,获得IP及CS
-
25
17H*4=90H IP
46 00H
CS 3B A4H
例 n=24H
00H 46H A4H 3BH
0000:0090H 0000:0091H 0000:0092H 0000:0093H
中断处理子程序
3BA4:4600H
1) AH中预置功能号25H;
2) AL中预置中断类型码; 3 ) DS:DX中预置中断服务程序的人口地址 (段地址和偏移地址分别置人DS和DX)。 预置完以上参数后,执行INT21H指令就可把 中断服务程序的人口地址置人中断向量表 中适当的位置。
-
29
例7-2 设中断服务程序的人口地址为INTSUB,
1)AL中预置入中断类型码;
2)AH中预置入功能号35H。
执行INT21H指令,ES和BX中分别是中断 服务程序入口地址的段地址和偏移地址。
-
31
7.2.4 8086/8088的中断处理过程
中断处理过程包含:中断请求、中断 排队、中断响应、中断服务和中断返 回。
1. 中断响应条件,有内部中断发生或 NMI /INTR引脚上有效中断请求信号 且IF=1时,待CPU执行完当前指令后 方能响应中断。
中断系统和中断控制器8259A详解
微 机 原
第7章 中断系统和中断控制器8259A
理
及
应 用
7.1 中断的基本概念
∨∨
•中断:是指CPU在正常运行程序时,由于内部或外部事件 引起CPU暂时中止执行现行程序,转去执行请求CPU为其 服务的那个外设或事件的服务程序,待该服务程序执行完 后又返回到被中止的程序这样一个过程。
•中断源:能发出中断申请的外设或引起中断的原因。
IRR锁存
逻辑电路根据IMR判断 IMR对应位为0
优先权判别器PR
优
先
权
最
CPU响应中断 IF=1 CPU的INTR端
高 8259A的INT端为1
INTA 8259A
ISR相应位置1, IRR响应位清0,
送中断类型码
●若允许嵌套,PR依据ISR的状态,判断新的中断请求优先权是否高 于正在服务的中断,是则送出INT=1。 ●服务结束,8259A清除ISR响应位。
提高了CPU的利用效率。
7.1.2 中断处理过程
∧∧
微 机
1.中断过程
原
理 及
● 对于不同的微机系统,CPU中断处理的具体过程不尽相同,但是一
应 用
个完整的中断基本过程应包括五个基本过程:
∨∨
中
中
保护现场
中
中
中
断
断
请
判
断 响
断 处
断 返
开中断
求
优
应
理
回
中断处理
产指断触生令接发中或口器断电和CP信路中U确 最号有断引定高。一屏脚有的来个蔽。中那至中触每断个于断发个请中中请器中C自关保形求断P断 求 。动中护成U且 源完 断 现 中响优 。成 ; 场 断应先下 保 服;进级列 护 务入中 中 中工 断 程中断 断作 点 序断服 服 服: ; 入周务 务 务口期就 程 程地,是 序 序弹址过 结C出P程 构断U。 如执点图行,返回主程恢中关序复断。中现返断场回
微机原理课件中断控制器
D7 R
D6 SL
D5 EOI
D4 0
D3 0
D2 L2
D1 L1
D0 L0
(2) R、SL、EOI=011 特殊的中断结束命令。 在非全嵌套方式下,无法确定哪一级中断最后被 响应,用L2L1L0指出清除ISR的哪一位。
接口3
接口4
一、中断控制器的功能
1. 向CPU的引脚INTR发中断申请信号
当有多个外设同时发出中断请求时, 能按照一定的优先级顺序,向CPU发出中断申请, 使CPU能优先响应优先级最高的外部设备的中断申请。 在CPU中断响应周期,针对不同外设的中断请求, 向CPU传送不同的中断类型号, 使CPU执行相应的中断子程。
锁存中断请求信号 当IRi=1时, IRRi=1
设置中断请求的屏 蔽信号 当IMRi=1时, IRi被屏蔽。 记录当前正在被服务的 中断请求,包括尚未服 务完而中途被更高优先 级打断的中断。 识别中断请求信号的优先级。 一般处理原则:允许高级中断打断低 级中断,不允许低级中断打断高级中 断,也不允许同级中断互相打断。
中断服务完成时,必须给8259A一个命令,使ISR中的相 应位清“0”,表示该中断处理已经结束。
1、中断自动结束方式 特点:系统一旦进入中断响应,8259A在第二个中断响应 脉冲到来后,自动将ISR中的对应位清“0”。 适用场合:系统中只有一个8259A,且多个中断不会嵌套 的情况。
2、一般的中断结束方式
7.4 8259A的初始化命令字和操作命令字 一、8259A的初始化命令字(ICW)
1、ICW1:芯片控制初始化命令字 D7 D6 D5 D4 D3 D2 D1 D0 × × × 1 LTIM × SNGL IC4 标识位 1:电平触发方式 0:边沿触发方式
微机接口技术及应用(第四版)第7章 (72)中断控制器8259PPT课件
27.07.2020
11
1. 设置优先级的方式(中断优先级管理方式)
(1)全嵌套方式
固定优先级,依序0级最高,7级最低;
IR0、IR1、… 、
高IR7
低
在完全嵌套方式下,CPU允许嵌套中断。例如CPU响应IR5 时,又有IR2请求,它会将ISR的相应位置位,CPU中断,转 去IR2对应的服务程序。 它禁止同级或低优先级的中断请求进入。
在8259A中,当一个中断得到响应时,会在中断服 务寄存器ISR的相应位置位。当中断服务结束时, 应使相应位复位。 有多种结束方式
27.07.2020
18
(1)自动结束中断方式 (AEOI)
•当一个中断得到响应时,8259A在收到第二个中断响 应负脉冲后自动清ISR中的相应位。 •仅用于多个中断不会出现嵌套的单级系统中。
•用于全嵌套方式。
在全嵌套方式,中断处理结束返回之前,CPU都应向8259发送 EOI结束命令字,8259收到后,自动清除ISR中级别最高的非0 位(当前响应的中断请求)
方式
27.07.2020
4
3. 外部主要引脚
与CPU连接的数据通路和控制信号
与外设连接的中
断请求输入引脚
用于8259A级联
的引脚
电源、地
27.07.2020
5
(1) D7~D0:数据总线 (2) INT:中断请求(输出) (3) INTA:中断响应(输入) (4) RD:读 (5) WR:写 (6) CS:片选信号 (7) A0——内部端口选择 (8) IR7~IR0:中断请求输入引脚 (9) CAS2~CAS0:从片选择信号 (10)SP/EN:主片、从片选择信号和驱动信号
它由操作控制字OCW1确定。
微机原理与接口课件中断系统-8259A控制字_ppt课件
No Image
MOV
OUTAL,0ຫໍສະໝຸດ H21H,AL3. 级联控制字 ICW3 在级联系统中,主片和从片都需设置ICW3, 指明主、从芯片的级联引脚连接关系。 主/从分别写。 1 0 不写入ICW3 写入ICW3(级联)
若ICW1 中SNGL=
No Image
ID2 ID1 ID0
从片的标志码
该从片
0
0
1 1
接入主片的IR0
接入主片的IR1 接入主片的IR7
0 1
例:某 8086 微机系统中,主片 8259A 的 IR2 , IR6 引脚上分别接有从片8259A,则主、从片的ICW3初始 化命令字设置如下:
主片初始化命令字:(设:主片口地址设为20H, 21H)
No Image
同级的 或高级 的中断
例如:
INTA
(from CPU)
INTR
(to CPU)
INTA
INT
CAS0
INTA
CAS0
INT
从8259A
CAS1
CAS2
CAS1
CAS2 IR7 IR6
主8259A
IR7
IR6
…
IR0
… …
IR0
…
若主、从 8259A 工作于固定优先权方式,从片 的优先级为 IR0IR1 IR7。但对主片来说,从 片的IR0 ~IR7 是同级的。
0 偶地址端口 1 奇地址端口
对 8259A 读 / 写 操作时, 要注意控制字
No Image
写入的顺序 有关的标志位
写入的端口地址(与CPU低位地址连接有关)
微机原理与接口课件中断系统-8259A控制字_ppt课件
No Image
0 ESMM SMM 0 1 P
Y 用 ICW4 设:为特殊全嵌套方式? 为缓冲方式? 为自动EOI方式? 为8086/8088系统? END
8259A的初始化流程
例:PC/XT 系统中8259A的初始化编程 20H、21H为8259A的端口地址,
在BIOS 中,8259A的初始化程序段如下:
MOV AL, 13H OUT 20H, AL ; ICW2=08H, IR0~IR7对应的中断类型号 ; 为08H~0FH OUT 21H, AL ; ICW4= 00001001B, 正常的嵌套方式, MOV AL, 09H ; ICW1=00010011B, 边沿触发,单片使用, ; 要 ICW4. MOV AL, 08H
No Image
D7 D6 D5 D4
D3
D2 D1
D0
1 LTIM SNGL ICW4
特征位
例:某8086微机系统中,使用单片8259A, 中断请求信号为上升沿触发,需要设置ICW4, 端口地址为 20H , 21H ,则其初始化命令字 ICW1应为:00010011=13H,设置ICW1的指 令为:
① AEOI = 1 自动中断结束方式
当CPU 发出第二个INTA 后,ISR 中的相应 位复位,此时,不适宜实现中断嵌套。
No Image
(如何使ISR中对应位清0)
② AEOI = 0 非自动中断结束方式
由程序发出EOI 命令 (由8259A 的
OCW2 实现),使ISR 中相应位复位。
No Image
4. 中断方式字 ICW4 A0
1
奇地址
D7 D6 D5
0 0
D4
微机原理及接第七章中断技术可编程中断控制器(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
微机原理与接口 第7章_可编程中断控制器Intel 8259A
2、 屏蔽中断源的方式 、
1) 普通屏蔽方式: 通过写操作命令字 普通屏蔽方式: 通过写操作命令字OCW1 设置中断屏蔽寄存器IMR中的位,来屏蔽 中的位, 设置中断屏蔽寄存器 中的位 对应中断源的中断请求。设置为“ 屏蔽 对应中断源的中断请求。设置为“1”屏蔽 该位,设置为“ 取消屏蔽 取消屏蔽。 该位,设置为“0”取消屏蔽。 2) 特殊屏蔽方式:在执行中断服务程序时, 特殊屏蔽方式:在执行中断服务程序时, 能够动态地改变系统的优先级结构, 能够动态地改变系统的优先级结构,通过 此方式实现低优先级的中断源能够中断当 此方式实现低优先级的中断源能够中断当 前较高优先级的中断服务。 前较高优先级的中断服务。 两种基本相同,但后者能即时清除ISR中的响 两种基本相同,但后者能即时清除 中的响 应位,现实真正的“ 中断“ 应位,现实真正的“低”中断“高”
图 8259A的级联使用
7
7.5.3 8259A的工作原理 8259A是一个可编程的中断控制器,对 它进行初始化以后,芯片便可按照控制设定 的要求进行工作。其工作流程如下说明:
8
工作流程: 工作流程 1) 首先由 首先由IRR接收外部的中断请求,并将中断请 接收外部的中断请求,并将中断请 接收外部的中断请求 信号送入PR中 求信号送入 中。 2) 由IMR提供各中断的屏蔽位状态 高屏蔽 ,在 提供各中断的屏蔽位状态(高屏蔽 提供各中断的屏蔽位状态 高屏蔽), PR内首先进行中断的屏蔽过滤。 内首先进行中断的屏蔽过滤。 内首先进行中断的屏蔽过滤 3) 经过滤后的中断请求在 裁决器中进行优先级 经过滤后的中断请求在PR裁决器中进行 裁决器中进行优先级 裁决如下 如下: 裁决如下: a) 当只有一个中断时,则该中断源向 当只有一个中断时,则该中断源向CPU发出 发出 中断请求INTR。 中断请求 。 b) 当同时有两个以上中断时,根据编程设定的 当同时有两个以上中断时, 优先级确定中断优先级最高的中断向CPU发出 优先级确定中断优先级最高的中断向 发出 中断请求INTR。 中断请求 。
微机原理与接口技术_07可编程中断控制器8259A
2019/7/25
15
7.4 8259A的编程
2019/7/25
16
7.4.1 初始化编程
• 8259A是可编程的中断控制器,8259A是按照事先设置好 的命令字进行工作的。8259A的命令字分为两部分,一部 分是初始化命令字(Initialization Command Word, ICW )ICW1~ICW4,另一部分是操作命令字(Operation Command Word, OCW)OCW1~OCW3。8259A有2 个内部端口地址,一个偶地址(A0=0),另一个是奇地 址(A0),用来选择不同的寄存器。
2019/7/25
20
7.4.2 中断操作编程
• 在 8259A 工 作 期 间 , 可 以 通 过 改 变 操 作 命 令 字 来 控 制 8259A 的 工作状态 。8259A 一共有 3 个 操作命令 字 ,即 OCW1~OCW3。它们和ICW不一样,不需要按照规定的 顺序设定,使用时可以灵活选择不同的操作命令字,实现 不同的功能。但是有一点也需要注意,写入操作命令字时 要分清奇、偶地址。
• 8259A的初始化程序如下。
– SET8259A:MOV DX,0FF00H – MOV AL,00010011B – OUT DX,AL – MOV DX,0FF02H – MOV AL,00011000B – OUT DX,AL – MOV AL,00000011B – OUT DX,AL
2019/7/25
2019/7/25
30
人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
INTR
(to CPU)
INTA
INT
CAS0
INTA
CAS0
INT
从8259A
CAS1
CAS2
CAS1
CAS2 IR7 IR6
主8259A
IR7
IR6
…
IR0
… …
IR0
…
若主、从8259A工作于固定优先权方式,从片 的优先级为IR0IR1 IR7。但对主片来说,从 片的IR0 ~IR7 是同级的。
特征位
A0=0 ICW1必须写入偶地址端口。 D0:是否在初始化流程中写入ICW4,D0=1写ICW4,D0=0不写ICW4, 8086/8088系统中D0必须置1。 D1:是否写ICW3,D1=1 不写ICW3,单片使用8259A, D0=0 写ICW3,多片8259A级联。 D2:对8086/8088系统不起作用。 D3:中断触发方式,D3=0 沿触发,D3=1 电平触发。 D7~D5:对8086/8088系统不起作用,一般设定为0。
(单片使用时,两种方式一样。)
(1) SFNM: 中断的嵌套方式
① 正常的完全嵌套方式(0)
高级的中断
② 特殊的完全嵌套方式(1)
同级的 或高级 的中断
注意:级联使用时,某从片的IRi对主片来说是同级 的(同级中断)。 此处,要理解同级中断的概念!(从片内仍有优先级)
例如:
INTA
(from CPU)
R 0 SL 1 EOI 1 0 0 0 0 L2 1 L1 1 L0 0
MOV OUT
AL,66H 20H,AL
;OCW2 ;把OCW2写入8259A的偶 地址端口。
3. OCW3 (特殊屏蔽方式和中断查询方式操作命令字) A0 D7 D0
0 0 ESMM SMM 0 1 P RR RIS
标志位
N 从片ICW3 高5位为0; 低3位为标识码
用ICW4 吗?
注意:级联 使用时,主 /从8259A都 要作初始化 操作。
Y 用 ICW4 设:为特殊全嵌套方式? 为缓冲方式? 为自动EOI方式? 为8086/8088系统? END
8259A的初始化流程
例:PC/XT 系统中8259A的初始化编程 20H、21H为8259A的端口地址,
例:若使8086系统中8259A的优先级顺序为 IR3, IR4, IR5, IR6 IR7, IR0 IR1, IR2,试编写 一段程序实现该优先顺序,设8259A的偶地址 为20H。 根据题意要求,为实现上述优先级顺序, 应先确定OCW2 ,然后将它写入8259A的偶地址 端口:
OCW2:
MOV OUT
0 偶地址端口 1 奇地址端口
对8259A读/写 操作时, 要注意控制字
写入的端口地址(与CPU低位地址连接有关) 写入的顺序 有关的标志位
1.芯片控制字ICW1 (IRi 触发方式,是否单片使用,是否写入ICW4)
A0
0
D7 D6 D5 D4
D3
D2 D1
D0
1 LTIM SNGL ICW4
D7 D6 D5 D4 D3 D2 D1 D0
T7 T6 T5 T4 T3
IRi 对应中断类型号的高5位
(中断类型号的低3位由8259A 的IRi编码产生)
如:接在IR7端为111,挂接在IR6端为110,余类推。
T7 T6 T5 T4 T3 T2 T1 T0 由ICW2规定 0 0 0 0 0 1 IR0 IR1
2. OCW2 (优先权循环方式和中断结束方式 操作命令字)
A0
0
D7 D6 D5 D4 D3 D2 D1 D0
R SL EOI 0 0 L2 L1 L0
标志位
有两个作用:
(1) 8259A 工作于非自动中断结束方式时,如 何复位ISR 中的对应位?有两种方法: ① 一般方法:令SL = 0, EOI =1 将OCW2写入8259A后,将刚刚被服务的IRi 对应位复位。
(1) 主片的ICW3
A0
1
D7 D6 D5 D4 D3 D2 D1 D0
S7 S6 S5 S4 S3 S2 S1 S0
Si = 1, 表示主片IRi上接有从片。
用奇地址
(2) 从片的ICW3 A0
1
D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 0 ID2 ID1 ID0 从片的标志码
; 非自动中断结束方式
OUT 21H, AL
六、8259A 的操作命令字
对8259A 进行初始化编程后,8259A作好了接收中
断请求输入的准备,在8259A 工作期间可由操作
命令字OCW1~OCW3 规定工作方式和控制命令。
如:中断屏蔽、中断结束和优先级循环、查询中断
方式等,都可在用户程序中利用操作命令字OCW 设置和修改。
A0=0:表示OCW3必须写入偶地址端口。 D7:无关。 D6D5:特殊屏蔽方式控制位,为11时允许特殊屏蔽方式, 为10时复位特殊屏蔽方式。 D4D3:特征位,必须是01。 D2:查询中断方式控制位,D2=1,进入查询中断方式,8259A将送出 查询字;否则是向量中断方式。 D1:读命令控制位,D1=1,是读命令,否则不是读命令。 D0:读ISR、IRR选择位,为1选择ISR,反之选择IRR。
M/S位 ① 当8259A 工作于缓冲方式时 (BUF位=1) , M/S用于定义主、从芯片。 1 M/S = 主8259A
0
从8259A
② 当8259A工作于非缓冲方式时 (BUF = 0),
SP引脚为输入,接高/低电平,区分主/从芯片,
此时 M/S 不起作用。
AEOI: 中断的结束方式 (如何使ISR中对应位清0) ① AEOI = 1 自动中断结束方式 当CPU 发出第二个 INTA 后,ISR 中的相应 位复位,此时,不适宜实现中断嵌套。
四、8259A 的控制字与初始化编程
两类控制字:初始化字(ICW)和操作命令字(OCW),
可进行初始化设定及工作方式控制;
编程: 分为两部分,即初始化编程和工作方式编程。 初始化字ICW (Initialiation Command Word)有 4个:ICW1~ICW4,用于初始化; 通常,系统启动时设置初始化程序;
0 1 0
1 1 1
IR2
IR7
例:某PC机中8个可屏蔽中断(IR0 IR7)
的类型号为08H 0FH,A0=1,端口地址为
21H,则ICW2为:08H,设置ICW2的指令为:
MOV
OUT
AL,08H
21H,AL
3. 级联控制字 ICW3 在级联系统中,主片和从片都需设置ICW3, 指明主、从芯片的级联引脚连接关系。 主/从分别写。 1 若ICW1 中SNGL= 0 写入ICW3(级联) 不写入ICW3
在BIOS 中,8259A的初始化程序段如下:
MOV AL, 13H OUT 20H, AL ; ICW2=08H, IR0~IR7对应的中断类型号 ; 为08H~0FH OUT 21H, AL ; ICW4= 00001001B, 正常的嵌套方式, MOV AL, 09H ; ICW1=00010011B, 边沿触发,单片使用, ; 要 ICW4. MOV AL, 08H
IR5优先权最低 此时,优先权为: IR7 1 IR6 0 IR5 IR4 7 6 IR3 5 IR2 4 IR1 3 IR0 2
R、SL、EOI配合使用表
R SL EOI 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 工作方式 普通EOI 特殊EOI,L2L1L0指定的ISR位清0 取消优先级自动循环 无操作意义 普通EOI命令,优先级自动循环 普通EOI命令及优先级特殊循环方式,当前 最低优先级为L2L1 L0所指定 优先级自动循环 优先级特殊循环,L2L1L0指定级别最低的优 先级的IR端号 备注 组合 出有 效的 七个 操作 命令
4. 中断方式字 ICW4 A0
1
奇地址
D7 D6 D5
0 0
标志位
D4
D3
D2
M/S
D1
AEOI
D0
1
0 SFNM BUF
用于8088/ 8086系统
A0=1 ICW4必须写入奇地址端口。 D0:系统选择,1-8086/8088,0-8080/8085。 D1:结束方式,1-自动结束(AEOI),0-正常结束(EOI)。 D2:与D3配合,缓冲方式下:区别主片/从片 1:主片,0:从片。 D3:缓冲方式选择,1-缓冲方式,0-非缓冲方式; 当D3=0(非缓冲)时,D2位无意义。 D4:嵌套方式选择,1-特殊全嵌套方式,0-普通全嵌套方式。
一旦设定,在工作过程中一般不再改变。
操作命令字OCW( Operation Command Word)3个: OCW1~OCW3 作用:设定8259A的工作方式及发出相应控制命令。 设定:在应用程序中(如设备的中断服务程序), 用于中断处理过程的动态控制,可多次设置。
注意: 8259A 只有两个端口地址 A0=
OCW3有三个作用:
用于设置查询中断方式、特殊屏蔽方式、读IRR或ISR控制
(1) 设置和撤消特殊屏蔽工作方式 ① 正常的屏蔽方式 由OCW1 设置IMR 实现 A0
② 特殊方法:令 SL = 1, EOI = 1 写入OCW2后,使L2L1L0指定的位复位。 L2 L1 L0 0 0 0 ISR中的Di D0 对应的IRi IR0
0 0 1
1 1 1
D1
D7
IR1
IR7
(2) 定义8259A 的优先权工作方法 ①R=0 固定优先权方式
IR0 IR1 … IR7