1、第8章 并行通信接口技术8.1 并行通信及接口基本概念实现计算机与外部设备进行并行通信的电路称为并行接口(电路)。并行通信方式是指同时使用多条数据线传输多位二进制数据,每一数据位数据独自占用一根数据线。在计算机系统中,并行通信一次可以传输8位或16位或32位数据。并行通信的特点是传输速度快,但不适合远距离传送。可编程并行I/O接口电路见教材图8-2。,并行接口电路的特点如下:1)并行接口电路设有片选信号和片内端口地址的选择信号;2)并行接口电路与外部设备的连接部分设有进行联络的应答信号; 3)可编程实现几个I/O通道端口与外部设备交换信息;4)并行接口电路可以实现程序传送方式或中断传送方式与外
2、部设备交换信息。,8.2. 可编程并行接口芯片8255AIntel可编程并行接口芯片8255A是通用并行I/O接口芯片。用户可编程选择多种操作方式,通用性强、使用灵活。8255A为CPU与外设之间提供并行输入输出通道,通过它CPU可直接与外设相连接。1 8255A基本性能: (1)8255A具有三个相互独立的、带有锁存或缓冲功能的输入/输出端口:端口A、端口B、端口C。 (2)A,B,C三端口可以联合使用,具有三种可编程工作方式:基本I/O方式、选通I/O方式、双向选通I/O方式。 (3)支持无条件传送方式、程序查询方式和中断传送方式完成CPU与外部设备之间的数据传送。 (4)可以编程实现对通
3、道C某一位的输入输出,具有比较方便的位操作功能。,2. 8255A的结构及其引脚功能8255A内部结构主要包括:输入输出数据端口A、端口B和端口C;内部A组控制和B组控制;读/写控制逻辑电路;数据总线缓冲器,8255A的内部结构可归类为三个部分:与CPU连接的接口部分、与外部设备连接接口部分及内部逻辑部分 见教材图8-7。8255A具有24条输入/输出引脚、为40脚双列直插式大规模集成电路。8255A芯片引脚见教材图8-8。,3 .8255A控制字8255A各端口可以有三种不同的工作方式和输入、输出及位控工作状态。需要由CPU编程设定在8255A内部已经定义好的控制字,并将其写入芯片的控制端口
4、。用户可以根据需要设置不同的控制字来实现不同的工作方式和工作状态.8255A定义了两种控制字:工作方式控制字:用来定义8255A端口的工作方式和输入输出工作状态。工作方式控制字各位的定义见教材图8-9。,。【例】已知8255A端口A的地址为4A00H(偶地址),端口A为输入口,方式1;端口B为输出口,方式0;端口C高4位输入,低4位输出。设置8255A工作方式控制字并编写初始化程序。则端口B、端口C、控制口的地址分别为4A02H、4A04H、4A06H。 控制字为:10111000B=0B8H 初始化程序:MOV DX, 4A06HMOV AL, 0B8HOUT DX, AL,专用于端口C的置
5、位、复位控制字。设置端口C置位/复位控制字,可以对端口C的各个位进行控制。置位/复位控制字格式见教材8-10。 由于两个控制字都必须写入同一个控制口,所以控制字规定由最高位D7位用来区分工作方式控制字(D7=1)和置位、复位控制字(D7=0)。,【例】已知8255A端口地址为4A00H、4A02H、4A04H、4A06H。设置端口C的PC7引脚输出高电平1,对外部设备进行位控。置位/复位控制字为:00001111B=0FH初始化程序:MOV DX, 4A06HMOV AL, 0FHOUT DX, AL,4. 8255A工作方式1)方式0方式0为8255A基本I/O方式。它适用于工作在无需握手信
6、号的简单输入输出应用场合。2)方式1方式1也称选通式输入/输出方式。在方式1下,输入口或输出口都要在选通信号(应答)控制下实现数据传送,端口A或B用作数据口。端口C的部分引脚由8255A内部定义用作位控应答信号或中断请求信号。在方式1下,CPU可以通过程序查询方式或中断方式进行数据传送。,例:A口、B口均工作在方式1输入状态下。允许A口发中断请求,禁止B口发中断请求。控制口地址为83H,初始化程序为:MOV AL, 10110110BOUT 83H, ALMOV AL, 00001001B ;OUT 83H, ALMOV AL, 00000100BOUT 83H, AL,(3)方式2端口A的P
7、A7-PA0作为双向的数据总线,外设既能通过端口A发送数据,又能接收数据;端口A在输入和输出时均具有锁存功能;CPU可以通过程序查询方式或中断方式进行数据传送。方式2也称双向选通输入/输出方式,该方式仅适用于端口A,各端口各种工作方式下功能关系:方式0:三个端口可以任意选择作输入口或输出口,由于芯片内部没有定义控制和状态信号,用户可以任意自行设定端口C的各位的含义;方式1:定义了端口C的某些位作为控制及状态信息,该方式只适用于端口A和端口B作为选通输入口或输出口;方式2:仅适用于端口A为双向选通输入/输出,定义了端口C的某些位作为控制及状态信息,而端口B的工作方式不受影响。,5.8255A初始化编程8255A在使用前必须进行初始化编程。即将相关的方式控制字和C口置位/复位控制字写入8255A控制端口 注意:两种不同类型的控制字写入同一个控制端口。初始化步骤如下:确定8255A控制端口地址,根据要求设计好工作方式控制字写入控制端口。在方式1或方式2下,设置中断允许控制位,将其写入8255A的控制口。,注意,不同的工作方式、不同的端口,其中断允许控制位不一定相同。例如:工作在方式1下,A口输入时的中断允许控制位为PC4,允许中断的控制字为00001001B;工作在方式2下,A口输入时的中断允许控制位为PC6,允许中断的控制字为00001101B。,本章小结: 作业:END,