第八章 并行输入输出接口芯片 8255a

49
第第第 第第第第第第第第第第 8255A §8.1 8255 第第 §8.2 8255 第第第第第第第第 §8.3 8255 第第第 §8.4 8255 第第第第第

Upload: borna

Post on 12-Jan-2016

176 views

Category:

Documents


0 download

DESCRIPTION

第八章 并行输入输出接口芯片 8255A. §8.1 8255 引脚 §8.2 8255 工作方式及其功能 §8.3 8255 的操作 §8.4 8255 的应用举例. 0. 1. D0 D1 D2 D3 D4 D5 D6 D7. 0. 1. 0. 目 的. 1. D0 D1 D2 D3 D4 D5 D6 D7. 1. 0. 源. §8.1 可编程并行接口芯片 8255. 并行接口. 可编程:不改变硬件的连接,而通过程序设置数据的传输方向,口线的连接和传输控制方向等. 8255. PA3 PA2 PA1 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第八章 并行输入输出接口芯片 8255A

第八章 并行输入输出接口芯片 8255A

§8.1 8255 引脚§8.2 8255 工作方式及其功能§8.3 8255 的操作§8.4 8255 的应用举例

Page 2: 第八章 并行输入输出接口芯片 8255A

§8.1 可编程并行接口芯片 8255

并行接口

D0D1D2D3D4D5D6D7

目的

D0D1D2D3D4D5D6D7

01010110

可编程:不改变硬件的连接,而通过程序设可编程:不改变硬件的连接,而通过程序设置数据的传输方向,口线的连接和传输控制置数据的传输方向,口线的连接和传输控制方向等方向等

Page 3: 第八章 并行输入输出接口芯片 8255A

并行接口芯片 8255

8255

PA3PA2PA1PA0RDCS

GNDA1A0

PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2

PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB3

与 CPU 连接的引脚– 数据引脚: D7 ~ D0 – 复位输入: RESET– 片选信号:– 端口选择的地址信号:

A1 和 A0

– 读信号:– 写信号:

RD

WR

CS

Page 4: 第八章 并行输入输出接口芯片 8255A

8255 引脚与外设连接的引脚

– PA7 ~ PA0 :端口 A 输入 / 输出– PB7 ~ PB0 :端口 B 输入 / 输出– A 、 B 口的 8 位同时动作

PC7 ~ PC0 :端口 C 输入 / 输出– C 口分为两组,各 4 位,同时动作– 联络信号,固定– 状态信号,反映芯片内部状态– 按位控制,按位操作

Page 5: 第八章 并行输入输出接口芯片 8255A

8255 的连接与寻址A0 、 A1 可寻址 4 个端口8 位系统, 8255 的 A0 、 A1 可直接与系

统的 A0 、 A1 相连16 位系统, 8255 的数据线与系统的低 8

位相连;而低 8 位总是与偶地址对应,因此系统的 A1 应与 8255 的 A0 相连,系统的 A2 应与 8255 的 A1 相连。

Page 6: 第八章 并行输入输出接口芯片 8255A

8255 的内部结构

Page 7: 第八章 并行输入输出接口芯片 8255A

每个端口 8 位,通过编程设定其为输入口或输出口 可用来和外设传送信息

reset

D7~

D0

A15~

A2A1A0

IORIOW

片选译码

数据缓冲器

读写控制

片内译码

CS

RESET

A1A0

RDWR

PC7~

PC0

PB7~

PB0

PA7~

PA0

控制口

端口 A

端口 C

端口 B

+5VGND

D7~

D0外

8255总线

1. 数据端口 A 、 B 、 C

Page 8: 第八章 并行输入输出接口芯片 8255A

3. 数据总线缓冲器 ( 引脚 D0~D7) 由 1 个 8 位双向三态缓冲器构成 8255 内各端口通过数据缓冲器与系统总线相连。 CPU 与端口 A 、 B 、 C 间传送的数据,以及 CPU 写入控

制端口中的控制字均通过数据缓冲器传送。

reset

D7~

D0

A15~

A2A1A0

IORIOW

片选译码

数据缓冲器

读写控制

片内译码

CS

RESET

A1A0

RDWR

PC7~

PC0PB7

~PB0

PA7~

PA0

控制口

端口 A

端口 C

端口 B

+5VGND

D7~

D0 外

8255总线

Page 9: 第八章 并行输入输出接口芯片 8255A

