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

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

  • Upload
    borna

  • View
    174

  • Download
    0

Embed Size (px)

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

Citation preview

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 ;中断返回