已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,微型计算机原理及其应用 第八章:并行通信和并行接口8255A,合肥工业大学计算机与信息学院,2,第八章:并行通信和并行接口8255A,可编程接口芯片概述 串行通信和并行通信 可编程并行接口芯片8255A,3,第八章:并行通信和并行接口8255A,可编程接口芯片概述 串行通信和并行通信 可编程并行接口芯片8255A,4,第八章:并行通信和并行接口8255A可编程接口芯片概述,可编程接口芯片概述,5,第八章:并行通信和并行接口8255A可编程接口芯片概述,可编程接口芯片概述 CPU要同外设交换信息,必需通过接口电路,一般在接口电路中应具有如下电路单元: (1)输入/输出数据锁存器和缓冲器:解决CPU与外设之间速度不匹配的矛盾,以及起隔离和缓冲的作用; (2)控制命令和状态寄存器:存放CPU对外设的控制命令,以及外 设的状态信息; (3)地址译码器:用来选择接口电路中的不同端口(寄存器); (4)读写控制逻辑:产生内部读写控制命令; (5)中断控制逻辑:产生可屏蔽中断请求信号。,6,第八章:并行通信和并行接口8255A可编程接口芯片概述,可编程接口芯片概述,7,第八章:并行通信和并行接口8255A可编程接口芯片概述,可编程接口芯片概述 用于微机输入输出的接口芯片种类极多,功能各异。 按功能选择的灵活性来分,可分为可编程接口芯片和不可编程的接口芯片。 可编程:能通过指令指定接口的功能和运行控制参数等。 按接口的通用性来分,可分为通用接口芯片和专用接口芯片。,8,第八章:并行通信和并行接口8255A可编程接口芯片概述,片选概念 同内存储器的读/写操作相仿,必须要有一个地址信号选中接口芯片后,才能使该接口芯片进入电路工作状态,实现数据的输入输出。CPU的8条地址线A7A0形成地址,通过地址译码器输出到接口芯片的选通端CE#(或片选端CS#)。CE#端是控制接口芯片进入电路工作状态的引脚端。片选究竟是高电平有效(标为CE)还是低电平有效(标为CE#)由接口芯片决定。只有CE#(或CE)被选中后,CPU才能通过该芯片与对应的I/O设备传送数据。,9,第八章:并行通信和并行接口8255A可编程接口芯片概述,读/写的概念 使输入口信息由数据总线进入CPU,何时读入CPU,由RD#控制。 输入指令:IN AL(AX) ;口地址 指令执行过程:CPU内的指令寄存器和译码器分析此指令代码后,知道是I/O设备的读操作,就将口地址(8位)送上地址总线A7A0,经CPU外的地址译码器译码后,产生片选信号,送输入口CE#端,同时还将M/IO#=0和RD#=0信号送到输入口,输入口把输入设备的数据送上数据总线,由CPU读入AL或AX。,10,第八章:并行通信和并行接口8255A可编程接口芯片概述,读/写的概念,11,第八章:并行通信和并行接口8255A可编程接口芯片概述,读/写的概念 对于输出口,当地址信息稳定后,写信号WR*=0及M/IO*0,通知接口芯片,片选信号CE*已稳定,输出口己与数据总线接通,CPU可进行I/O设备的写操作,发出WR*=0,M/IO*=0。这样,M/IO*、WR*、CE*以及数据总线DB构成输出口的必备引脚。 输出指令:OUT AL(AX) ;口地址 CPU内的指令寄存器和译码器分析此指令代码后,知道是I/O设备的写操作,就将口地址(8位)送上地址总线A7A0,经CPU外的地址译码器译码后,产生片选信号,送输出口CE*端,同时还将M/IO*=0和WR*=0信号送到输出口,CPU把AL或AX中的数据送上数据总线,由CPU写入输出口。,12,第八章:并行通信和并行接口8255A可编程接口芯片概述,可编程接口的概念 目前所用的接口芯片大部分是多通道、多功能的。 多通道:一个接口芯片一面与CPU连接,另一面可接几个外设。 多功能:一个接口芯片能实现多种接口功能。接口芯片中的各硬件单元不是固定接死的,可编程控制。 编程控制:通过计算机指令选择通用接口中的不同通道和不同功能。 可编程接口芯片:功能组态(电路的工作状态)可由计算机指令编程控制的芯片。,13,第八章:并行通信和并行接口8255A可编程接口芯片概述,联络的概念 CPU通过接口芯片同外设交换信息时,接口芯片常常需要和外设间有一定的“联络”信号,以保证信息的正常传送。 STB#:Strobe,选通,=0表示外设收到或发出数据。 RDY:Ready,就绪,=1表示接口芯片中数据寄存器已空; =0表示接口芯片中数据寄存器已满。,14,第八章:并行通信和并行接口8255A可编程接口芯片概述,联络的概念 外设把数据送上接口芯片端口后,用STB#信号有效打入接口芯片输入寄存器,在STB#的后沿,置RDY=0,表明输入寄存器已有数据。外设接收RDY=0后暂不送新数,CPU发出读数指令,读入该数据,并使RDY=1。然后又开始新一轮的输入操作。,15,第八章:并行通信和并行接口8255A可编程接口芯片概述,联络的概念 CPU发写命令,将数据写入输出接口中,然后将RDY=1,通知I/O取数据,I/O取走数据后,将STB#=0,其后沿将RDY=0,开始新一轮的数据输出过程。,16,第八章:并行通信和并行接口8255A可编程接口芯片概述,通用接口芯片的常用引脚 DB7DB0: 数据总线,与CPU交换数据用; WR#:写信号; RD#:读信号; AB:地址总线; CE#:片选信号; INT#:可屏蔽中断请求信号; D7D0:数据线,与外设交换数据用; RDY:就绪信号,=1接口芯片中数据寄存器已空; STB#:选通信号,=0表示外设收到或发出数据。,17,第八章:并行通信和并行接口8255A,可编程接口芯片概述 串行通信和并行通信 可编程并行接口芯片8255A,18,第八章:并行通信和并行接口8255A串行通信和并行通信,在计算机领域中有两种数据通信方式:串行传送和并行传送。 并行传送:数据在多条并行1位宽的传输线上同时由源传送到目的。以1字节的数据为例,在并行传送中,1字节的数据通过8条并行传输线同时由源传送到目的。 串行传送:数据在单条1位宽的传输线上,一位一位地按顺序分时传送。以1字节为例,在串行传送中,1字节的数据要通过一条传输 线分8次由低位到高位按顺序一位一位地传送。,19,第八章:并行通信和并行接口8255A串行通信和并行通信,20,第八章:并行通信和并行接口8255A串行通信和并行通信,串行通信和并行通信比较 距离:并行近距离传送(通常小于30米) 串行远距离传送(几米数千公里) 速度:二者的传送速率与距离成反比,但在短距离内并行快得多。 设备费用:随着大规模和超大规模集成电路的发展、逻辑器件价格趋低,而通信线路费用趋高,因此对远距离通信而言,串行通信的费用显然会低得多。另一方面串行通信还可利用现有的电话网络来实现远程通信,降低了通信费用。,21,第八章:并行通信和并行接口8255A,可编程接口芯片概述 串行通信和并行通信 可编程并行接口芯片8255A,22,第八章:并行通信和并行接口8255A8255A,概述 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。 含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。,23,第八章:并行通信和并行接口8255A8255A,8255A的内部结构,24,第八章:并行通信和并行接口8255A8255A,8255A的内部结构 数据总线缓冲器:三态8位双向缓冲器,与系统数据总线连接的缓冲部件;传送数据、控制字、状态字的通道。 3个8位数据端口(PA、PB、PC):通常PA口与PB口用作输入输出的数据端口,PC口用作数据传输或提供联络线的端口。在方式字的控制下,PC口可以分成两个4位的端口,其中PC7PC4同端口A配合使用, PC3PC0同端口B配合使用。 A组、B组控制电路:这两组控制电路根据CPU发出的方式选择控制字来控制8255A的工作方式,每个控制组都接收来自读写控制逻辑的“命令”,接收来自内部数据总线的“控制字”,并向与其相连的端口发出适当的控制信号。A组控制电路控制PA口和PC口高4位,B组控制电路控制PB口和PC口低4位。 读/写控制逻辑:用来管理数据、控制字和状态字的传送,接收系统总线发来的有关信号,并向A、B两组控制部件发送命令。,25,第八章:并行通信和并行接口8255A8255A,8255A的引脚功能 DIP封装,共40个引脚。 1. 连接系统总线的主要引脚 D0D7:数据线,双向,连CPU数据总线; RESET:复位输入,接系统总线的RESET; CS*:片选控制输入,接译码器; RD*:读命令输入,接CPU的RD*或IOR*; WR*:写命令输入,接CPU的WR*或IOW*; A0,A1:片内端口地址输入,可选4个片内 端口。接AB的任2位。,26,第八章:并行通信和并行接口8255A8255A,8255A的引脚功能 A1、A0端口选择情况,见右表 由CS*、A1、A0、RD*、WR*引脚的不 同组合,实现各种不同的功能。见下表:,27,第八章:并行通信和并行接口8255A8255A,8255A的引脚功能 2. 连接外设端的引脚 PA0PA7:A口外设数据线,接外设; PB0PB7:B口外设数据线,接外设; PC0PC7:C口外设数据线或联络线,接外设。,28,第八章:并行通信和并行接口8255A8255A,8255A与系统的连接示意图,29,第八章:并行通信和并行接口8255A8255A,8255A的工作方式 方式0基本输入/输出方式(A、B、C口) 方式1选通工作方式(A、B口) 方式2双向选通传送方式(仅A口) 某端口工作于哪一种方式,可通过软件编程来指定。即向8255写入方式控制字来决定其工作方式。,30,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式0(基本输入/输出方式) 特点: 8255A相当于三个独立的8位数据口。 各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。 C端口即可以是一个8位的简单接口,也可以分为两个独立的4位端口。 设置为输出口时有锁存能力,设置为输入口时无锁存能力。 适用于: 无条件输入输出方式。 查询输入输出方式:把A、B口作为8位数据的输入或输出口,C口的高/低4位分别定义为A、B口的控制位和状态位。,31,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式0(基本输入/输出方式) IN AL,PORT 外设将数据送到8255输入缓冲器中; CPU给出有效的8255地址; CPU发读命令,将8255A输入缓冲器中数据读入CPU的AL寄存器中。,32,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式0(基本输入/输出方式) 方式0输入时序:,有效,33,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式0(基本输入/输出方式) OUT PORT,AL CPU给出有效的8255地址; CPU发写命令,将CPU的AL寄存器中数据写入8255A输出锁存器中。,34,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式0(基本输入/输出方式) 方式0输出时序:,有效,35,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式1(选通工作方式) 利用一组选通控制信号控制A端口和B端口的数据输入输出。 特点: A、B口作输入或输出口,C口分为两部分,其部分位(6位)固定用作A口、B口的选通控制信号。 C口的剩余位仍可作数据位使用。 A口、B口在作为输入和输出时的选通信号不同。 方式1的应用: 主要用于中断控制方式下的输入输出。 说明:C口除部分位用作选通信号外,其余位(2位)可工作在方式0下,作 为输入或输出线,用程序指定其数据传送方向。,36,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式1(选通工作方式) A、B口都设为方式1输入 C口的联络信号: STB#选通信号,由外设输入。=0时, 将外设数据送入8255的输入锁存器。 A组 对应PC4;B组对应PC2。 IBF输入锁存器满信号,由8255A输出。 =1时通知外设输入的数据已写入缓冲器,此 时不能送下一个数据。此信号由STB#的前沿 产生。CPU用IN指令取走数据后(RD#的后 沿),此信号被清除。 A组对应PC5;B组对 应PC1。,37,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式1(选通工作方式) A、B口都设为方式1输入 C口的联络信号: INTE中断允许,是否允许发出INTR请求。 INTE =1和IBF为高电平时,允许发出INTR请 求。无引出。 INTR中断请求,由8255A输出。中断允许 时,由STB#的后沿产生,向CPU请求中断,让 CPU读走输入锁存器中的数据。INTR信号由 RD#的前沿清除。 A组对应PC3;B组对应PC0。,38,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式1(选通工作方式) 方式1输入时序:,39,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式1(选通工作方式) A、B口都设为方式1输出 C口的联络信号: OBF#输出缓冲器满信号,8255A输出。 =0时通知外设取走数据。 A组对应PC7;B 组对应PC1 ACK#响应信号,外设输入。0时表示 外设已从数据端口取走数据。此信号使OBF# 变高。 A组对应PC6;B组对应PC2。,40,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式1(选通工作方式) A、B口都设为方式1输出 C口的联络信号: INTRACK#上升沿产生,8255输出。=1 时请求CPU输出下一个数据(通常接到8259)。 A组对应PC3;B组对应PC0。 INTE中断允许位,INTE=1和OBF#为高 电平时,允许产生INTR信号。无引出。,41,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式1(选通工作方式) 方式1输出时序:,42,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式2(双向选通传送方式) 特点: 双向方式既是输入口,又是输出口。 利用C口的5条线提供传输联络信号。 类似于A口方式1下输入和输出的组合。工作时输入、输出都能锁存。 只有A口可工作在方式2下。 当A组工作在方式2时,B组可工作在方式0或方式1下。 应用: 可用于中断控制输入输出方式。 也可用查询方式与CPU联系。 当A口工作于方式2时,B口可工作于方式1(此时C口的剩余位刚好用作B口选通控制线);B口也可工作于方式0(此时C口的剩余位只能用作方式0下的输入输出线)。,43,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式2(双向选通传送方式) C口的联络信号: STB#选通信号,由外 设输入。=0时,将外设数据 送入8255的输入锁存器。 对应PC4。 IBF输入锁存器满信号, 由8255A输出。=1时通知外 设输入的数据已写入缓冲器, 此时不能送下一个数据。此 信号由STB#的前沿产生。 CPU用IN指令取走数据后 (RD#的后沿),此信号被 清除。 对应PC5。,44,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式2(双向选通传送方式) C口的联络信号: OBF#输出缓冲器满信号, 8255A输出。=0时通知外设取 走数据。 对应PC7。 ACK#响应信号,外设输入。 0时表示外设已从数据端口取 走数据。此信号使OBF#变高。 对应PC6。 INTR输入时由STB#的后沿 产生,输出时由ACK#上升沿产 生,8255输出。=1提出中断请 求。 A组对应PC3。,45,第八章:并行通信和并行接口8255A8255A,8255A的工作方式方式2(双向选通传送方式) 方式2的时序:,46,第八章:并行通信和并行接口8255A8255A,8255A的初始化 可以利用软件编程确定8255的3个端口工作于何种方式下。 8255A的各种工作方式由CPU对8255A写入控制命令字来设定,这个过程称为“初始化”。 8255A有2种控制命令字: 方式选择控制字确定3个端口的工作方式; C口置位/复位控制字确定C口某一位的初始状态,或用于设置INTE位(方式1,2)。,47,第八章:并行通信和并行接口8255A8255A,8255A的初始化方式选择控制字,48,第八章:并行通信和并行接口8255A8255A,8255A的初始化C口置位/复位控制字,49,第八章:并行通信和并行接口8255A8255A,8255A的初始化方式选择控制字 在方式 1、2下,C口作为A口、B口联络信号的引脚,其动作关系在芯片设计和制造时已固定,不由用户自己安排,也不能编程改变。即C口作为联络信号的引脚:不受方式控制字的控制。该出则出,该入则入。,50,第八章:并行通信和并行接口8255A8255A,8255A的初始化 MOV DX,387H ;设控制口地址 MOV AL,82H ;1 00 0 0 0 1 0 OUT DX,AL ;输出控制字 XOR AL,AL ;A口输出全0 MOV DX,384H ;设A口地址 OUT DX,AL ;输出到A口,51,第八章:并行通信和并行接口8255A8255A,8255A应用举例 例8-1打印机接口。为某应用系统配置一个并行打印机接口,并且通过接口CPU采用查询方式打印。已知欲打印数据存放在数据段中有效地址位2000H的单元中。8255的口地址位80H、81H、82H、83H。 分析:由于打印接口直接面向的对象是打印机接口标准,而不是打印机本身,因此打印机接口要按照接口标准的要求进行设计,主要是8位并行数据线DATA0DATA7,2条握手联络线STB#、ACK#和1条忙线BUSY。有关打印机接口工作时序见下图。,52,第八章:并行通信和并行接口8255A8255A,8255A应用举例 从图可见,当CPU通过接口要求打印机打印数据时,先要查看BUSY信号,BUSY0时,才能向打印机输出数据,在把数据送上DATA线后,先发STB#=0信号通知打印机,打印机接到STB#=0后,发出BUSY1,接收效据,当数据接收好并存入内部打印缓冲器后,送出ACK#=0信号,表示打印机已准备好接收新数据,并复位BUSY=0。,53,第八章:并行通信和并行接口8255A8255A,8255A应用举例 图中用8255A的PA口作为输出打印数据 口,工作于方式0,PC口高4位工作于输 出方式,PC6产生STB#信号;PC口低4位 工作于输入方式,PC2接收打印机的BUSY 信号。程序流程如右示。,54,第八章:并行通信和并行接口8255A8255A,8255A应用举例 MOV AL,81H ;工作方式字100001B OUT 83H,AL MOV AL, 0DH ;置/复位字 01101B PC0位置高,使STB#=1 OUT 83H,AL TESBY: IN AL,82H ;查BUSY=0?(PC2=0) TEST AL,04H ;00000100B JNZ TESBY ;忙,则等待;不忙,则向A口送数 MOV AL,2000H ;从内存取数 OUT 80H,AL ;送数据到A口 MOV AL,0CH ;00001100B置STB#信号为低(PC6=0) OUT 83H,AL NOP ;负脉冲宽度(延时) NOP INC AL ;置STB#为高(PC6=1) OUT 83H,AL,55,第八章:并行通信和并行接口8255A8255A,8255A应用举例 例8-2LED开关接口。8086CPU通过8255用开关与8段LED显示器的接口如图示。8255A PA口加驱动器接LED显示输出;PB口低4位接开关输入;PC口不用。8255A的A0、A1接地址总线的A1、A2,其端口地址为:0FFF8H、0FFFAH、0FFFCH、0FFFEH。要求:开关设置的二进制信息由8255A的PB口输入后,通过PA口输出给8段LED显示器,显示开关状态所对应的十六进制值,试编制其控制程序。,56,第八章:并行通信和并行接口8255A8255A,8255A应用举例 (1)控制字的设置 8255A的负载能力较小,PA输出口加驱动。 PA口设为方式0输出,PB口设为方式0输入。 由于地址总线的A0位未用,则82
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中实习证明
- 2025年阅读题库及测试题及答案
- 2025年大学三年级经济学上学期案例分析卷
- 2025年安全食品试题及答案
- 2025年国家公务员录用考试公共基础知识预测模拟试卷及答案(共八套)
- 陕西省公务员2025年行政职业能力测验真题集
- 2025年高中二年级数学上学期解析几何专项测试卷
- 2025年基础设施建设借款合同模板
- 2025年租房带家具电器合同示范文本
- 2025年餐厅租赁合同模板
- 中职艺术理论考试题库及答案
- 医用化学(第三版)课件 -第20章 脂类化合物
- 四年级上册人教版数学课外辅导计划
- 心脑血管事件报告制度
- 2025年心理b证笔试试题及答案
- 急性阑尾炎课件
- 糖尿病伴心血管疾病的护理
- 银行物业服务承诺和质量保障措施
- 人工智能在智能水处理中的应用
- 全国高校辅导员素质能力大赛试题(谈心谈话、案例分析)
- 人工智能安全:原理与实践 课件全套 李剑 第1-16章 人工智能安全概述- 代码漏洞检测原理与实践
评论
0/150
提交评论