4. 读写控制电路 控制数据总线缓冲器的状态。 数据总线缓冲器有 3 种状态:输入、输出、高阻态

reset

D7~

D0

A15~

A2A1A0

IORIOW

片选译码

数据缓冲器

读写控制

片内译码

CS

RESET

A1A0

RDWR

PC7~

PC0

PB7~

PB0

PA7~

PA0

控制口

端口 A

端口 C

端口 B

+5VGND

D7~

D0 外

8255总线

Page 10: 第八章 并行输入输出接口芯片 8255A

5. 片内译码电路 ( 引脚 A1 、 A0)

选择被操作的端口

reset

D7~

D0

A15~

A2A1A0

IORIOW

片选译码

数据缓冲器

读写控制

片内译码

CS

RESET

A1A0

RDWR

PC7~

PC0

PB7~

PB0

PA7~

PA0

控制口

端口 A

端口 C

端口 B

+5VGND

D7~

D0 外

8255总线

Page 11: 第八章 并行输入输出接口芯片 8255A

8.1.2 8255 的工作方式控制字

1D7 D6 D5 D4 D3 D2 D1 D0

0 输出1 输入PC3~PC0

B 口 0 输出1 输入

0 方式 01 方式 1

B 口工作方式

PC7~PC4 0 输出1 输入

A 口 0 输出1 输入

特征位, D7=1 表示是方式控制字

A 口工作方式00 方式 001 方式 11x 方式 2

Page 12: 第八章 并行输入输出接口芯片 8255A

例 A 端口方式 1 输入、 B 端口方式 1 输出、

PC6 , PC7 作输入,给出方式控制字。

1 0 1 1 1 1 0 X

1 0 1 0 0 1 1 X

BCHBCH

A7HA7H

AA 端口方式 端口方式 1 1 输出、输出、 B B 端口方式 端口方式 1 1 输入、输入、

PC4PC4 ,, PC5 PC5 作输出,给出方式控制字。作输出,给出方式控制字。

Page 13: 第八章 并行输入输出接口芯片 8255A

例8255 与系统连线如图,片选译码地址为 FFF0~FFF3h1) 确定各端口地址?2) 编程设置 8255 : A 口方式 0 输入, PC7~PC4 输出

B 口方式 0 输出, PC3~PC0 输入

resetD7~

D0

A15~

A2A1A0

IORIOW

片选译码

数据缓冲器

读写控制

片内译码

RESET

A1A0

PC7

PC0

PB7

PB0

控制口

端口 A

端口 C

端口 B

+5VGND

D7~

D0 外

RDWR

CS

PA7

PA0

F0~F3h

Page 14: 第八章 并行输入输出接口芯片 8255A

最后得出结论: A 口地址为 FFF0 H B 口地址为 FFF1 H C 口地址为 FFF2 H D 口地址为 FFF3 H

由 8255 编程结构知:

结合 8255 与系统总线的连线 :

A15 ~ A6 A5 A4 A3 A2 A1 A0 FFF0H 1 ~ 1 1 1 0 0 0 0 A 口FFF1H 1 ~ 1 1 1 0 0 0 1 B 口FFF2H 1 ~ 1 1 1 0 0 1 0 C 口FFF3H 1 ~ 1 1 1 0 0 1 1 D 口

8255A1 A0CS

总线

解 A1 A0 选中端口0 0 端口 A0 1 端口 B

1 0 端口 C

1 1 控制端口

Page 15: 第八章 并行输入输出接口芯片 8255A

1

特征位

0 0

A 口方式 0

1

A 口输入

0

PC7~PC4

输出

0

B 口方式 0

0

B 口输出

1

PC3~PC0输入

所以,方式控制字为 1001 0001B ,即 91H

要求设置 : A 口方式 0 输入, PC7~PC4 输出 B 口方式 0 输出, PC3~PC0 输入

2) 确定方式控制字D7 D6 D5 D4 D3 D2 D1 D0

Page 16: 第八章 并行输入输出接口芯片 8255A

MOV DX, 0FFF3H ; 控制口地址

MOV AL, 91H ; 方式控制字

OUT DX, AL

初始化程序

Page 17: 第八章 并行输入输出接口芯片 8255A

0D7 D6 D5 D4 D3 D2 D1 D0

0 复位1 置位设置内容

特征位, D7=0表示是 C 口按位置位 / 复位控制字

无意义 选择设置位

