Upload
stacy
View
120
Download
0
Embed Size (px)
DESCRIPTION
第 6 章 并行接口技术. 主讲老师:张伟民. 本章概述. 并行接口为外设提供了能使信息并行传送的输入输出端口,广泛应用于微机内各部件之间的信息交换。本章将介绍并行接口的基本结构、功能及工作原理,并通过一些并行接口的设计实例,介绍并行接口电路的基本设计方法。. 教学目标. 1. 能叙述并行接口的特点。 2. 能说出并行接口的功能。 3. 能描述并行接口芯片 8255 的功能与结构。 4. 掌握 8255 的使用方法 5. 熟悉 8255 的 3 种工作方式并能根据实际情况正确选用。. 学习内容. §6.1 基本概念 - PowerPoint PPT Presentation
Citation preview
中国地质大学远程教学
第 6 章 并行接口技术
主讲老师:张伟民
中国地质大学远程教学
本章概述
并行接口为外设提供了能使信息并行传送的输入输出端口,广泛应用于微机内各部件之间的信息交换。本章将介绍并行接口的基本结构、功能及工作原理,并通过一些并行接口的设计实例,介绍并行接口电路的基本设计方法。
中国地质大学远程教学
教学目标
1. 能叙述并行接口的特点。
2. 能说出并行接口的功能。
3. 能描述并行接口芯片 8255 的功能与结构。
4. 掌握 8255 的使用方法
5. 熟悉 8255 的 3 种工作方式并能根据实际情况正确选用。
中国地质大学远程教学
学习内容
§6.1 基本概念
§6.2 可编程并行接口芯片 8255
§6.3 8255 的应用举例重点
1. 并行接口的特点。 2. 并行接口的功能。 3.8255 的功能及使用。
难点 如何根据实际情况正确使用 8255 来进行并行接口电路的设计。
中国地质大学远程教学
学习方法
首先要了解并行接口的特点和功能, 8255 的功能及结构,熟悉 8255 的 3 种工作方式。在此前提下,锻炼 8255 的应用,由于本章比较重要,因此应认真学习。
中国地质大学远程教学
6.1 并行接口的特点
计算机与外设交换信息的过程中:
并行通信:多位数据通过多条数据线同时传送。
串行通信:多位数据通过同一条数据线按位传送。
并行通信就是把一个字符的各数位用几条线同时进行传输。与串行通信(一位一位传输)相比,在相同传输率下,并行通信的信息实际传输速度快、信息率高。但并行通信比串行通信所用电缆多,随着距离的增加,电缆的开销会成为突出的问题。所以,并行通信总是用在数据传输率要求较高,而传输距离较短的场合。
中国地质大学远程教学
6.1 并行接口的特点(续 1 ) 实现并行通信的接口就是并行接口。一个并行接口可以设计为只用来作
为输出接口,也可以只用来作为输入接口,此外,还可以把它设计成既作为输入又作为输出的接口。
并行接口是在多根数据线上,以字节 / 字为单位与 I/O 设备交换数据。
在计算机内部数据是并行传送的。因此,并行接口电路相对简单,串行接口电路由于要进行串并行转换相对复杂。
并行接口电路芯片常用的有两类:
普通的 8 位锁存器及缓冲器
可编程设置工作方式的并行接口
中国地质大学远程教学
6.1 并行接口的特点(续 2 )
CPU
数据总线
读出信号写入信号
复位准备好
中断请求
地址译码
地址
控制寄存器
输入缓冲寄存器
输出缓冲寄存器
状态寄存器
片选
A0A1
输入设备
输出设备
数据输入准备好
数据输出准备好
数据输入回答
数据输出回答
数据输入
数据输出
并行接口连外设的示意图
中国地质大学远程教学
6.1 并行接口的特点(续 3 )并行接口功能
1 、实现与系统总线的连接,提供数据的输入与输出功能(最基本功能)。
2 、实现与 I/O 设备的连接,具有与 I/O 设备进行应答的同步机构,保证有效地进行数据的收发。
3 、具有中断请求与处理的功能,使得数据得输入输出可以采用中断的方法来实现。
中国地质大学远程教学
6.2 并行接口电路
内部数据总线
外部数据引脚
锁存控制
锁存器缓冲器
D
C
D
C
D
C
Q
Q
Q
选通
(一)输入接口(数据部分)
中国地质大学远程教学
内部数据总线
外部数据引脚
选通
6.2 并行接口电路(续 1 )
如果外设送来的数据都是静态数据,接口可以简化为缓冲器。
中国地质大学远程教学
内部数据总线
外部数据引脚
锁存控制
D
CQ
D
CQ
D
CQ
读数据
6.2 并行接口电路(续 2 )(二)输出接口(数据部分)
中国地质大学远程教学
内部数据总线
外部数据引脚
锁存控制
D
CQ
D
CQ
D
CQ
6.2 并行接口电路(续3 )
如果送给外设的数据都是静态数据,接口可以简化为锁存器。
中国地质大学远程教学
6.2 并行接口电路(续 4 )
74LS244
+5V10K x 8
G1 G2
数据总
线
CS
RD
(三)实例开关状态输入接口电路
74LS244 是双 4 位的三态缓冲器,由 G1 和 G2 各控制 4 位的选通。注意:电阻用来限制输入电流。
中国地质大学远程教学
+5V
74LS373
300 x 8
LE OE
数据总
线
CS
WR
6.2 并行接口电路(续5 )
74LS373 是 8 位的三态锁存器,由 LE 控制锁存, OE 控制选通。注意:电阻用来限制输入电流。
发光二极管输出接口电路
中国地质大学远程教学
6.3 可编程并行通讯接口芯片 8255A
8255A 是 INTEL 系列的并行接口芯片,由于它是一种可编程的外部接口部件,通常作为微机系统总线与外部设备的接口控制部件,可通过软件来设置芯片的工作方式,用 8255A 连接外部设备时,通常不需要附加外部电路,给使用带来很大的方便。
IBM PC 就是采用 8255A 与键盘、扬声器等其他外设进行接口。
40PIN 、 DIP封装,芯片体积大,设计简单的系统通常不用。
在目前的主板中,功能已经集成在芯片组中,但使用和编程与 8255A完全一致。
中国地质大学远程教学
6.3.1 8255A 内部结构
中国地质大学远程教学
6.3.1 8255A 内部结构(续 1 )8255A 内部组( 1 ):
数据端口 A,B,C 8255 有 3 个 8 位的 I/O 端口,设计人员可以用软件使它们分别作为输入端口或输出端口。
端口 A :对应了 1 个 8 位的数据输入锁存器和 1 个 8 位的数据输出锁存 / 缓冲器。所以口 A 作为输入或输出时,数据均受到锁存。
端口 B :对应了一个 8 位的数据输入缓冲器和 1 个 8 位的数据输出锁存器 /缓冲器。所以口 B 作为输入端口时,不会对数据进行锁存,而作为输出端口时,数据会受到锁存。
端口 C :与口 B 基本一致,对应了一个 8 位数据输入缓冲器和 1 个 8 位的数据输出锁存 / 缓冲器。所以口 C 作为输入端口时,对数据不作锁存,而作为输出端口时,对数据进行锁存。
在使用中,端口 A 和 B 通常作为独立的输入端口或输出端口,端口 C则配合端口 A 和 B 的工作。具体讲,就是口 C 通过控制命令被分成 2 个 4 位端口,每个4 位端口包含 1 个 4 位的输入缓冲器和 1 个 4 位的输出缓冲器,他们分别用来为端口 A 和 B 输出控制信号和输入状态信号。
中国地质大学远程教学
6.3.1 8255A 内部结构(续 2 )8255A 内部组成( 2 ):
A组控制和 B组控制 这两组控制电路一方面接收芯片内部总线上的控制字,一方面接
收来自读 / 写控制逻辑电路的读 / 写命令,由此决定两组端口的工作方式和读写操作。
A组控制电路控制端口 A 和口 C 的高 4 位( PC7~PC4 )的工作方式和读 / 写操作。
B组控制电路控制端口 B 和口 C 的低 4 位( PC3~PC0 )的工作方式和读 / 写操作。
中国地质大学远程教学
6.3.1 8255A 内部结构(续 3 )
读 / 写控制逻辑电路 读 / 写控制逻辑电路负责管理 8255 的数据传输过程。它接收 CS 及来自
系统地址总线 A1 , A0 ( 8086 系统中为 A2 , A1 )和控制总线的输入信号 RESET , WR , RD ,将这些信号组合后,得到对 A组控制部件和 B组控制部件的控制命令,并将命令发送给这两个部件,以完成对数据、状态信息和控制信息的传输。
数据总线缓冲器 8255 的数据总线缓冲器是双向三态的 8 位数据缓冲器,通过它直接与
系统的数据总线相连。输入数据、输出数据、 CPU 发给 8255 的控制字都是通过这个缓冲器传送的。
8255A 内部组成( 3 ):
中国地质大学远程教学
6.3.1 8255A 内部结构(续 4 )
( 1 ) A1A0 端口 口线 00 端口 A PA7~PA0
01 端口 B PB7~PB0 10 端口 C PC7~PC0
11 对控制端口写控制字
( 2 )端口 C 又可以分成“上 C 口”和“下 C 口” 2 个部分,用作 A 口和 B 口的控制信号线,所以把 A 口 + 上 C 口称为 A组, B 口 + 下 C
口称为 B组。
( 3 ) PA 口:输入有锁存器,输出有锁存器和缓冲器, PB 和 PC 口:输入有缓冲器,输出有锁存器和缓冲器。
说明:
中国地质大学远程教学
6.3.2 8255A 引脚说明
RE
SE
T
WR
RD
CS
GN
DA1
A0
9
3231302928272625
1
40
2
39
3
38
4
37
5
36
6
35
7
34
8
3324232221
17181920 13141516 101112
PB7~PB3
PB0~PB2PC0~PC3 PC7~PC4 PA0~PA3
D0~D7 PA4~PA7
8255A
中国地质大学远程教学
6.3.2 8255A 引脚说明(续 1 )
8255A 和总线连接的引脚: D7~D0 : 8255A 数据线,与系统数据总线相连。 CS :片选信号,低电平有效。只有 CS 有效时,读信号 RD 和写信号
WR才对 8255A 有效。 RESET :复位信号,低电平有效,当其有效时,所有内部寄存器都被清除,同时 3 个数据端口被自动设为输入端口。
RD :读出信号,低电平有效,当 RD 有效时, CPU 可以从 8255A 中读取输入数据。
WR :写入信号,低电平有效,当WR 有效时, CPU 可以往 8255A 中写入控制字或数据。
A1~A0 :端口选择信号。 8255A 内部有 3 个数据端口和 1 个控制端口,共 4 个端口,规定如下:
信号说明:
中国地质大学远程教学
6.3.2 8255A 引脚说明(续 2 )
A1 A0 选中端口
0 0 口 A
0 1 口 B
1 0 口 C
1 1 控制口
8255A 和外设连接的信号: PA7~PA0 , PB7~PB0 , PC7~PC0 。 说明:有 A 、 B 、 C三组 8 位的数据信号。 电源和地线: Vcc 和 GND 。
中国地质大学远程教学
6.3.2 8255A 引脚说明(续3 )
CS A1 A0 RD WRPC/XT 传输说明
0 0 0 0 1 60H 数据从口 A 送到数据总线0 0 1 0 1 61H 数据从口 B 送到数据总线0 1 0 0 1 62H 数据从口 C 送到数据总线0 0 0 1 0 60H 数据从数据总线送端口 A
0 0 1 1 0 61H 数据从数据总线送端口 B
0 1 0 1 0 62H 数据从数据总线送端口 C
0 1 1 1 0 63HD7=1 ,则由数据总线往控制寄存器写入控制字; D7=0 ,则由数据总线输入的数据作为对口 C 的置位 / 复位命令
1 X X X X D7~D0 进入高阻抗状态0 1 1 0 1 非法的信号组合0 X X 1 1 D7~D0 进入高阻抗状态
8255A 的控制信号和传输动作的对应关系
中国地质大学远程教学
6.3.3 8255A 控制字 8255A 可通过指令在控制端口中设置控制字来决定它的工作。其控
制字可分为两类: 芯片各端口的方式选择控制字
它可使 8255A 的 3 个数据端口工作在不同的工作方式。 方式选择控制字总是将 3 个数据端口分为两组来决定工作方式,即
端口 A 和端口 C 的高 4 位为 1组,端口 B 和端口 C 的低 4 位为 1组。 端口 C 按位置 1/ 置 0 控制字
它可使端口 C 中的任何一位进行置位或复位。 这两类控制字通过最高位即 D7 位为 0或 1 来区别。方式选择控制
字的最高位为 1 ,而端口 C 置 1/ 置 0 的控制字最高位为 0 。
中国地质大学远程教学
对 A1A0=11 的端口写入 D7=1 的数据1. 工作方式控制字:6.3.3 8255A 控制字(续 1 )
中国地质大学远程教学
2. 端口 C 置 1/ 置 0 控制字: 对 A1A0=11 的端口写入 D7=0 的数据表示对口 C 进行位操作。(注意:
对 A1A0=10 的端口操作表示对 C 口进行字节操作。)
6.3.3 8255A 控制字(续 2 )
中国地质大学远程教学
6.3.3 8255A 控制字(续 3 )
3. 编程举例:
设 A 、 B 、 C 数据口地址分别位 60H 、 61H 、 62H 、控制口端口地址 63H
A 口方式 0 ,输出、 B 口方式 0 ,输入, C 口高 4 位输出, C 口低 4位输入
MOV AL , 10000011B OUT 63H , AL
中国地质大学远程教学
6.3.3 8255A 控制字(续 4 )
PC7 置 1 , PC3 置 0
MOV DX , 63H MOV AL , 0000,1111B; PC7 置 1 OUT DX , AL MOV AL , 0000,0110B; PC3 置 0 OUT DX , AL
中国地质大学远程教学
6.3.4 8255A 工作方式
1. 工作方式 0 :基本的输入 / 输出方式。 A 口、 B 口、上 C 口、下 C 口都可以独立设置作为输入或输出使用。 适合用于无条件或查询式传送。
2. 工作方式 1 :应答式输入输出方式。 A 口、 B 口可以分别作为数据口工作在方式 1 。
需要使用 C 口中特定的引脚作为选通和应答使用。 C 口中其余的引脚仍可工作在方式 0 ,定义为输入或输出使用。
适合用于中断式传送和程序查询方式 I/O 传送。
中国地质大学远程教学
外设响应信号表示外设已经接收到数据
输出缓冲器满信号表示 CPU已经输出了数据
中断允许触发器
PC6
PC7
PC3
PA7~PA0
INTEA
OBFA
INTRA
ACKA
A 口、方式 1 、输出
D7~D0
WR
中断请求信号请求 CPU再次输出数据
6.3.4 8255A 工作方式(续 1 )图例 1
中国地质大学远程教学
6.3.4 8255A 工作方式(续 2 )
说明: 当 CPU向端口 A 输出数据以后,在 WR 的上升沿使 OBFA变
为低电平。 当外设接收到数据以后,发出一个负脉冲 ACKA 送给 8255A ,
使 OBFA变为高电平。 ACKA 和 OBFA都变为高电平以后,如果 INTEA允许,则 82
55A 发出中断请求信号,以便使 CPU再次输出数据。 WR 的下降沿使 INTRA恢复低电平。
可以通过对 PC6 的置位和复位来设置 INTEA 。
中国地质大学远程教学
图例 2
数据选通信号表示外设已经准备好数据
输入缓冲器满信号表示 A 口已经接收数据
中断请求信号请求 CPU 接收数据中断允许触发器
PC4
PC5
PC3
PA7~PA0
INTEA
IBFA
INTRA
STBA
A 口、方式 1 、输入
RD
D7~D0
6.3.4 8255A 工作方式(续 3 )
中国地质大学远程教学
6.3.4 8255A 工作方式(续 4 )
说明: 当外设数据准备好以后,发出一个负脉冲选通信号 STB ,使 A 口打
开锁存器接收数据。 A 口接收到数据以后,发出 IBFA ,由 RD 信号的上升沿使 IBFA恢复低电平。
STB 和 IBFA都变为高电平以后,如果 INTEA允许,则 8255A 发出中断请求信号,以便使 CPU 接收数据。 RD 信号的下降沿使 INTRA
恢复低电平。 可以通过对 PC4 的置位和复位来设置 INTEA 。
中国地质大学远程教学
PC2
PC1
PC0
PB7~PB0
INTEB
IBFB
INTRB
STBB
B 口、方式 1 、输入
RD
D7~D0
PC2
PC1
PC0
PB7~PB0
INTEB
OBFB
INTRB
ACKB
D7~D0
WR
6.3.4 8255A 工作方式(续5 )
图例 3 图例 4
可通过对 PC2 置位或复位来设置 INTEB 。
中国地质大学远程教学
PC6
PC7
PC3
PA7~PA0
INTE1
OBFA
INTRA
ACKA
PC4
PC5 IBFA
STBAINTE2
用 PC6 设置 INTE1 ,
用 PC4 设置 INTE2 。
输入和输出中断通过
或门输出 INTR 信号。
D7~D0
WR
RD
6.3.4 8255A 工作方式(续6 )
3. 工作方式 2 :双向应答式输入输出方式。 A 口可以作为数据口工作在方式 2 。相当于是 A 口工作在方式 1
的输入和输出的叠加。
中国地质大学远程教学
6.3.5 8255A 在 PC 机中的应用
D7 D6 D5 D4 D3 D2 D1 D0
11 0 0 0 01 1
PC/XT 机中有一片 8255A ,用作键盘输入和系统设置开关输入的并行接口,同时提供扬声器发声和其他控制信号。
端口地址是 60H~63H 。正常工作时 A 、 B 、 C三个口都是方式 0 ,其中A 口、 C 口输入, B 口输出。工作方式控制字是: 99H 。
中国地质大学远程教学
74LS138
G1
G2A
G2B
C
B
A
Y0
Y1
Y2
Y3
8237.CS ( 00H~1FH )
8259A.CS ( 20H~3FH )
8253.CS ( 40H~5FH )
8255A.CS ( 60H~7FH )
AEN
A9
A8
A7
A6
A5
6.3.5 8255A 在 PC 机中的应用(续1 )
在 PC 机中,主板上产生接口电路芯片片选信号的电路:
由于 A4 、 A3 、 A2 既没有作为片选地址线,也没有作为片内地址线使用,所以是不完全译码。端口地址会有重叠。
例如: 70H~73H 、 64H~67H等都同于 60H~63H 。
中国地质大学远程教学
8255A
PB1
PB0驱动电路
扬声器GATE2
CLK2时钟信号
与门
8253 的 2# 通道
PA7~PA0
PB7
PB6
键盘扫描码
输出 0 ,使 A 口接收到的是键盘数据输出 1 ,给键盘送时钟信号
键盘和扬声器控制示意图
6.3.5 8255A 在 PC 机中的应用(续 2 )
中国地质大学远程教学
6.3.6 打印机并行接口
打印机并行接口标准
打印机并行接口通常采用 Centronics 并行接口标准,共有 36
个引脚信号。其说明见表 1 。
在系统连接时,打印机一端是 36 芯 D型插座,主机一端是 2
5 芯 D型插座。主机与打印电缆之间的连线见表 2 。
中国地质大学远程教学
6.3.6 打印机并行接口(续 1 )
引脚 信号名称 方向 功能说明
1 STROBE 主机 打印机 数据选通脉冲(低电平接收数据)
2~9 D0~D7 主机 打印机 8 根数据线
10 ACKNLG 主机 打印机 打印机应答信号,表示已接收到数据
11 BUSY 主机 打印机 打印机忙,不能接收新的数据
12 PE 主机 打印机 缺纸
13 SLCT 主机 打印机 表示打印机能工作
表 1 Centronics 并行打印接口标准
中国地质大学远程教学
6.3.6 打印机并行接口(续 2 )
引脚 信号名称 方向 功能说明
14AUTO FEEDXT
主机 打印机 打印一行后,自动走纸
15 未用
16 逻辑地
17 机壳地
18 未用
19~30 GND 地
31 INIT 主机 打印机 初始化打印机
表 1 Centronics 并行打印接口标准(续 1 )
中国地质大学远程教学
6.3.6 打印机并行接口(续 3 )
引脚 信号名称 方向 功能说明
32 ERROR 主机 打印机 无纸、脱机、出错指示
33 地
34 未用
35 电源 +5V
36 SLCT IN 主机 打印机 允许打印机工作
表 1 Centronics 并行打印接口标准(续 2 )
中国地质大学远程教学
6.3.6 打印机并行接口(续 4 )
信号
PC 机并行口 25芯 D型插座引脚
信号方向打印机并行 36 芯 D型插座引脚
功能说明
D0~D7 2~9 主机 打印机 2~9数据线(低电平接收数据)
STROBE 1 主机 打印机 1 数据选通脉冲
ACKNLG 10 主机 打印机 10打印机应答信号,表示已收到数据
BUSY 11 主机 打印机 11打印机忙,不能接收新的数据
PE 12 主机 打印机 12 缺纸SLCT 13 主机 打印机 13 表示打印机能工作
表 2 主机与打印机接口信号连线表
中国地质大学远程教学
6.3.6 打印机并行接口(续 5 )
信号
PC 机并行口 25芯 D型插座引脚
信号方向
打印机并行 36芯 D型插座引脚
功能说明
AUTO FEEDXT 14 主机 打印机 14打印一 行后,自动走纸
ERROR 15 主机 打印机 32无纸、脱机 、 出错指示
INIT 16 主机 打印机 31 初始化打印机
SLCT IN 17 主机 打印机 36 允许打印机工作
GND 18~25 19~3033 地
表 2 主机与打印机接口信号连线表(续)
中国地质大学远程教学
6.3.7 打印机接口编程实例 打印机适配器端口直接编程
查询方式
中断方式
BIOS 功能调用
在 BIOS 系统中提供了打印机管理程序,用户可使用 INT 17H
功能调用,完成字符打印。
DOS 功能调用
用户可调用 INT 21H 的 5 号子功能,完成字符打印功能。
中国地质大学远程教学
6.3.7 打印机接口编程实例(续1 )
查询方式 例 1 : 8255A 作为连接打印机的接口,工作在方式 0 ,输出。
工作过程:需要打印时,查询打印机是否忙?不忙时通过 8255A 发送一个字符给打印机。为使打印机接收数据,要生成一个选通脉冲(初始值是 1 ,置 0 ,再置 1 )。
中国地质大学远程教学
8088
8255A 打印机D7~D0
PA
PC6
PC2
STB
BUSY
查询式打印机接口示意图
例题 1 题解:
A 口:方式 0 、输出数据下 C 口:方式 0 、 PC2 输入状态信号上 C 口:方式 0 、 PC6 输出选通信号
方式控制字为:10000001B 。
为增强驱动能力,可加门电路驱动6.3.7 打印机接口编程实例(续 2 )
中国地质大学远程教学
≥0.5ms
6.3.7 打印机接口编程实例(续 3 )设端口地址是: 0D0H~0D3H ,要打印的字符放在 BL 中。程序如下:
Setup : MOV AL , 81H ;设置工作方式OUT 0D3H , AL
MOV AL , 0DH ; ① PC6 置 1 , 0DH=0000,1101
OUT 0D3H , AL
Ready :IN AL , 0D2H ;读 PC 口TEST AL , 04H ;② 打印机忙否( PC2 =BUSY=?)JNZ Ready ; PC2=1 ,打印机忙,等待MOV AL , BL ;打印的字符送 AL 中OUT 0D0H , AL ; ③ BL 中的字符送 PA 口MOV AL , 0CH ;置 PC6 为 0
OUT 0D3H , AL ;④ 置 PC6=0 ,即 =0; 00001100=0CH
INC AL ;置 PC6 为 1
OUT 0D3H , AL ;置 PC6=1 ,即 =1 , 00001101=0DH
……
中国地质大学远程教学
6.3.7 打印机接口编程实例(续 4 )
中断方式
例 2 :使用 8255A 的工作方式 1 ,设计中断方式的打印机接口。
工作过程:在主程序中设置中断向量,开放中断( IF 标志、 825
9A 的 IMR 、 8255A 的 INTE )。在中断服务程序中,发送打印字符、选通脉冲。
中国地质大学远程教学
8088
8255A 打印机D7~D0
PA
PC2
PC6
STB
ACK
中断式打印机接口示意图
例题 2 题解:
A 口:方式 1 、输出数据 PC6 输入外设响应信号
下 C 口:方式 0 、 PC2 输出选通信号
PC3
IR2
INTR
INTA
8259A
方式控制字为:10100000B 。
6.3.7 打印机接口编程实例(续5 )
中国地质大学远程教学
6.3.7 打印机接口编程实例(续 6 )
设端口地址是: 0D0H~0D3H ,用 DI指示字符在缓冲区的位置。 程序如下:
1 、中断服务程序:(假设开始位置是 2000H : 1000H )PRNDRV :MOV AL , [ DI ] ;打印的字符送 AL 中
OUT 0D0H , AL
INC DI
MOV AL , 4 ;置 PC2 为 0
OUT 0D3H , AL
MOV AL , 5 ;置 PC2 为 1
OUT 0D3H , AL
MOV AL , 20H ;向 8259A 发 EOI命令OUT 20H , AL
IRET ;该程序做了简化处理。
中国地质大学远程教学
6.3.7 打印机接口编程实例(续7 )
2 、主程序INIT8259A : MOV AL , 13H ;初始化 8259A
OUT 20H , AL
MOV AL , 8
OUT 21H , AL
MOV AL , 9
OUT 21H , AL
INIT8255A : MOV AL , 0A0H ;设置 8255A 工作方式 OUT 0D3H , AL
MOV AL , 5 ;置 PC2 为 1
OUT 0D3H , AL
中国地质大学远程教学
1
23
6.3.7 打印机接口编程实例(续 8 )
INSTDRV : MOV AX , 0 ;安装中断向量MOV DS , AX; IR2 的中断类型是 0AHMOV Word Ptr [ 0AH*4 ] , 1000HMOV Word Ptr [ 0AH*4+2 ] , 2000H
SETUPIF : MOV AL , 0DH ;设置 8255A 的 INTEAOUT 0D3H , ALIN AL , 21H ;设置 8259A 的 IMR ,允许
IR2AND AL , 0FBHOUT 21H , ALSTI ;开中断
中国地质大学远程教学
6.3.7 打印机接口编程实例(续 9 )
3 、打印驱动程序假设字符缓冲区从 3000H : 0000H 处开始存放,在 3000H : 1000H 处存放一个字,表示打印字符数。
PRINT : MOV AX , 3000HMOV DS , AXMOV DI , 0000HINT 0AH ;第一次中断,可以软件触发
LOOP1 : CMP DI , [1000H]JB LOOP1MOV AL , 0CH ;关闭 INTEAOUT 0D3H , AL
说明:打印结束也可以在中断服务程序中进行判断。