Transcript
Page 1: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

8259 中断控制器1 . 8 级优先权控制,通

过级连可扩展至 64 级优先权控制。

2 .每一级中断都可允许或屏蔽。

3 .提供中断向量。4 .可编程选择多种工作

方式 单片

IR0

IR7

INT

INTA

•8259A

INTR

INTA

CPU

.

.

.

中断请求

•CPU •8259A.....

IR0

IR7

级联

8259A IR0

从...

IR7

8259A IR0

从...

IR7

INTA

INTR

7 . 3 可编程中断控制器 Intel 8259A

Page 2: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

8259 中断控制器的内部结构7 . 3 可编程中断控制器 Intel 8259A

IRR:中断请求寄存器。

SP/EN

CAS1

CAS0

CAS2

CS

WRRD

IR7

IR6

IR5

IR4

IR3

IR2

IR1

IR0

中 断

请 求

寄存器

(IRR)

优先权

比较器

(PR)

中 断

服 务

寄存器

(ISR)

中断屏蔽寄存器(IMR)

控 制 逻 辑内部总线

缓冲器

内部总线

缓冲器

级联缓冲器 /比较器

IRTA INT

D0~D7

A0

内部总线

ISR:中断服务寄存器。

IMR :  中断屏蔽寄存器。

PR:

优先权判别器。

Page 3: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

8259 中断中断优先权管理方式及中断结束方式7 . 3 可编程中断控制器 Intel 8259A

设置优先级的方式 :完全嵌套方式 :中断优先权为固定优权, IR0 ~ IR7 依次下降。中断嵌套时只能高级中断

低级的中断,同级和低级不能产生中断。适用于单片结构。

CPU 8259A.....

IR0

IR7

8259A IR0

.

.

.IR7

8259A IR0

.

.

.IR7

INTA

INTR

特殊完全嵌套方式 :

在级联方式下必须运用特殊完全嵌套方式。同一片的 IR0 ~ IR7 与完全嵌套方式相同。对于从片,中断被响应后,并不屏蔽这个从片的中断,从片中优先权高的中断申请仍可响应。

主片工作在特殊完全嵌套方式,而从片工作在完全嵌套方式。

Page 4: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

8259 中断中断优先权管理方式及中断结束方式7 . 3 可编程中断控制器 Intel 8259A

特殊优先权旋转 :

根据用户的要求将最低优先级赋给指定的中断源。可在主程序或中断服务程序中利用置位优先权命令把最低优先级赋给某一中断源,其它中断的优先权按级别以循环方式类推。

IR5IR6

IR7

IR0

IR1

IR2

IR3

IR4

例如,

中断优先级依次为 IR0 到 IR7 ,当中断 IR4 被响应,则 IR4 的中断优先权变为最低,比它低一级 IR5 的优先权变为最高。

相应的优先权排队为

IR5 、 IR6 、 IR7 、 IR0 、 IR1 、 IR2 、 IR3 、 IR4 、 I

R3

中断优先权的旋转正常优先权旋转:

IRi 的中断优先权相等。某个中断响应,它的优先权变为最低,比它低一级的中断源得到最高优先权。其它中断的优先权按级别以循环方式类推。

IR0

IR7

INT

INTA

•8259A

.

.

.

中断请求

Page 5: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

8259 中断中断优先权管理方式及中断结束方式7 . 3 可编程中断控制器 Intel 8259A

屏蔽方式 :

查询排序方式 :

用软件查询响应中断,此时 8259 不处于中断状态, INT 可不连接 INTR ,而是程序查询 IRR 决定的是否响应中断及中断的优先级。

特殊屏蔽方式 :

当处理中断的过程中,希望对本级进行屏蔽,而允许优先级比它高或低的中断申请中断。特殊屏蔽方式只能用特殊 EOI 结束。

普通屏蔽方式 :

IMR 中的某一位或某几位置“ 1” ,即可能将相应级的中断请求屏蔽掉。程序运行的过程中,可以将中断优先级比正在响应的中断高的中断屏蔽掉。

Page 6: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

8259 中断中断优先权管理方式及中断结束方式7 . 3 可编程中断控制器 Intel 8259A

中断结束方式

