第8章并行通信接口技术

上传人:宝路 文档编号:47149813 上传时间:2018-06-30 格式:PPT 页数:39 大小:1.09MB
返回 下载 相关 举报
第8章并行通信接口技术_第1页
第1页 / 共39页
第8章并行通信接口技术_第2页
第2页 / 共39页
第8章并行通信接口技术_第3页
第3页 / 共39页
第8章并行通信接口技术_第4页
第4页 / 共39页
第8章并行通信接口技术_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《第8章并行通信接口技术》由会员分享,可在线阅读,更多相关《第8章并行通信接口技术(39页珍藏版)》请在金锄头文库上搜索。

1、第8章 并行通信接口技术n并行传输是指多位数据通过多根传输线同时进行的 传输。并行传输以计算机的字长为传输单位(如8位 、16位或32位),一次传送1个字长的数据。这种方 式适合于外部设备与微机之间进行近距离、大量和 快速的信息交换,例如:微机与并行接口打印机、 硬盘驱动器之间的数据交换。本章要点n简单并行接口电路的构成方法n可编程并行接口芯片8255A的工作方式n可编程并行接口芯片8255A的编程n用8255A实现微处理器与打印机的接口n微处理器与键盘的接口方法8.1 简单的并行接口电路8.1.1 锁存器74LS37374LS373是一种通用 的锁存器芯片,常用于 地址信号的锁存,它实 质上

2、是由8个带三态缓 冲输出的D触发器组成 ,其功能示意图如图8- 1所示 图8-1 74LS373功能示意图74LS244是一种通用的带三 态输出的8位单向缓冲器芯 片,常用于数据的输入控制 和总线驱动, 1A11A4和 2A12A4是2组4位数据输入 端, 1Y11Y4和2Y12Y4是 相应的两组输出端。图8-2 74LS244功能示意图8.1.2 缓冲器74LS24474LS245是一种通用 的8位双向总线数据收发 器芯片,常用于控制两组 总线数据之间传递。假设 A总线与芯片的A0A7相 连,B总线与芯片的 B0B7相连,则芯片既可 以控制数据从A总线到B 总线传递,也可以控制数 据从B总线

3、到A总线传递 。图8-3 74LS245功能示意图8.1.3 双向数据收发器74LS2458.1.4 应用举例 来看1个简单并行接口控制的实例。如图8-4所示,一 组8位开关S0S7作为输入设备通过缓冲器74LS244与CPU相 连,图中表示将74LS244的和连接在一起得到的控制端;同 时一组8位发光二极管LED0LED7作为输出设备通过锁存器 74LS373以及反相器74LS06与CPU相连。图中粗实线表示成 组的数据总线D0D7或地址总线A0A15。设经过译码得到的 地址是8000H,由图中的控制逻辑可见,74LS244和74LS373 共用此地址,区别在于74LS244控制的是输入,而

4、74LS373 控制的是输出。假设我们想用8位开关S0S7控制8位发光二极管 LED0LED7的点亮或熄灭,结合图8-4,可编写如下汇编程 序段以实现控制功能。其中延时子程序delay没有给出 .next:mov dx,8000h;DX指向数据端口in al,dx;从输入端口读开关状态not al ;反相out dx,al;送输出端口显示call delay ;调子程序延时jmp next;重复图8-4 简单并行接口控制实例8.2 可编程并行接口芯片8255An8255A有24个输入/输出引脚,这些引脚可以分 为2组进行控制,也可以定义为3个并行的数据 端口,作为数据输入/输出端口时,可以通过

5、编 程设置为3种不同的工作方式。图8-5 8255A芯片引脚及功能图(a)8255A引脚图(b)8255A功能示意图8255的3个8位的数据端口分别称为A口、B口和 C口,共24个I/O引脚,各端口共有3种输入输出工作 方式,分别是:基本输入/输出方式(A/B/C口)、 选通输入或选通输出方式(A/B口)和双向选通工作 方式(A口)。根据内部控制逻辑,这3个数据端口 又可以被分为两组:A组和B组。(1) 3个数据端口A,B,C。A口:是一个独立的8位I/O口,它的内部有对数 据输入/输出的锁存功能。B口:也是一个独立的8位I/O口,仅对输出数据 的锁存功能 C口:可以看作是一个独立的8位I/O