2 、 C 端口置 / 复位控制字

D3 D2 D1 C 端口位0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC61 1 1 PC7

Page 18: 第八章 并行输入输出接口芯片 8255A

C 端口的位选择编码

b3 b2 b1 编码 b0 = 0 b0 = 1

0 0 0 PC0 L H

0 0 1 PC1 L H

0 1 0 PC2 L H

0 1 1 PC3 L H

1 0 0 PC4 L H

1 0 1 PC5 L H

1 1 0 PC6 L H

1 1 1 PC7 L H

Page 19: 第八章 并行输入输出接口芯片 8255A

通过控制口置 PC2 为 0 ,置 PC4 为 1

解: MOV DX , 0F3H ; 置 DX 为控制口地址

MOV AL , 0000 0100B ; 置 PC2 为 0

OUT DX, AL

MOV AL , 0000 1001B ; 置 PC4 为 1

OUT DX, AL

Page 20: 第八章 并行输入输出接口芯片 8255A

例:设 8255 的 A 端口工作于方式 1 输入, B 端口工作于方式 0 输出,置 PC4 = H , ( 8255 的操作地址为 60H ~ 63H )

MOV AL, 0B0H ; 1011000X

OUT 63H, AL ; 写方式控制字 MOV AL, 09H ; 0XXX01001

OUT 63H, AL ; 写置 / 复位控制字

b7 b6 b5 b4 b3 b2 b1 b0

1 0 1 1 0 0 0 x

b7 b6 b5 b4 b3 b2 b1 b0

0 x x x 1 0 0 1

CC 口置口置 // 复位控制字复位控制字

工作方式控制字工作方式控制字

Page 21: 第八章 并行输入输出接口芯片 8255A

8.1.3 8255 的工作方式 A 端口有三种工作方式

– 方式 0 、方式 1 、方式 2 B 端口有二种工作方式

– 方式 0 、方式 1 C 端口无工作方式选择

– 工作于方式 0 ,或作为 A 、 B 端口工作于方式 1 、 2 时的联络信号

注:方式 0 (基本输入 / 输出) 方式 1 (选通输入 / 输出) 方式 2 (双向数据传送)

Page 22: 第八章 并行输入输出接口芯片 8255A

工作方式

根据 A 口和 C 口、 B 口和 C 口之间硬件关系的不同,有方式 0 、方式 1 、方式 2 三种

硬件连接可通过向控制口写控制字设置 方式 0: A 、 B 与 C 口之间没有硬件联系,即可

分别作为独立的输入或输出端口 方式 1: C 口的某 3 根引脚作为端口 A 、 B 与外设

的联络信号 方式 2: C 口的某 5 根引脚作为端口 A 与外设的

联络信号

Page 23: 第八章 并行输入输出接口芯片 8255A

单向无条件传送端口AA 、、 BB 、、 CC 端口可单独工作于输入或输出,共端口可单独工作于输入或输出,共有十六种组态有十六种组态

D7D7 D6D6 D5D5 D4D4 D3D3 D2D2 D1D1 D0D0

特征位特征位 AA 口口方式 方式 00

AA 口口输入输入

PC7~PC4PC7~PC4

输出输出BB 口口

方式 方式 00BB 口口输出输出

11 00 00 11 00 00 00 11

PC3~PC0PC3~PC0

输入输入

一、方式 0 (基本输入 / 输出方式)

Page 24: 第八章 并行输入输出接口芯片 8255A

方式 0

电特性:作输出用 , 各端口有锁存功能 作输入用 , 各端口无锁存功能 应用

– 程序控制下的无条件传送方式(查询方式) A 、 B 、 C 端口均传送数据信息

– 程序控制下的有条件传送方式 A 、 B 端口传送数据 , C 端口传送状态 工作在方式 0 的端口

– 作为输入口相当于普通的三态门– 作为输出口相当于普通的锁存器

Page 25: 第八章 并行输入输出接口芯片 8255A

方式 0 的等效电路

锁存器到外设

8

8

IO/M

WR

地址译码器

数据总线地址总线

&

CE

三态缓冲器

数据来自外设

8

8

IO/M

WR

地址译码器

数据总线地址总线

&

CE

输入方式输入方式IN ALIN AL ,, PORTPORT

输出方式输出方式OUT PORTOUT PORT ,, ALAL

Page 26: 第八章 并行输入输出接口芯片 8255A

