56
中中中中中中中中中中 中6中 中中中中中中 中中中中 中中中

第 6 章 并行接口技术

  • 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

Page 1: 第 6 章 并行接口技术

中国地质大学远程教学

第 6 章 并行接口技术

主讲老师:张伟民

Page 2: 第 6 章 并行接口技术

中国地质大学远程教学

本章概述

并行接口为外设提供了能使信息并行传送的输入输出端口,广泛应用于微机内各部件之间的信息交换。本章将介绍并行接口的基本结构、功能及工作原理,并通过一些并行接口的设计实例,介绍并行接口电路的基本设计方法。

Page 3: 第 6 章 并行接口技术

中国地质大学远程教学

教学目标

1. 能叙述并行接口的特点。

2. 能说出并行接口的功能。

3. 能描述并行接口芯片 8255 的功能与结构。

4. 掌握 8255 的使用方法

5. 熟悉 8255 的 3 种工作方式并能根据实际情况正确选用。

Page 4: 第 6 章 并行接口技术

中国地质大学远程教学

学习内容

§6.1 基本概念  

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

§6.3 8255 的应用举例重点

   1. 并行接口的特点。   2. 并行接口的功能。   3.8255 的功能及使用。

难点  如何根据实际情况正确使用 8255 来进行并行接口电路的设计。

Page 5: 第 6 章 并行接口技术

中国地质大学远程教学

学习方法

首先要了解并行接口的特点和功能, 8255 的功能及结构,熟悉 8255 的 3 种工作方式。在此前提下,锻炼 8255 的应用,由于本章比较重要,因此应认真学习。

Page 6: 第 6 章 并行接口技术

中国地质大学远程教学

6.1  并行接口的特点

计算机与外设交换信息的过程中:

并行通信:多位数据通过多条数据线同时传送。

串行通信:多位数据通过同一条数据线按位传送。

并行通信就是把一个字符的各数位用几条线同时进行传输。与串行通信(一位一位传输)相比,在相同传输率下,并行通信的信息实际传输速度快、信息率高。但并行通信比串行通信所用电缆多,随着距离的增加,电缆的开销会成为突出的问题。所以,并行通信总是用在数据传输率要求较高,而传输距离较短的场合。

Page 7: 第 6 章 并行接口技术

中国地质大学远程教学

6.1  并行接口的特点(续 1 ) 实现并行通信的接口就是并行接口。一个并行接口可以设计为只用来作

为输出接口,也可以只用来作为输入接口,此外,还可以把它设计成既作为输入又作为输出的接口。

并行接口是在多根数据线上,以字节 / 字为单位与 I/O 设备交换数据。

在计算机内部数据是并行传送的。因此,并行接口电路相对简单,串行接口电路由于要进行串并行转换相对复杂。

并行接口电路芯片常用的有两类:

普通的 8 位锁存器及缓冲器

可编程设置工作方式的并行接口

Page 8: 第 6 章 并行接口技术

中国地质大学远程教学

6.1  并行接口的特点(续 2 )

CPU

数据总线

读出信号写入信号

复位准备好

中断请求

地址译码

地址

控制寄存器

输入缓冲寄存器

输出缓冲寄存器

状态寄存器

片选

A0A1

输入设备

输出设备

数据输入准备好

数据输出准备好

数据输入回答

数据输出回答

数据输入

数据输出

并行接口连外设的示意图

Page 9: 第 6 章 并行接口技术

中国地质大学远程教学

6.1  并行接口的特点(续 3 )并行接口功能

1 、实现与系统总线的连接,提供数据的输入与输出功能(最基本功能)。

2 、实现与 I/O 设备的连接,具有与 I/O 设备进行应答的同步机构,保证有效地进行数据的收发。

3 、具有中断请求与处理的功能,使得数据得输入输出可以采用中断的方法来实现。

Page 10: 第 6 章 并行接口技术

中国地质大学远程教学

6.2  并行接口电路

内部数据总线

外部数据引脚

锁存控制

锁存器缓冲器

D

C

D

C

D

C

Q

Q

Q

选通

(一)输入接口(数据部分)

Page 11: 第 6 章 并行接口技术

中国地质大学远程教学

内部数据总线

外部数据引脚

