第8章 并行通信和并行接口 8255A
第8章 并行通信和并行接口 8255A
本章重点〗本章重点掌握计算机系 统并行通信的概念;并行接口 Inte8255A的结构功能、三种工作方 式和应用。 本章难点】难点是并行接口 Inte8255A的工作方式选择及特点, 8255A与8086系统的连接应用
【本章重点】本章重点掌握计算机系 统并行通信的概念;并行接口 Intel8255A的结构功能、三种工作方 式和应用。 【本章难点】难点是并行接口 Intel8255A的工作方式选择及特点, 8255A与8086系统的连接应用
8.1并行通信与并行接口8255A 8.1.1并行通信 所谓通信就是计算机与外部设备或者计算机之间的信息交 换、数据传输,在计算机中,通信是通过输入输出(I/O)接 口电路来实现的与外部设备或者其他的计算机数据传输及信息 交换的。计算机的两种基本通信方式是并行通信和串行通信。 并行通信是指将构成一组数据的各位同时进行传送的一种 通信方式,并行通信强调的是被传送的各位同时输入或输出, 例如一组8位数据或16位数据的同时传入或传出 并行通信的优点是传输速度快,信息率高,缺点是电缆耗 损高。由于同时传送所需的每一位二进制位都需要一根通信电 缆,在进行长距离传输时,电缆的损耗会成为突出的问题,而 且传输的可靠性随着距离的增加而下降,因此并行通信适用于 数据传输率较高、传输距离较短的场合
8.1.1 并行通信 所谓通信就是计算机与外部设备或者计算机之间的信息交 换、数据传输,在计算机中,通信是通过输入输出(I/O)接 口电路来实现的与外部设备或者其他的计算机数据传输及信息 交换的。计算机的两种基本通信方式是并行通信和串行通信。 并行通信是指将构成一组数据的各位同时进行传送的一种 通信方式,并行通信强调的是被传送的各位同时输入或输出, 例如一组8位数据或16位数据的同时传入或传出。 并行通信的优点是传输速度快,信息率高,缺点是电缆耗 损高。由于同时传送所需的每一位二进制位都需要一根通信电 缆,在进行长距离传输时,电缆的损耗会成为突出的问题,而 且传输的可靠性随着距离的增加而下降,因此并行通信适用于 数据传输率较高、传输距离较短的场合。 8.1 并行通信与并行接口8255A
8.1.2并行I/0接口 实现并行通信的接口称为并行接口。一个并行接口可以设计成负 责输入信息的输入接口,也可以设计成负责输出信息的输出接口,如果 设计成同时具有输入/输岀功能的接口就是所谓的双向通信接口。在计 算机系统中连接打印机的接口、显示器接口就是输出接口;连接磁盘驱 动器的接口是双向接口 并行接口可以分为不可编程的硬件接口和可编程接口。不可编程 的硬件接口是接口的工作方式及功能是由硬件连接来设定,不能用软件 编程的方法加以改变的,采用这种方式完成的硬件电路的连接设计,接 口的工作方式就被固定下来,例如8位双向三态缓冲驱动器74LS245、8 位三态数据锁存器74LS373等。所以多用于组成功能比较简单的接口电 路,如前面所讲述开关量信号的读取、LE发光管的控制等。可编程接 口电路一般由可编程通用接口芯片组成,如有 Zilog公司的Z80PI0, Intel的8255A等。这些芯片除了具有硬件连接接口的性能外,最主要的 就是具有可选择性。如选择端口的哪一位或哪几位作为输入,哪一位或 哪几位作为输岀;选择端口与CPU之间采用哪种方式传送数据等,都可 由编程人员通过编程来进行设定。因而可编程接口具有广泛的适应性和 很高的灵活性,在微机系统中得到广泛的应用
8.1.2 并行I/O接口 实现并行通信的接口称为并行接口。一个并行接口可以设计成负 责输入信息的输入接口,也可以设计成负责输出信息的输出接口,如果 设计成同时具有输入/输出功能的接口就是所谓的双向通信接口。在计 算机系统中连接打印机的接口、显示器接口就是输出接口;连接磁盘驱 动器的接口是双向接口。 并行接口可以分为不可编程的硬件接口和可编程接口。不可编程 的硬件接口是接口的工作方式及功能是由硬件连接来设定,不能用软件 编程的方法加以改变的,采用这种方式完成的硬件电路的连接设计,接 口的工作方式就被固定下来,例如8位双向三态缓冲驱动器74LS245、8 位三态数据锁存器74LS373等。所以多用于组成功能比较简单的接口电 路,如前面所讲述开关量信号的读取、LED发光管的控制等。可编程接 口电路一般由可编程通用接口芯片组成,如有Zilog公司的Z80PIO, Intel的8255A等。这些芯片除了具有硬件连接接口的性能外,最主要的 就是具有可选择性。如选择端口的哪一位或哪几位作为输入,哪一位或 哪几位作为输出;选择端口与CPU之间采用哪种方式传送数据等,都可 由编程人员通过编程来进行设定。因而可编程接口具有广泛的适应性和 很高的灵活性,在微机系统中得到广泛的应用
8.2并行I/0接 PA 3333 23443 PA 口龙片8255A 数据总 DDDDDDD 0 PA,A口 线 38 29 8.2.18255A的外部 18 27 PB 引脚及内部结构 1.82540外部引脚「=~到三叫 8255A的外部引脚布局如 WR 图8-1所示。它有40根引脚 RESET 15 PC 可分为与系统总线(如8086) 16 PC 连接的引脚和与外部设备连接 26 的引脚。 7321 C 图8-18255A的外部引脚
8.2 并行I/O接 口芯片8255A 8.2.1 8255A的外部 引脚及内部结构 1. 8255A的外部引脚 8255A的外部引脚布局如 图8-1所示。它有40根引脚, 可分为与系统总线(如8086) 连接的引脚和与外部设备连接 的引脚。 图8-1 8255A的外部引脚
~D为双向数据信号线,用于82554与系统数据线相连,传送 CPU与8255A之间的数据、控制信息、状态信 (输入):8255A读信号,低电平有效。当有效时,CPU从8255A 的指定端口读取数据或状态信息。通常接系统总线的信号 (输入):8255A写信号,低电平有效。当有效时,CPU向8255A 指定端口写入控制字或数据。通常接系统总线的信号。 (输入):片选信号,当它为低电平(有效)时,才能选中该 8255A芯片,使8255A正常工作 A、A。(输入)为片内地址选择信号。当有效选中8255A时,由 AA的编码来决定是选中A口、B口、C口,还是选中控制字寄存器,如 表8-1所示 选中对象 0 A端口 B端口 0 C端口 控制字寄存器 未选中
D7~D0为双向数据信号线,用于8255A与系统数据线相连,传送 CPU与8255A之间的数据、控制信息、状态信息。 (输入):8255A读信号,低电平有效。当有效时,CPU从8255A 的指定端口读取数据或状态信息。通常接系统总线的信号。 (输入):8255A写信号,低电平有效。当有效时,CPU向8255A 指定端口写入控制字或数据。通常接系统总线的信号。 (输入):片选信号,当它为低电平(有效)时,才能选中该 8255A芯片,使8255A正常工作。 A1、A0(输入)为片内地址选择信号。当有效选中8255A时,由 A1 A0的编码来决定是选中A口、B口、C口,还是选中控制字寄存器,如 表8-1所示 CS A1 A0 选中对象 0 0 0 A端口 0 1 0 B端口 1 0 0 C端口 1 1 0 控制字寄存器 ╳ ╳ 1 未选中
通常A1、A分别接系统的A1、A,它们与一起来决定8255 的接口地址。 RESET(输入):复位信号,高电平有效。当 RESET信号到 来时,8255A所有内部寄存器均被清零。复位后,8255的A口 B口、C口均被定义为输入状态。 PA2~PA(双向):8255AA口的输入输出信号线,用于 8255A与外设进行数据传送。这8条引线是输入、输出还是双向 (输入、输出)方式由软件编程决定 PB~PB0(双向):8255AB口的输入输出信号线,用于 8255A与外设进行数据传送。这8条引线是输入还是输出方式可 由软件编程决定。 PC2~PC(双向):8255C口的输入输出信号,可用于 8255A与外设进行数据的输入或输出线,也可用作控制信号的 输出或状态信号的输入线
通常A1、A0分别接系统的A1、A0,它们与一起来决定8255 的接口地址。 RESET(输入):复位信号,高电平有效。当RESET信号到 来时,8255A所有内部寄存器均被清零。复位后,8255的A口、 B口、C口均被定义为输入状态。 PA7 ~PA0(双向):8255A A口的输入输出信号线,用于 8255A与外设进行数据传送。这8条引线是输入、输出还是双向 (输入、输出)方式由软件编程决定。 PB7 ~PB0(双向):8255A B口的输入输出信号线,用于 8255A与外设进行数据传送。这8条引线是输入还是输出方式可 由软件编程决定。 PC7 ~PC0 (双向):8255A C口的输入输出信号,可用于 8255A与外设进行数据的输入或输出线,也可用作控制信号的 输出或状态信号的输入线
2.8255A的内部结构 8255A的内部结构框图如图8-2所示,它由四个部分组成: (1)输入输出接口 从图8-2中可以看到,左边的信号与系统总线连接,而右边是与外设相连接的3个 口,即PA、PB、PC,3个口均为8位,将这三个口分为两组:A组(A口的8位和C口的高4 位)、B组(B口的8位和C口的低4位),每个端口都可由程序设定为各种不同的工作方 式 端口A(PA口)有一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器,所以, 用端口A作为输入或输出时,数据均受到锁存; 端口B(PB口)有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器; 端口C(PC口)有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器 (2)数据总线缓冲器 数据总线缓冲器是8位双向三态缓冲器,8255A与系统总线之间的命令、数据、 控制字等信息都是通过它来完成的,它是系统总线与8255A之间交换信息的必经之路。 (3)读/写控制逻辑 用来管理数据信息、控制字和状态字的传送,地址线A1、A0,片选信号()和读、 写控制信号(、),完成内部端口的选择和读写操作。 (4)A组和B组控制电路 这两组控制电路根据CPU发出的方式控制字来控制8255A的工作方式,每个控制组 都接受来自读/写控制逻辑的命令,接受来自内部数据线的控制字,然后向各有关端口 发出相应的控制命令
2.8255A的内部结构 8255A的内部结构框图如图8-2所示,它由四个部分组成: (1)输入输出接口 从图8-2中可以看到,左边的信号与系统总线连接,而右边是与外设相连接的3个 口,即PA、PB、PC,3个口均为8位,将这三个口分为两组:A组(A口的8位和C口的高4 位)、B组(B口的8位和C口的低4位),每个端口都可由程序设定为各种不同的工作方 式。 端口A(PA口)有一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器,所以, 用端口A作为输入或输出时,数据均受到锁存; 端口B(PB口)有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器; 端口C (PC口) 有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。 (2)数据总线缓冲器 数据总线缓冲器是8位双向三态缓冲器, 8255A与系统总线之间的命令、数据、 控制字等信息都是通过它来完成的,它是系统总线与8255A之间交换信息的必经之路。 (3)读/写控制逻辑 用来管理数据信息、控制字和状态字的传送,地址线A1、A0,片选信号()和读、 写控制信号(、),完成内部端口的选择和读写操作。 (4)A组和B组控制电路 这两组控制电路根据CPU发出的方式控制字来控制8255A的工作方式,每个控制组 都接受来自读/写控制逻辑的命令,接受来自内部数据线的控制字,然后向各有关端口 发出相应的控制命令
A组 控制 PA→-PA A口(8位) A组 数据 8位内部数据总线K PC,PCA 总线 口(高4位) 缓冲 器 B组 H>PC3-PCo 口(低4位) RD WR 读/写 B组 B组 控制 控制 PB→PB 逻辑 B口(8位) RESET 图8-28255A的内部结构
图8-2 8255A的内部结构
8.2.28255A的工作方式 8255A有三种基本的工作方式,这些工作方式可用软件编程来指定。 方式0—基本输入/输出方式 方式1—选通输入/输出方式 方式2—双向输入/输出方式 1.方式0:基本输入输出工作方式 在方式0下,8255A与外设相连的三个端口均被定义为输入/输出传送方式,包括A 口的8条线、C口的高4位对应的4条线、B口的8条线、C口的8条线。因为上述4部分的输 入或输出是可以独立定义的,故它们输入输出有16种不同的组合。 8255A在方式0工作时,CPU可以采用无条件传输方式与8255交换数据,如果把C 口的两个部分用作控制和状态口,与外设的控制和状态端相连,CPU也可以通过对C 的读写实现A口与B口的査询工作方式。方式0仅有输出数据锁存功能,输入数据是不锁 存的。且在方式0下,C口还有按位置位和复位的功能。 概括地说,方式0的基本特点如下 (1)任何一个端口可以作为输入口,也可以作为输出口,各端口之间没有规定 必然的关系。 (2)各端口的输入或输出,可以有16种不同的组合,所以可以使用在多种不同 的场 方式0的使用的场合: 方式0的使用场合有两种,一种是同步传送,另一种视察寻访时传送
8.2.2 8255A的工作方式 8255A有三种基本的工作方式,这些工作方式可用软件编程来指定。 方式0---基本输入/输出方式 方式1---选通输入/输出方式 方式2---双向输入/输出方式 1.方式0: 基本输入/输出工作方式 在方式0下,8255A与外设相连的三个端口均被定义为输入/输出传送方式,包括A 口的8条线、C口的高4位对应的4条线、B口的8条线、C口的8条线。因为上述4部分的输 入或输出是可以独立定义的,故它们输入输出有16种不同的组合。 8255A在方式0工作时,CPU可以采用无条件传输方式与8255A交换数据,如果把C 口的两个部分用作控制和状态口,与外设的控制和状态端相连,CPU也可以通过对C口 的读写实现A口与B口的查询工作方式。方式0仅有输出数据锁存功能,输入数据是不锁 存的。且在方式0下,C口还有按位置位和复位的功能。 概括地说,方式0的基本特点如下: (1) 任何一个端口可以作为输入口,也可以作为输出口,各端口之间没有规定 必然的关系。 (2)各端口的输入或输出,可以有16种不同的组合,所以可以使用在多种不同 的场合。 方式0的使用的场合: 方式0的使用场合有两种,一种是同步传送,另一种视察寻访时传送