特殊 EOI 方式 :

中断服务程序结束,发出 EOI 的同时将当前结束的中断级别也传送给 8259 。 8259 将 ISR 中指定级别的相应位清“ 0” 。显然这种方式适合于任何情况。

普通 EOI 方式 :

中断服务程序结束,发出中断结束( EOI )命令。在级连的情下则必须送两个 EOI ,一个送给从片,另一个送给主片, 8259 自动将 ISR 中对应中断位清“ 0”

自动 EOI 方式 : 在第二个中断响应周期的的后沿,自动使中断源在 ISR 中的相应位复

位,只适用于无中断嵌套的情况。否则将可能出现自身的重复中断。T4T3T2T1

CLK

ALE

D7~D0

INTA

T4T3T2T1

中断类型码

Page 7: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

缓冲方式: 输出一个低电平允许信号,启动总线缓冲器与总线相连接。在

缓冲方式下必须初始化 8259 为主、从结构。 ENSP /

ENSP /

ENSP /

非缓冲方式:

单片、多片非级连下工作在非缓冲方式下, 作为输入端,必须接高电平。

多片级连时 主片为高电平,从片为低电平。

连接系统总线的方式:

多片 8259 与系统相连时, 8259 通过数据总线缓冲器与数据总线相连,进行数据缓冲放大。( ICW4 进行初始化)

Page 8: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

8259 芯片的级联使用: 在一个系统中, 8259 可以级联,有一个主 8259 ,若干个从 8259 ,

最多可以有 8 个从 8259 ,把中断源扩展到 64 个。

CPU 8259A

主IR0

IR7

8259A从

IR0

IR7

中断源

INTA

INTRINT

INTACAS2 CAS1 于 CAS0 CAS2 CAS1 于 CAS0

……

……

ENSP /

ENSP /

VCC

GND

2 ) CAS2 、 CAS1 、 CAS0 :主 8259 为输出线,从 8259 为输入线。

3) INT:从 8259 的 INT线连接到主 8259 的中断请求输入端 IRI ,主 8259 连接到 CPU的中断请求输入端 INTR 。

4 )主 8259 也可直接从 IRI 接入中断源。

电路特征:

1 ) SP/EN 主 8259 接 VCC ,从 8259 接 GND 用以区分主从关系。

Page 9: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

1) 从 8259 判断 IRi 的优先权,经 INT向主 8259 发出中断请求。

2 )主 8259 判断从 8259 的优先权后再向 CPU发出中断请求。

3 ) CPU响应中断,第一个响应周期,主 8259 通过三条级连线输出被响应中断的从 8259 的编码。

4 )从 8259 接收编码,在第二个中断响应周期输出它的中断向量类型码,进入中断响应过程。

CPU 8259A

主IR0

IR7

8259A从

IR0

IR7

中断源

INTA

INTRINT

INTACAS2 CAS1 于 CAS0 CAS2 CAS1 于 CAS0

……

……ENSP /

ENSP /

VCC

GND

级连下的中断请求:

Page 10: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

8259 的初始化命令及编程嵌套方式

完全嵌套方式 : IR0 ~ IR7 依次下降。特殊完全嵌套方式 :在级联方式主片运用特殊完全嵌套方式

优先权旋转正常优先权旋转:中断响应,优先权为最低,比它低一级的得到最高优

先权。特殊优先权旋转 :将最低优先级赋给指定的中断源。

屏蔽方式普通屏蔽方式 : IMR 中的置“ 1” 的位,相应级的中断请求屏蔽掉。特殊屏蔽方式 :本级进行屏蔽,而允许优先级比它高或低的中断进入

系统,不管其优先权如何,在任何情况下都可以申请中断。

结束方式自动 EOI 方式: 第二个中断响应周期的的后沿,自动复位 ISR 相应

位。普通 EOI 方式: 中断服务程序结束,发出中断结束( EOI )命令。特殊 EOI 方式: 中断服务程序结束,发出 EOI 的同时将近当前结束

的中断 级别也传送给 8259 。

Page 11: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

分为两步骤: 1 )初始化编程:

写入 2 ~ 4 个初始化命令字 ICW1~ICW4 。 2 )工作方式编程:

