微机原理与接口技术第8章ppt课件

第8章 串行和并行接口,8.1 通用接口及其功能,CPU访问外设,与外设进行数据交换,必须通过接口电路。接口中数据的传送方式有无条件传送方式、状态查询传送方式、程序中断传送方式和直接数据通道传送 DMA等。

随着大规模集成电路的发展,将接口电路集成在一块芯片上,接口芯片具有接口电路中的所有功能,即接口中含有输入输出数据的通道,能对输入输出数据进行缓冲,能够协调CPU和输入输出设备的数据传送,对输入输出设备进行选择和信息转换等。

接口中的寄存器可通过编程对其进行设置和控制,使芯片具有不同的工作方式和功能,接口芯片也称可编程接口芯片。,8.1 通用接口及其功能,按接口芯片的外设范围来分,可编程接口芯片可分为专用接口芯片和通用接口芯片。

所谓专用接口芯片,就是该类芯片是为某类外设专门设计的接口芯片,如软盘、硬盘控制器芯片、键盘和显示器接口芯片等;

而通用接口芯片,顾名思义,此类芯片可作为多种外设的接口。对于不同的外设所需的不同功能,可通过对接口芯片的内部寄存器进行编程实现。

Intel 8251A和8255A就是通用的串行和并行接口芯片。,8.2 并行接口,并行接口就是并行通信的接口。所谓并行通信就是把一个数据的各位同时用多根线进行传输,具有传输速度快的优点。但随着传输距离的增加,因并行传送需要多根电缆,其成本就会大幅增加而成为一个非常突出的问题。所以,并行通信一般用于对传输速率要求较高而传输距离比较短的场合,8.2 并行接口,Intel 8255A是一个通用的可编程的并行接口芯片,简称PPIProgrammable Peripheral Interface,价格低廉,有3个并行I/O口,可通过编程设置多种工作方式,使用时通常不需要再附加外部电路,具有很高的灵活性和广泛的适应性,CPU常常通过8255A与并行接口的I/O外设相连,完成与外设的数据交换任务,8.2 并行接口,8255A的主要功能和特点如下 1 具有3个8位的数据端口端口A、端口B和端口C,分别用于数据的输入和输出,其中端口C除可以单独使用外,还可以分成2个半字节,其高4位与A口组成A组,低4位与B口组成B组。

2 各数据端口具有3种工作方式。

方式0基本输入、输出方式,端口A、B、C都可以使用此方式,可完成同步无条件传送方式和状态查询传送方式的数据信息传送。

方式1选通输入、输出方式,端口A、B都可以使用此方式,端口C不能使用此方式。在方式1时,可以使用状态查询或中断方式进行数据信息传送。

方式2双向传输方式,仅端口A都可以使用此方式,这是双向I/O方式,可以使用状态查询或中断方式进行数据信息传送。

3 两个控制字工作方式控制字,端口C置1/置0控制字。,8.2 并行接口,8.2.1 8255A的内部结构,图8.1 8255A的内部结构,8.2 并行接口,8255A由以下几部分组成 1.数据总线缓冲器 2.读/写控制逻辑 3.数据端口 4.A组、B组的控制逻辑电路,8.2 并行接口,8.2.2 8255A的引脚特性 8255A引脚图,,8.2 并行接口,除了电源和地线外,8255A的引脚可以分为两组 一组引脚是面向CPU,与系统总线相连接 一组是面向外设,与外设相连接。,8.2 并行接口,8.2.3 8255A的工作方式 1.方式0 又叫基本输入、输出方式,为单向数据传送,是一种不使用专用控制信号线的简单输入或输出方式。8255A的端口A和端口B在方式0下,与端口C的高4位、端口C的低4位等组成的2个8位、2个4位共4个彼此独立I/O端口,其间没有任何关系,可通过编程将任意一个端口指定为输入口或输出口,单独与外设连接,进行数据交换,4个端口可以有16种不同的输入、输出组合。