1 0 1 1A 口方式 1 输入控制字

1 1 1B 口方式 1 输入控制字

PA7~PA0

PC4PC5

PC3

INTEA

PC4

与门IBFA

STBA

INTRA

RD

D7~D0

A 口方式 1 输入时相应的联络信

B 口方式 1 输入时相应的联络信

方式 1 下输入端口的联络信号

PB7~PB0

PC2PC1

PC0

INTEB

PC2

与门IBFB

STBB

INTRB

RD

D7~D0

Page 27: 第八章 并行输入输出接口芯片 8255A

方式 1 下输入端口的联络信号

– 由外设发出,送给 8255A– 作用是将外设送来的数据锁存到 8255A 的输入端口。

② IBF :输入缓冲器满信号(高电平有效)– 8255A 发出,表示外设送来的数据已进入输入端口。– 当外设送来的数据送入输入端口后, 8255A 自动发

出 IBF 。 ③ INTR :中断申请信号(高电平或上升沿有效)

– 8255A 发出,用来向 CPU 发出中断申请。

① STB :选通信号(低电平有效)

STBSTB 、、 IBFIBF 、、 INTEINTE 均为1时,均为1时, 8255A8255A 自动发出自动发出INTRINTR 。。

Page 28: 第八章 并行输入输出接口芯片 8255A

方式 1 下输入端口的联络信号④INTE :中断允许控制信号

– 作用是控制是否允许 8255A 的中断申请信号 INTR 发出。– 此信号无引出,通过控制口对 C 口相应位的置位 / 复位,

设置允许或不允许。 A 口,对 PC4 置位 , 使 INTEA=1, 允许中断 对 PC4 复位 , 使 INTEA=0, 不允许中断 B 口,对 PC2 置位 , 使 INTEB=1, 允许中断 对 PC2 复位 , 使 INTEB=0, 不允许中断 在方式 1 下,作为联络信号的外部引脚 PC4 、 PC2 ,不

受 C 口按位置位 / 复位控制字控制,而只在 8255A 内部对INTE 信号起作用

Page 29: 第八章 并行输入输出接口芯片 8255A

1 0 1 0A 口方式 1 输出控制字

1 1 0B 口方式 1 输出控制字

A 口方式 1 输出时相应的联络信号

B 口方式 1 输出时相应的联络信号

方式 1 下输出端口的联络信号

PA7~PA0

PC7PC6

PC3

INTEA

PC6

与门ACKA

OBFA

INTRA

WR

D7~D0 PB7~P

B0

PC1PC2

PC0

INTEB

PC2

与门ACKB

OBFB

INTRB

WR

D7~D0

Page 30: 第八章 并行输入输出接口芯片 8255A

由外设发出,送给 8255A 。作用是通知 8255A ,输出端口的数据已被外设取走,可以传送下一个数据。

③ INTR :中断申请信号(高电平或上升沿有效)8255A 发出 , 用来向 CPU 发出中断申请。

方式 1 下输出端口的联络信号 ① OBF :输出缓冲器满信号(低电平有效)

② ACK :外设响应信号(低电平有效)

当 OBF 、 ACK 、 INTE 均为1时, 8255A 自动发出 INTR

当数据送至 8255A 输出缓冲器后, 8255A 自动发出。表示 CPU 送来的数据已进入 8255A 输出端口,可用来通知外设把数据取走。

Page 31: 第八章 并行输入输出接口芯片 8255A

方式 1 下输出端口的联络信号

④ INTE :中断允许控制信号– 作用是控制是否允许中断申请信号 INTR 发出– 此信号无引出,通过控制口对 C 口相应位的置位 / 复

位设置允许或不允许。 A 口,对 PC6 置位 , 使 INTEA=1, 允许中断

对 PC6 复位 , 使 INTEA=0, 不允许中断 B 口,对 PC2 置位 , 使 INTEB=1, 允许中断

对 PC2 复位 , 使 INTEB=0, 不允许中断 在方式 1 下,作为联络信号的外部引脚 PC6 、 PC2 ,不受 C 口按

位置位 / 复位控制字控制,而只在 8255A 内部对 INTE 信号起作用。

Page 32: 第八章 并行输入输出接口芯片 8255A

方式 1 联络信号状态字D7 D6 D5 D4 D3 D2 D1 D0

I/O I/O IBFAINTEA INTRA

PC7 PC6 PC5 PC4 PC3输入时