写入三个工作命令字 OCW1 ~ OCW4 。以规定 8259的工作方式。可以在初始化以后的任何时间写入。

8259 的初始化命令及编程

Page 12: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

1 ) ICW1 、 ICW2 是必须的。

2 ) ICW3 在级联时才有。

3 ) ICW4 是专用于 8086 系统的。

4 )地址线 A0 、特定标志位、及 I

CW 的输入顺序相配合,完成多寄存器的寻址。

初始化编程:

ICW2A0=1

ICW1A0=0

级联方式?

ICW3

N

Y

A0=1

ICW4

准备好接受中断

需 ICW4?

Y

N

A0=1

8259 初始化命令字 ICW 有四个,在不同的状态下写入不同。

Page 13: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

ICW1 芯片控制字初始化编程:

IRX 输入触发方式0:上升沿1: 高电平

D7 D6 D5 D4 D3 D2 D1 D0

无定义

无定义

LTIM

× 1× ×SNGL

ICW4

×

ICW1标志

ICW4 选择0: 不需要

1:需要

单片级联选择 0 : 多片级

1: 单片

ICW1

ICW2

级联方式?

ICW3

ICW4

准备好接受中断

N

Y

需 ICW4?

Y

N

A0=1

A0=0

A0=1

A0=1

Page 14: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

ICW2 中断类型字

初始化编程:

D7 D6 D5 D4 D3 D2 D1 D0

由程序决定高 5 位

T6

IR7 : 1 1 1 IR6 : 1 1 0 IR5 : 1 0 1IR4 : 1 0 0IR3 : 0 1 1IR2 : 0 1 0IR1 : 0 0 1IR0 : 0 0 0

T7 × × ×T4T5 T3

ICW1

ICW2

级联方式?

ICW3

ICW4

准备好接受中断

N

Y

需 ICW4?

Y

N

A0=1

A0=0

A0=1

A0=1

例 ,高 5 位为 00011则其类型号为 00011XXX

IR0=18H 00011000

IR1=19H 00011001

……

1R7=1FH 00011111

Page 15: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

ICW3 级联控制字

初始化编程:

D7 D6 D5 D4 D3 D2 D1 D0

S6

Sx=1表示 IRX 接有从 8259 Sx=0表示 IRX 无从 8259

S7 S4S5 S3 S1S2 S0

主 8259ICW3 :

D7 D6 D5 D4 D3 D2 D1 D0

0

IDi 为从片的标识,与主 8259的对应 IRI 的编号相同。

0 00 0 ID2

从 8259ICW3 :

ID1 ID0

IR7 : 1 1 1 IR6 : 1 1 0 IR5 : 1 0 1IR4 : 1 0 0IR3 : 0 1 1IR2 : 0 1 0IR1 : 0 0 1IR0 : 0 0 0

ICW1

ICW2

级联方式?

ICW3

ICW4

准备好接受中断

N

Y

需 ICW4?

Y

N

A0=1

A0=0

A0=1

A0=1

Page 16: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

ICW4 方式控制字

初始化编程:

设定结束方式 0 : 非自动 EOI

1: 自动 EOI

CPU 类型0:8085/80801:8086/8088

D7 D6 D5 D4 D3 D2 D1 D0

BUF0 00AEOI

μPM

M/SSFNM

级联方式优先权管理0: 正常完全嵌套方式

1: 特殊完全嵌套方式

主从选择0: 作为从片1: 作为主片

缓冲方式选择0: 非缓冲方式SP/EN 输入

主 8259 接高电平从 8259 接低电平

1: 缓冲方式SP/EN 输出

ICW1

ICW2

级联方式?

ICW3

ICW4

准备好接受中断

N

Y

需 ICW4?

Y

N

A0=1

A0=0

A0=1

A0=1

Page 17: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

例如, 8088 系统中 8259 单级使用,其端口地址为 80H,和 81H,可用下面的初始化程序段输入命令字。

初始化编程:

D7 D6 D5 D4 D3 D2 D1 D0

BUF0 00AEOI

μPM

M/SSFNM

;ICW4

MOV AL, 01H ; ICW4 8086配置,非自动 EOI ,