选通

6.2  并行接口电路(续 1 )

如果外设送来的数据都是静态数据,接口可以简化为缓冲器。

Page 12: 第 6 章 并行接口技术

中国地质大学远程教学

内部数据总线

外部数据引脚

锁存控制

D

CQ

D

CQ

D

CQ

读数据

6.2  并行接口电路(续 2 )(二)输出接口(数据部分)

Page 13: 第 6 章 并行接口技术

中国地质大学远程教学

内部数据总线

外部数据引脚

锁存控制

D

CQ

D

CQ

D

CQ

6.2  并行接口电路(续3 )

如果送给外设的数据都是静态数据,接口可以简化为锁存器。

Page 14: 第 6 章 并行接口技术

中国地质大学远程教学

6.2  并行接口电路(续 4 )

74LS244

+5V10K x 8

G1 G2

数据总

线

CS

RD

(三)实例开关状态输入接口电路

74LS244 是双 4 位的三态缓冲器,由 G1 和 G2 各控制 4 位的选通。注意:电阻用来限制输入电流。

Page 15: 第 6 章 并行接口技术

中国地质大学远程教学

+5V

74LS373

300 x 8

LE OE

数据总

线

CS

WR

6.2  并行接口电路(续5 )

74LS373 是 8 位的三态锁存器,由 LE 控制锁存, OE 控制选通。注意:电阻用来限制输入电流。

发光二极管输出接口电路

Page 16: 第 6 章 并行接口技术

中国地质大学远程教学

6.3  可编程并行通讯接口芯片 8255A

8255A 是 INTEL 系列的并行接口芯片,由于它是一种可编程的外部接口部件,通常作为微机系统总线与外部设备的接口控制部件,可通过软件来设置芯片的工作方式,用 8255A 连接外部设备时,通常不需要附加外部电路,给使用带来很大的方便。

IBM PC 就是采用 8255A 与键盘、扬声器等其他外设进行接口。

40PIN 、 DIP封装,芯片体积大,设计简单的系统通常不用。

在目前的主板中,功能已经集成在芯片组中,但使用和编程与 8255A完全一致。

Page 17: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.1   8255A 内部结构

Page 18: 第 6 章 并行接口技术

中国地质大学远程教学

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 输出控制信号和输入状态信号。

Page 19: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.1   8255A 内部结构(续 2 )8255A 内部组成( 2 ):

A组控制和 B组控制 这两组控制电路一方面接收芯片内部总线上的控制字,一方面接

收来自读 / 写控制逻辑电路的读 / 写命令,由此决定两组端口的工作方式和读写操作。

A组控制电路控制端口 A 和口 C 的高 4 位( PC7~PC4 )的工作方式和读 / 写操作。

B组控制电路控制端口 B 和口 C 的低 4 位( PC3~PC0 )的工作方式和读 / 写操作。

Page 20: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.1   8255A 内部结构(续 3 )

读 / 写控制逻辑电路 读 / 写控制逻辑电路负责管理 8255 的数据传输过程。它接收 CS 及来自

系统地址总线 A1 , A0 ( 8086 系统中为 A2 , A1 )和控制总线的输入信号 RESET , WR , RD ,将这些信号组合后,得到对 A组控制部件和 B组控制部件的控制命令,并将命令发送给这两个部件,以完成对数据、状态信息和控制信息的传输。

数据总线缓冲器 8255 的数据总线缓冲器是双向三态的 8 位数据缓冲器,通过它直接与

系统的数据总线相连。输入数据、输出数据、 CPU 发给 8255 的控制字都是通过这个缓冲器传送的。

8255A 内部组成( 3 ):

Page 21: 第 6 章 并行接口技术

中国地质大学远程教学

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 口:输入有缓冲器,输出有锁存器和缓冲器。

说明:

Page 22: 第 6 章 并行接口技术

中国地质大学远程教学

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

Page 23: 第 6 章 并行接口技术

中国地质大学远程教学

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 个端口,规定如下:

信号说明:

Page 24: 第 6 章 并行接口技术

中国地质大学远程教学

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 。

Page 25: 第 6 章 并行接口技术

中国地质大学远程教学

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 的控制信号和传输动作的对应关系