方式0能完成同步传送和查询传送。若用于查询传送,可用端口A、B、C三个中的任一位充当查询信号,其余位仍可作为独立的端口位用于与外设连接,进行数据信息的传送,如LED显示输出、开关量的输入和输出等。,8.2 并行接口,2.方式1 又叫选通输入、输出方式,为单向数据传送,此时数据的输入或输出要借助于选通信号来完成。端口A和端口B在此方式下,仍是作为两个彼此独立的8位I/O端口,可单独与外设连接,并通过编程分别设置它们为输入或输出,与外设进行数据交换。

而端口C中的P C5~P C3和P C2~P C02个3位,共计6位,分别被端口A和端口B征用,作为端口A和端口B的专用控制信号线,端口C中其余没被征用的2位仍可工作在方式0,通过编程设置其为输入或输出。,8.2 并行接口,方式1输入端口的控制信号 图示给出了端口A和端口B输入,方式1端口A,方式1端口B,图8.3 方式1输入端口的引脚定义,,,INTE A,PA7~0,PC4,PC5,PC3,PC6~7,,,,,I/O,,INTE B,PB7~0,PC2,PC1,PC0,,,,8.2 并行接口,方式1输入端口控制信号与引脚关系,,8.2 并行接口,2 方式1的输出端口的答信号 方式1输出端口的引脚定义,方式1输出端口A,方式1输出端口B,INTE A,图8.4 方式1输出端口的引脚定义,8.2 并行接口,方式1输出端口控制信号与引脚之间的关系总结,8.2 并行接口,3.方式2 方式2为双向传输方式,一般用于与既可以作为输入设备,又可以作为输出设备的并行外设进行数据交换,并且输入、输出数据不会同时进行。

方式2只有端口A才使用,此时端口C中的PC7~PC3共计5位被端口A征用,作为端口的专用控制信号线,端口C中其余没被征用的PC2~PC0共计3位仍可工作在方式0,通过编程设置其为输入或输出;
或被端口B在方式1下征用,用作其控制信号。

这时,端口C有5根线用作端口A与外部的应答联络信号,由于方式2就是方式1的输入与输出方式的组合,各控制信号的功能也与方式1相同,8.2 并行接口,端口A的双向传输,,INTRA,图8.5 方式2端口A的双向传输的引脚定义,8.2 并行接口,方式2双向传输端口控制信号与引脚关系,8.2 并行接口,8.2.4 8255A控制字编程 当8255A的RESET引脚输入高电平时,其内部所有的内部寄存器均被清除,RESET引脚的高电平撤除后,端口A、B、C均处于方式0即基本输入输出方式。如果要改变8255A的工作方式,可通过控制字完成。

8255A共有两个控制字,分别是 工作方式控制字 端口C置1/置0控制字,8.2 并行接口,1.工作方式控制字 控制字要写入8255A的控制口, 写入控制字之后,8255A才能 按指定的工作方式工作。

8255A的控制字格式与各位的 功能如图 ,,图8.6 8255A工作方式控制字格式,8.2 并行接口,2.端口C位置位/复位控制字 对端口C的某个位的值,即置位 1或复位0。此功能可用于设 置端口A、B在方式1、2的中断允许, 还可根据系统设计为外设的启、停 位,用于控制外设的启、停。设置 端口C某个位的值的操作,其实就是 向控制端口写入对应的置位/复位的 控制字完成。

置位/复位的控制字格式如图,,图8.7 8255A端口C的置位/复位控制字格式,8.2 并行接口,8.2.5 8255A应用举例 1.8255A与CPU的连接 2.开关量的监测和LED显示 3.8255A在打印机中的应用,8.2 并行接口,1.8255A与CPU的连接 8255A与CPU的连接与内存与CPU的连接情况非常的相似,最简单的情况就是一片CPU与一片8255A的连接。下面举例说明。

【例8.6】 已知一CPU,其地址总线为16位,其数据总线为16位,RESET为CPU的复位信号,、分别为CPU的读写控制线,低电平有效;
为访问内存和IO控制线,高电平表示访问内存,低电平表示访问IO,内存地址和IO地址独立编址。系统使用可编程的并行接口芯片8255A,在其I/O端口地址为0000H~0003H。试设计并画出8255A与CPU连接的系统电路图。,8.2 并行接口,解1 数据线连接设计。