OUT [81H], AL ;非缓冲,完全嵌套方式

D7 D6 D5 D4 D3 D2 D1 D0

T6T7 × × ×T4T5 T3

; ICW2

MOV AL, 18H ; ICW2 中断类型码 0001 1XXX( 18H) IR0

OUT [81H], AL

D7 D6 D5 D4 D3 D2 D1 D0

LTIM

× 1× ×SNGL

ICW4

×

ICW1

MOV AL, 13H ; ICW1 设 ICW4 ,单级,边沿触发

OUT [80H], AL ;

Page 18: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

三个工作命令字 OCW1 ~ OCW3

OCW1 中断屏蔽字

工作命令编程:

D7 D6 D5 D4 D3 D2 D1 D0

M 6

  M x=1表示 IRX 被屏蔽 M x=0表示 IRX 不被屏蔽

M 7 M 4M 5 M 3 M 1M 2 M 0A0=1

Page 19: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

OCW 2中断结束字, D4 、 D3=00 为标志位

工作命令编程:

D7 D6 D5 D4 D3 D2 D1 D0

SLR L2EOI 0 L1 L0

OCW 2标志

0

7 : 1 1 1 6 : 1 1 0 5 : 1 0 14 : 1 0 03 : 0 1 12 : 0 1 01 : 0 0 10 : 0 0 0

SL=1中断级别选择

0 0 1

SLREOI

命 令 功 能

完全嵌套中断结束普通 EOI

0 1 1 同上 , 清除 ISR 中指定位特殊 EOI

1 0 1 普通 EOI 循环

1 0 0 自动循环置位

0 0 0

优先权自动循环

自动循环复位

1 1 1 特殊循环指定最低级中断源

特殊 EOI 循环

1 1 0 置位优先权

0 1 0 无操作

优先权自动循环结束

优先权自动循环复位

A0=0

Page 20: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

OCW3 指定设置特殊屏蔽方式、读内部寄存器命令; D4 、 D3=00 为标志位

D7 D6 D5 D4 D3 D2 D1 D0

查询选择0: 作为从片1: 作为主片

SMM

X RIS

读 ISR 位0:禁止1: 允许

RRESMM

特殊屏蔽方式选择ESMM SMM 1 0 :特殊屏蔽方式复位 1 1 :特殊屏蔽方式置位

P RR RIS0 1 0 :下次读 IRR0 1 1 :下次读 ISR 0 0 X :无操作

1 P0

读 IRR 位0:禁止1: 允许

工作命令编程:

A0=0

Page 21: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

某系统中设置两片 8259A实现中断控制,它们之间采用级联方式连接,一片从 8259 的 INT端与主 8259 的 IR3 端相连,当前主 8259 的 IR0 和 IR5 端上分别引入两个中断请求,从 8259 的 IR2 和 IR3 端上也分别引入两个中断请求。主 8259 :IR3 :接一片从 8259IR0 , IR5各接一个中断源,中断类型码分别为 30H, 35H。中断服务程序同段。地址分别为 1000H: 1050H和 1000H: 2060H。

例,

CPU 8259A

主 IR3

IR0

8259A

IR2

IR3

中断源 1

INTA

INTRINT

INTACAS2 CAS1 于 CAS0 CAS2 CAS1 于 CAS0

INT

INTA

IR5

中断源 2

中断源 3

中断源 4

从 8259 :IR2 、 IR3各接一个中断源,中断类型码分为 32H和 33H,中断服务程序的地址分别为 2000H: 5440H和 2000H: 3620H

Page 22: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

中断服务程序入口地址进入中断矢量表。中断矢量地址:30H : 30H×4=00C0H35H: 35H×4=00D4H 32H: 32H×4=00C8H33H : 33H×4=00CCH