Page 26: 第 6 章 并行接口技术

中国地质大学远程教学

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 。

Page 27: 第 6 章 并行接口技术

中国地质大学远程教学

对 A1A0=11 的端口写入 D7=1 的数据1. 工作方式控制字:6.3.3   8255A 控制字(续 1 )

Page 28: 第 6 章 并行接口技术

中国地质大学远程教学

2. 端口 C 置 1/ 置 0 控制字: 对 A1A0=11 的端口写入 D7=0 的数据表示对口 C 进行位操作。(注意:

对 A1A0=10 的端口操作表示对 C 口进行字节操作。)

6.3.3   8255A 控制字(续 2 )

Page 29: 第 6 章 并行接口技术

中国地质大学远程教学

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

Page 30: 第 6 章 并行接口技术

中国地质大学远程教学

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

Page 31: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.4   8255A 工作方式

1. 工作方式 0 :基本的输入 / 输出方式。 A 口、 B 口、上 C 口、下 C 口都可以独立设置作为输入或输出使用。 适合用于无条件或查询式传送。

2. 工作方式 1 :应答式输入输出方式。 A 口、 B 口可以分别作为数据口工作在方式 1 。

需要使用 C 口中特定的引脚作为选通和应答使用。 C 口中其余的引脚仍可工作在方式 0 ,定义为输入或输出使用。

适合用于中断式传送和程序查询方式 I/O 传送。

Page 32: 第 6 章 并行接口技术

中国地质大学远程教学

外设响应信号表示外设已经接收到数据

输出缓冲器满信号表示 CPU已经输出了数据

中断允许触发器

PC6

PC7

PC3

PA7~PA0

INTEA

OBFA

INTRA

ACKA

A 口、方式 1 、输出

D7~D0

WR

中断请求信号请求 CPU再次输出数据

6.3.4   8255A 工作方式(续 1 )图例 1

Page 33: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.4   8255A 工作方式(续 2 )

说明: 当 CPU向端口 A 输出数据以后,在 WR 的上升沿使 OBFA变

为低电平。 当外设接收到数据以后,发出一个负脉冲 ACKA 送给 8255A ,

使 OBFA变为高电平。 ACKA 和 OBFA都变为高电平以后,如果 INTEA允许,则 82

55A 发出中断请求信号,以便使 CPU再次输出数据。 WR 的下降沿使 INTRA恢复低电平。

可以通过对 PC6 的置位和复位来设置 INTEA 。

Page 34: 第 6 章 并行接口技术

中国地质大学远程教学

图例 2

数据选通信号表示外设已经准备好数据

输入缓冲器满信号表示 A 口已经接收数据

中断请求信号请求 CPU 接收数据中断允许触发器

PC4

PC5

PC3

PA7~PA0

INTEA

IBFA

INTRA

STBA

A 口、方式 1 、输入

RD

D7~D0

6.3.4   8255A 工作方式(续 3 )

Page 35: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.4   8255A 工作方式(续 4 )

说明: 当外设数据准备好以后,发出一个负脉冲选通信号 STB ,使 A 口打

开锁存器接收数据。 A 口接收到数据以后,发出 IBFA ,由 RD 信号的上升沿使 IBFA恢复低电平。

STB 和 IBFA都变为高电平以后,如果 INTEA允许,则 8255A 发出中断请求信号,以便使 CPU 接收数据。 RD 信号的下降沿使 INTRA

恢复低电平。 可以通过对 PC4 的置位和复位来设置 INTEA 。

Page 36: 第 6 章 并行接口技术

中国地质大学远程教学

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 。

Page 37: 第 6 章 并行接口技术

中国地质大学远程教学

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

的输入和输出的叠加。

Page 38: 第 6 章 并行接口技术

中国地质大学远程教学

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 。

Page 39: 第 6 章 并行接口技术

中国地质大学远程教学

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 。

Page 40: 第 6 章 并行接口技术

中国地质大学远程教学

8255A

PB1

PB0驱动电路

扬声器GATE2

CLK2时钟信号

与门

8253 的 2# 通道

PA7~PA0

PB7

PB6

键盘扫描码

输出 0 ,使 A 口接收到的是键盘数据输出 1 ,给键盘送时钟信号