OBFA INTEA I/O I/O INTRA

PC7 PC6PC5 PC4 PC3输出时

INTEB IBFB INTRB

PC2 PC1 PC0输入时

输出时

INTEB OBFBINTRB

PC2 PC1 PC0

A 组状态 B 组状态

Page 33: 第八章 并行输入输出接口芯片 8255A

方式 2 —— 双向输入输出

功能 仅 A 端口具有双向数据传送功能

C 端口特定位的组合应用 电特性 A 端口具有双向锁存和缓冲特性 应用 A 端口双向传送数据 查询方式: C 端口特定位传送状态 中断方式: C 端口特定位发中断请求

Page 34: 第八章 并行输入输出接口芯片 8255A

方式 2 输入 / 输出端口的联络信号 工作在方式 2 时, C 口有 5 根引脚作为 A 口的联络信号,

是方式 1 下 A 口输入、输出联络信号的组合

PA7~PA0

PC6PC7

ACKAOBFA

D7~D0

RD

WR

PC4PC5

STBAIBFA

INTEA1

PC4

INTEA2

PC6与

PC3

INTRA

或门

Page 35: 第八章 并行输入输出接口芯片 8255A

A 端口、 B 端口方式 1 比较 A 端口输入用 C 端口位 PC3 、 PC4 、 PC5

A 端口输出用 C 端口位 PC3 、 PC6 、 PC7

B 端口输入用 C 端口位 PC0 、 PC1 、 PC2

B 端口输出用 C 端口位 PC0 、 PC1 、 PC2 A 端口输入、输出用不同的 C 端口的位 B 端口输入、输出用相同的 C 端口的位 B 端口只有方式 1 选通输入 / 输出 A 端口还有方式 2 双向数据传送

Page 36: 第八章 并行输入输出接口芯片 8255A

C 端口未被使用的位 A 端口方式 0 、 B 端口方式 0 C 端口所有位未被使用, PC0 ~ PC7 可作 I/O 用 A 端口方式 0 、 B 端口方式 1 PC0 ~ PC2 被用, PC3 ~ PC7 可作 I/O 用 A 端口方式 1 输入、 B 端口方式 0 PC3 、 PC4 、 PC5 被用, PC0 ~ PC2 、 PC6 、 PC7 可作 I/O 用 A 端口方式 1 输出、 B 端口方式 0 PC3 、 PC6 、 PC7 被用, PC0 ~ PC2 、 PC4 、 PC5 可作 I/O 用 A 端口方式 1 输入、 B 端口方式 1 PC6 、 PC7 可作 I/O 用 A 端口方式 1 输出、 B 端口方式 1 PC4 、 PC5 可作 I/O 用 A 端口方式 2 、 B 端口方式 1 ; C 口被用完,都不可作 I/O

Page 37: 第八章 并行输入输出接口芯片 8255A

例: 8255A 用作 A/D 、 D/A 的接口

82558255 用作用作 A/A/DD 、、 D/AD/A 接接口电路,占口电路,占用的端口地用的端口地址分别为址分别为 300300H~303HH~303H

Page 38: 第八章 并行输入输出接口芯片 8255A

通道工作方式 通道选用 A 端口方式 1 输入 , 用于 A/D 变换的数据输入接口 B 端口方式 0 输出 , 用于 D/A 变换的数据输出接口 C 端口中的位: 1 、为 A 端口服务; 2 、作控制信号 I/O 接口的控制方式 输入 (A 端口 ) 采用查询方式 输出 (B 端口 ) 采用无条件程控方式 C 端口为位操作方式

PA7~PA0

PC4PC5

PC3

INTEA

PC4

与门IBFA

STBA

INTRA

RD

D7~D0

问:问: AA 口方式口方式 11 输入的联络信号输入的联络信号是什是什么?么?

Page 39: 第八章 并行输入输出接口芯片 8255A

通道控制

8255A 对 A/D 芯片的控制 PC7=H ,启动 A/D 变换; PC7=L ,停止 A/D 变换 PC4(/STBA)=L , A/D 变换后的数据送 A 口锁存 PC5( IBFA)=H , A 口已锁存 A/D 变换后的数据 注:查询状态信息 PC5=H ,下一步完成读 A/D 数据 8255A 对 D/A 芯片的控制 B 端口工作于方式 0 输出 , 为直接数据输出