PUSH DS ;保存当前数据段段基址XOR AX, AXMOV DS , AX ;段地基址指向中断向量表MOV AX, 1050HMOV [0C0H], AX ; 30H中断服务程序入口地址 IPMOV AX, 1000HMOV [0C2H], AX ; 30H中断服务程序入口段地址CSMOV AX, 2060HMOV [0D4H], AX ; 35H中断服务程序入口地址 IPMOV AX, 1000HMOV [0D6H], AX ; 35H中断服务程序入口段地址CSMOV AX, 5440HMOV [00C8H], AX ; 32H中断服务程序入口地址 IPMOV AX, 2000HMOV [00CAH], AX ; 32H中断服务程序入口段地址CSMOV AX, 3620HMOV [00CCH], AX ; 33H中断服务程序入口地址 IPMOV AX, 2000HMOV [00CEH], AX ; 33H中断服务程序入口段地址CSPOP DS

程序分为三个部分:1)中断服务程

序入口送入中断矢量表中

2)主 8259 的初始化程序

3)从 8259 的初始化程序

Page 23: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

主 8259 的端口地址为 FFE8H、 FFE9H, A0=0 对应 FFE8H, A1=1对应 FFE9HICW1 : A0=0 , 11H=0001 0001B表示边沿触发,级联,需 ICW4 ( 8086 )ICW2 : A0=1, 34H=0011 0000B表示中断类型码 30H—37HICW3 : A0=1, 08H=0000 1000B表示 IR3上接从 8259ICW4 : A0=1, 11H=0001 0001B 表示特殊完全嵌套,非自动 EOI ,非缓冲方式。OCW1 : A0=1, 0D6H=1101 0110B,屏蔽 IR7 、 IR6 、 IR4 、 IR2 、 IR1OCW2 : A0=0 , 20H=0010 0000B ,普通 EOI 方式从 8259 的端口地址为 FFFAH、 FFFBH。ICW1 : A0=0 , 11H=0001 0001B表示边沿触发,级联,需 ICW4 ( 8086 )ICW2 : A0=1, 30H=0011 0000B表示中断类型码 30H—37HICW3 : A0=1, 03H=0000 0011B从 8259识别码 03H,与主片 IR3对应。ICW4 : A0=1, 11H=0001 0001B 表示特殊完全嵌套,非自动 EOI ,非缓冲方式。OCW1 : A0=1, 0F3H=1111 0011B,屏蔽 IR7 、 IR6 、 IR5 、 IR4 、 IR1 、 IR0

OCW2 : A0=0 , 20H=0010 0000B ,普通 EOI 方式

例,

Page 24: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

主 8259 的端口地址为 FFE8H、 FFE9H,A0=0 对应 FFE8H, A1=1对应 FFE9HICW1 : A0=0 , 11HICW2 : A0=1, 30HICW3 : A0=1, 08HICW4 : A0=1, 11HOCW1 : A0=1, 0D6HOCW2 : A0=0 , 20H

例,主片初始化 :

MOV AL,11H

MOV DX,0FFE8H

OUT DX,AL ;ICW1

MOV AL,30H

MOV DX,0FFE9H

OUT DX,AL ;ICW2

MOV AL,08H

OUT DX,AL ;ICW3

MOV AL,11H

OUT DX,AL ;ICW4

MOV AL,0D6H

OUT DX,AL ;OCW1

…………

…………

MOV AL,20H ;中断结束MOV DX,0FFE8H

OUT DX,AL ;OCW2

Page 25: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

7 . 3 可编程中断控制器 Intel 8259A

从 8259 的端口地址为 FFFAH、 FFFBH。ICW1 : A0=0 , 11HICW2 : A0=1, 30HICW3 : A0=1, 03HICW4 : A0=1, 11HOCW1 : A0=1, 0F3HOCW2 : A0=0 , 20H

主片初始化 :

MOV AL,11H

MOV DX,0FFEAH

OUT DX,AL ;ICW1

MOV AL,30H

MOV DX,0FFEBH

OUT DX,AL ;ICW2

MOV AL,03H

OUT DX,AL ;ICW3

MOV AL,11H

OUT DX,AL ;ICW4

MOV AL,0F3H

OUT DX,AL ;OCW1

…………

…………

MOV AL,20H ;中断结束MOV DX,0FFEAH

OUT DX,AL ;OCW2

Page 26: 8259 中断控制器 1 . 8 级优先权控制,通过级连可扩展至 64 级优先权控制。 2 .每一级中断都可允许或屏蔽。 3 .提供中断向量。 4 .可编程选择多种工作方式

课后作业:1. P292 7.7


Top Related