6、口;也可以 看作是两个独立的4位I/O口。也是仅对输出数据进行 锁存 A口:是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。(2) A组和B组的控制电路。这是两组根据CPU命令控制8255A工作方式的电路 ,这些控制电路内部设有控制寄存器,可以根据CPU 送来的编程命令来控制8255A的工作方式,也可以根 据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。(3) 数据总线缓冲器。它是8位的双向的三态缓冲器。作为8255A与系统 总线连接的界面,输入/输出的数据,CPU的编程命令 以及外设通过8255A传

7、送的工作状态等信息,都是通 过它来传输的。A口:是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。(4) 读/写控制逻辑读/写控制逻辑电路负责管理 8255A的数据传输过程。它接收片 选信号CS#及系统读信号RD#、写 信号WR# 、复位信号RESET,还 有来自系统地址总线的口地址选 择信号A0和A1。8255A内部共有4 个端口:A口,B口,C口和控制 口,A0和A1两个引脚信号的不同 组合可以选中不同的端口。 CS#、RD#、WR#、A1和A0 这几个信号的组合决定了8255A的 所有具体操作,如表8-1所示。表8-1 8255A的操作功能表CS# RD#WR#A1 A0操

8、作数据传送方式0 0 1 0 0读 A 口A口数据 数据总线0 0 1 0 1读 B 口B口数据 数据总线0 0 1 1 0读 C 口C口数据 数据总线0 1 0 0 0写 A 口数据总线 数据 A口0 1 0 0 1写 B 口数据总线 数据 B口0 1 0 1 0写 C 口数据总线 数据 C口0 1 0 1 1写控制口数据总线 数据 控制 口8255A有3种工作方式:方式0、方式1和方式2。方式0:简单输入/输出查询方式;适用于A、B、C3个端 口。方式1:选通输入/输出中断方式;适用于A 、B3个端口。方式2:双向输入/输出中断方式;仅A端口适用。 2方式1:选选通输输入/输输出方式方式1

9、是一种选通I/O方式,A口和B口仍作为2个独立的8位I/O 数据通道,可单独连接外设,通过编程分别设置它们为输入或输 出。而C口不再作为独立的8位数据端口使用,因为其中的6位要 被征用,分别作为A口和B口的应答联络线;其余2位仍可工作在 方式0,可通过编程设置为输入或输出。(1) 方式1的输入组态和应答信号的功能。图8-7给出了8255A 的A口和B口方式1的输入组态。8.2.2 8255A的工作方式图8-8 方式1的输出组态图8-7 方式1的输入组态C口的PC3-PC5用作A口的应答联络线,PC0-PC2则作用B口的 应答联络线,余下的PC6和 PC7则可作为方式0使用。 应答联络线的功能如

10、下: STB#:选通输入。用来将外设输入的数据存入8255A的输入缓 冲器。 IBF:输入缓冲器满。可作为的应答信号,。 INTR:中断请求信号。INTR置位的条件是为高电平, IBF为 高电平,且INTE为高。 INTE:中断允许信号。对A口来讲,是由PC4置位来实现,对 B口来讲,则是由PC0置位来实现。事先将其置位。 (2) 方式1的输出组态和应答信号功能。图8-8给出了8255A的A 口和B口方式1的输出组态。C口的PC3、PC6、PC7用作A口的应答联络线,PC0-PC2则作 用B口的应答联络线,余下的PC4和PC5则可作为方式0使用。 应答联络线的功能如下: OBF#:输出缓冲器满

11、。当CPU已将要输出的数据送入8255A 时有效,用来通知外设可以从8255A取数。 ACK#:响应信号。作为对的响应信号,表示外设已将数据从 8255A的输出缓冲器中取走。 INTR:中断请求信号。INTR置位的条件是ACK为高且为高 且INTE为高。 INTE:中断允许。对A口来讲,由PC6的置位来实现,对B口 仍是由PC2的置位来实现。方式2是一种双向工作方式,如果一个并行外部设 备既可以作为输入设备,又可以作为输出设备,并 且输入输出动作不会同时进行。如图8-9所示,方 式2将方式1的选通输入与选通输出功能组合成一个 双向数据端口,可以发送数据和接收数据。只有端 口A可以工作于方式2,