Page 40: 第八章 并行输入输出接口芯片 8255A

控制字设置

A 端口方式 1 输入 D6D5D4 = 011 B 端口方式 0 输出 D2D1 = 00 C 端口 PC7 输出 D3 = 0写方式控制字编程 MOV AL , 1011000XB MOV DX , 303H OUT DX , AL

1 0 1 1 0 0 0 X

方式控制字方式控制字

Page 41: 第八章 并行输入输出接口芯片 8255A

启动 / 停止 A/D 转换

MOV DX , 303HMOV AL , 0XXX1110BOUT DX , AL

0 X X X 1 1 1 1

0 X X X 1 1 1 0

MOV DXMOV DX ,, 303H303H

MOV ALMOV AL ,, 0XXX1111B0XXX1111B

OUT DXOUT DX ,, ALAL

停止停止 A/DA/D ,即清,即清 PC7 = LPC7 = L

完成完成 A/DA/D 变换过程编程变换过程编程 启动启动 A/DA/D ,即置 ,即置 PC7 = PC7 =

HH

Page 42: 第八章 并行输入输出接口芯片 8255A

A/D 转换状态查询及读结果

查询 PC5 ,完成 A/D 变换数据读入 A 端口 MOV DX , 302H ; C 端口 R/W 地址为 302H

AG : IN AL , DX ; C 端口数据读入 AL

TEST AL , 00100000B ;测 PC5 位是否为 0

JZ AG ;为 0 循环查询,为 1 继续 MOV DX , 300H ; A 端口 R/W 地址为 300H

IN AL 、 DX ; A/D 变换数据读入 AL

Page 43: 第八章 并行输入输出接口芯片 8255A

D/A 转换

完成 B 端口 D/A 变换数据输出编程

;数据处理过程略 MOV DX , 301H ; B 端口 R/W 地址为 301H

OUT DX , AL ; B 端口数据送 D/A 变换器

Page 44: 第八章 并行输入输出接口芯片 8255A

例: 8255A 打印机接口设设 8255A8255A 的端口地址分别为的端口地址分别为 0C0H0C0H 、、 0C2H0C2H 、、 0C4H0C4H和和 0C6H0C6H ,, AA 口为方式口为方式 11 输出输出

Page 45: 第八章 并行输入输出接口芯片 8255A

8255 口线的使用

A 为数据通道,方式 1 ,输出 PC0 产生打印机的选通脉冲 PC7 未用; PC6 为 /ACK 输入 PC3 自动作 INTR ,接中断控制器

8259A 的 IR3 ,中断类型号 0BH ,中断向量在 0002CH~0002FH 单元

通道 C 其他位及通道 B 未用

PA7~PA0

PC7PC6

PC3

INTEA

PC6

与门ACKA

OBFA

INTRA

WR

D7~D0

Page 46: 第八章 并行输入输出接口芯片 8255A

8255 初始化

MOV AL , 0A0H;初始化, 1010XXX0

OUT 0C6H , AL ; A 口方式 1 ,出; PC0

出MOV AL , 1 ; PC0=1 ,选通无效OUT 0C6H , AL

Page 47: 第八章 并行输入输出接口芯片 8255A

设置中断向量

设置向量 0100H : 2000H

PUSH DS ;保护原数据段XOR AX , AX

MOV DS , AX ;设向量表段地址为 0000H

MOV AX , 2000HMOV WORD PTR [002CH] , AX ;中断服务程序偏移地址MOV AX , 0100HMOV WORD PTR [002EH] , AX ;中断服务程序段地址POP DS ;恢复原数据段

Page 48: 第八章 并行输入输出接口芯片 8255A

8255 中断设置

MOV AL , 0DH ; 0000 1101 ; PC6 置 1

OUT 0C6H , AL ;允许 8255A 中断STI ; CPU 开中断;主程序

Page 49: 第八章 并行输入输出接口芯片 8255A

中断服务程序 中断服务程序发选通信号,将数据送打印机 打印机接收并打印字符后发出应答信号,清除 8255A 的数

据缓冲区满信号RINT : MOV AL , [DI] ;输出字符送 A 通道OUT 0C0H , AL

MOV AL , 0 ; PC0 产生低电平脉冲选通信号OUT 0C6H , AL ; 0000 0000 , PC0 置 0INC AL

OUT 0C6H , AL ; 0000 0001 , PC0 置 1 … ;后续处理IRET ;中断返回