8255A的数据线只有8位,CPU数据总线为16位,将8255A的8位数据线与CPU的低8位数据线相连接。

2 根据8255A的端口地址确定系统的IO端口地址分配空间

由于只有一片8255A芯片,该片占用0000H~0003H 共4个端口连续空间范围,8255A只需2根地址线,与CPU的低2位地址A1A0线相连,占用系统低2位地址线。

3 片选信号设计。

因8255A只需2根地址线,与CPU的低2位地址A1A0线相连,CPU剩余的高位地址线A15~A2,在0000H~0003H地址范围内每位均为0,8255A芯片应该被选通而处于工作状态,其余地址8255A芯片应处于非工作状态。另外CPU访问8255A时,即为访问IO端口,此时控制线输出低电平,8255A芯片也应被选通而处于工作状态;
当CPU访问内存时,输出高电平,此时8255A芯片应处于非工作状态。,、,8.2 并行接口,A15~A2、与8255A芯片的片选信号输入的关系真值表如表,8.2 并行接口,设计片选信号电路,,图8.8 片选信号的电路图设计,8.2 并行接口,4 读/写控制信号设计。

CPU的读控制引脚输出信号与8255A的读控制信号引脚输入信号连接。CPU的写控制引脚输出信号与8255A的写控制信号引脚连接。

5 RESET 信号设计。

将CPU的复位信号RESET与8255A的RESET相连接。

6 将数据线、地址线和控制线连接起来,画出的系统连接图如图8.9所示。

对于多片8255A与CPU的连接,或其他接口芯片和存储器芯片一起与CPU的连接,均可参照存储器芯片与CPU的连接设计。需要注意的是,对于存储器地址和IO地址独立编址的系统,CPU有一个指示是访问存储器或访问IO的控制信号如,用作对存储器和IO芯片的片选信号设计时,存储器和IO芯片使用该控制信号正好相反如1,存储器片选有效;
如0,IO芯片选有效。,8.2 并行接口,系统连接图,,,CPU,D7~D0,,,,,D7~D0,8255A,,图8.9 8255A与CPU的电路连接图,,8.2 并行接口,【例8.7】 已在例8.6的基础上,在8255A的端口A,连接8个开关K7~K0,在端口B连接8个发光二极管LED7~LED0。要求系统不断通过端口A输入K7~K0的通断状态,并通过端口B在发光二极管LED7~LED0进行显示,如K0向端口A输入高电平时,对应的LED0发光,否则LED0熄灭。试画出系统的电路连接图,并编写程序段。

解 根据题意,将8255A的端口A作为输入口,即将8个开关K7~K0分别与8255A的 PA7~PA0相连;
端口B作为输出口,即将8个发光二极管LED7~LED0分别与8255A的PB7~PB0相连。端口A,B采用同步无条件传送方式,不使用任何控制信号,即端口A为输入,方式0;
即端口B为输出,也为方式0。设计出的电路图,8.2 并行接口,,,图8.10 825 5A输入输出开关状态的电路连接图,8.2 并行接口,端口A、B均为方式0,端口C未用,工作方式控制字为1 001 0 00 0B90H。编程实现如下 MOV AL, 90H ;
设置端口A、B的工作方式 MOV DX, 0003H OUT DX, AL LOOP MOV DX,0000H ;
从端口A输入开关状态 IN AL, DX MOV DX,0001H ;
向端口B输出开关状态 OUT DX, AL CALL DELY ;
DELY为5秒延时子程序,目的是每5秒采样并显示一次 JMP LOOP ;
循环,8.2 并行接口,【例8.8】 CPU为8088的微机系统通过8255A的端A口,方式1,与一台采用Centronics标准引脚的微型打印机相连,采用中断方式中断类型号为13H,将内存缓冲区BUFF中的256个字符输出到微型打印机完成打印工作。8255A的4个端口地址