键盘和扬声器控制示意图

6.3.5   8255A 在 PC 机中的应用(续 2 )

Page 41: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.6  打印机并行接口

打印机并行接口标准

打印机并行接口通常采用 Centronics 并行接口标准,共有 36

个引脚信号。其说明见表 1 。

在系统连接时,打印机一端是 36 芯 D型插座,主机一端是 2

5 芯 D型插座。主机与打印电缆之间的连线见表 2 。

Page 42: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.6  打印机并行接口(续 1 )

引脚 信号名称 方向 功能说明

1 STROBE 主机 打印机 数据选通脉冲(低电平接收数据)

2~9 D0~D7 主机 打印机 8 根数据线

10 ACKNLG 主机 打印机 打印机应答信号,表示已接收到数据

11 BUSY 主机 打印机 打印机忙,不能接收新的数据

12 PE 主机 打印机 缺纸

13 SLCT 主机 打印机 表示打印机能工作

表 1 Centronics 并行打印接口标准

Page 43: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.6  打印机并行接口(续 2 )

引脚 信号名称 方向 功能说明

14AUTO FEEDXT

主机 打印机 打印一行后,自动走纸

15 未用

16 逻辑地

17 机壳地

18 未用

19~30 GND 地

31 INIT 主机 打印机 初始化打印机

表 1 Centronics 并行打印接口标准(续 1 )

Page 44: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.6  打印机并行接口(续 3 )

引脚 信号名称 方向 功能说明

32 ERROR 主机 打印机 无纸、脱机、出错指示

33 地

34 未用

35 电源 +5V

36 SLCT IN 主机 打印机 允许打印机工作

表 1 Centronics 并行打印接口标准(续 2 )

Page 45: 第 6 章 并行接口技术

中国地质大学远程教学

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 主机与打印机接口信号连线表

Page 46: 第 6 章 并行接口技术

中国地质大学远程教学

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 主机与打印机接口信号连线表(续)

Page 47: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.7  打印机接口编程实例 打印机适配器端口直接编程

查询方式

中断方式

BIOS 功能调用

在 BIOS 系统中提供了打印机管理程序,用户可使用 INT 17H

功能调用,完成字符打印。

DOS 功能调用

用户可调用 INT 21H 的 5 号子功能,完成字符打印功能。

Page 48: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.7  打印机接口编程实例(续1 )

查询方式 例 1 : 8255A 作为连接打印机的接口,工作在方式 0 ,输出。

工作过程:需要打印时,查询打印机是否忙?不忙时通过 8255A 发送一个字符给打印机。为使打印机接收数据,要生成一个选通脉冲(初始值是 1 ,置 0 ,再置 1 )。

Page 49: 第 6 章 并行接口技术

中国地质大学远程教学

8088

8255A 打印机D7~D0

PA

PC6

PC2

STB

BUSY

查询式打印机接口示意图

例题 1 题解:

A 口:方式 0 、输出数据下 C 口:方式 0 、 PC2 输入状态信号上 C 口:方式 0 、 PC6 输出选通信号

方式控制字为:10000001B 。

为增强驱动能力,可加门电路驱动6.3.7  打印机接口编程实例(续 2 )

Page 50: 第 6 章 并行接口技术

中国地质大学远程教学

≥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

……

Page 51: 第 6 章 并行接口技术

中国地质大学远程教学

6.3.7  打印机接口编程实例(续 4 )

中断方式

例 2 :使用 8255A 的工作方式 1 ,设计中断方式的打印机接口。

工作过程:在主程序中设置中断向量,开放中断( IF 标志、 825

9A 的 IMR 、 8255A 的 INTE )。在中断服务程序中,发送打印字符、选通脉冲。

Page 52: 第 6 章 并行接口技术

中国地质大学远程教学

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 )

Page 53: 第 6 章 并行接口技术

中国地质大学远程教学

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 ;该程序做了简化处理。

Page 54: 第 6 章 并行接口技术

中国地质大学远程教学

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

Page 55: 第 6 章 并行接口技术

中国地质大学远程教学

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 ;开中断

Page 56: 第 6 章 并行接口技术

中国地质大学远程教学

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

说明:打印结束也可以在中断服务程序中进行判断。