12、需要利用端口C的5个信号 线,其作用与方式1相同。而C口余下的PC0PC2正 好可以充当B 口方式1的应答线,若B口不用或工作 于方式0,则这三条线也可工作于方式0。3方式2:双向输入/输出方式方式2的数据输入过程与方式1的输入方式一样 ;方式2的数据输出过程与方式1的输出方式有 一点不同:数据输出时8255A不是在OBF#有效 时向外设输出数据,而是在外设提供响应信号 ACK#有效时才送出数据。图8-9 方式2组态8.2.3 8255A的编程图8-10 8255A的控制字格式对8255A的编程涉及到 两个内容:写控制字 设置工作方式;置位 (复位)C口的指定位。 它们均须以命令字的方 式写入

13、8255的控制口。 (1) 控制字格式。控制字 要写入8255A的控制口 ,写入控制字之后, 8255A才能按指定的工 作方式工作。8255A的 控制字格式与各位的功 能如图8-10所示。n例8-1 某系统要求使用8255A的A口方式0输入,B口方式0输 出,C口高4位方式0输出,C口低4位方式0输入。设控制口 的地址为fffeh。n根据图8-6,控制字为: 10010001B,即91H。n初始化程序为:n MOV AL, 91Hn OUT 0fffeh,AL(2) C口的置位/复位功能。只有C口才有,它是通过向控制 口写入按指定位置位/复位的控制字来实现的。C口的这个 功能可用于设置方式1的

14、中断允许,可以设置外设的启/停等 。按位置位/复位的控制字格式如图8-11所示例8-2 A口方式2,要求发两个中断允许,即PC4和PC6均需 置位。B口方式1要求使PC2置位来开放中断。初始化程序 可补充完整如下: MOV AL,0C4H OUT CTRL_PORT,AL ;设置工作方式 MOV AL,09H OUT CTRL_PORT,AL ;PC4置位,A口输入允许中断 MOV AL,ODH OUT CTRL_PORT,AL ;PC6置位,A口输出允许中断 MOV AL, 05H OUT CTRL_PORT,AL ;PC2置位;B口输出允许中断8.3 8255A应用举例 8.3.1 用82

15、55A实现微处理器与打印机的接口 图8-12 打印机数据传输 时序普通的打印机一般通过一个并行接口与 主机相连。打印机的并行接口中,最常 用的接口信号线有10根,包括8根数据 线D7D0、选通信号和打印机“忙”信号 BUSY,如图8-12所示。是打印机的控 制信号,当其为低电平(有效)时,要 打印的数据就可通过数据线D7D0送入 打印机的数据缓冲区内,打印机就可以 打印数据了。BUSY是打印机的状态信 号,打印机数据缓冲区满时,会置 BUSY信号线为高电平(有效),通知 主机停止传送数据。通常打印机还有一 根响应信号,当打印机处理完数据缓冲 区内的数据后使有效,通知主机可以发 下一个数据,同时

16、使BUSY失效。打印 机的工作时序如图8-12所示。例8-3 利用8255A的A口方式0与微型打印机相连,将内存缓冲 区BUFF中的字符打印输出。试完成相应的软硬件设计。( CPU为8088)硬件连线如图8-13所示。用8255A的方式0实现。 由PC0充当打印机的选通信号,通过对PC0的置位/复位来产生 选通。同时,由PC7来接收打印机发出的“BUSY”信号,作为查 询能否输出的条件。 8255A的控制字为:10001000,即88H。A口方式0,输出;C口 高位方式0输入,低位方式0输出。 PC0置位:00000001,即01H。 PC0复位:00000000,即 00H。 设8255A的4个口地址设依次为:00H、01H、02H和03H。图8-13 打印机通过8255A接口与主机连线

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号