资源预览内容
第1页 / 共61页
第2页 / 共61页
第3页 / 共61页
第4页 / 共61页
第5页 / 共61页
第6页 / 共61页
第7页 / 共61页
第8页 / 共61页
第9页 / 共61页
第10页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,一、概述:,接口是CPU与外设的中间环节,用以完成CPU与外设之间的数据传递和通信。 通信指计算机与外设、计算机与计算机间的信息交换。 通信的基本方法: 并行通信和串行通信,第六章 可编程接口芯片,数据的各位同时由源到达目的地 快 多根数据线 距离短、远程费用高,将数据的各位同时在多根并行传输线上进行传输。,并行通信适于短距离、高速通信,并行通信,数据的各位依次由源到达目的地 慢 数据线少 远程, 费用低,将数据的各位按时间顺序依次在一根传输线上传输。,0 1 1 0 1 0 1 0,串行通信适于长距离、中低速通信,串行通信,4,并行接口连接CPU与并行外设,实现 两者间的并行通信,在 信息传送过程中,起到输出锁存或输入缓冲的作用。并行接口的典型硬件结构包括:1、一个或一个以上具有锁存或缓冲的数据端口2、与CPU进行数据交换所必须的控制和状态信号3、与外设进行数据交换所必须的控制和状态信号4、端口译码电路5、控制电路,二、并行接口概述,并行接口连接外设示意图,6,不可编程并行接口的工作方式和功能:是由硬件接线决定,不能用软件来控制。可编程并行接口的工作方式和功能:可用软件编程的方法改变,使接口具有更大的灵活性和通用性。,不可编程并行接口和可编程并行接口,7,内容: 一、8255A的引脚、编程结构 二、8255A的控制字 三、8255A三种工作方式 四、8255A的应用举例,第一节 可编程并行接口8255A,8,Intel系列的8位并行接口芯 片通用性强,使用灵活,可用程 序设置和改变芯片的工作方式, 是一种典型的可编程并行接口芯片。,40个引脚,双列直插式,一、8255A结构与功能,8255A内部结构框图,10,每个端口8位,通过编程设定其为输入口或输出口 可用来和外设传送信息,1. 并行数据端口 A、B、C,11,有 3 种工作方式( 方式 0、方式 1、方式 2)对外 8 根引脚 PA7 PA0,端口A,12,有 2 种工作方式:方式 0、方式 1对外 8 根引脚 PB7 PB0,端口B,13,对外引脚PC0 PC7可分为高4位和低4位两个口用,端口C,14, 当端口 A 在方式 1 或方式 2、端口 B 在方式 1 时,端口 C 的某些位用于传送联络信号,以适应CPU与外设间的各种数据传送方式的要求,如查询传送的应答信号、中断传送的中断申请信号等;C口未被用作联络信号的其它位可工作在方式 0。,续,15,8位端口,无对外引脚 控制端口的内容决定A口、B口、C口的工作状态(输入或输出)和工作方式(方式 0、1、2), 起控制作用。,2. 控制端口D (A组和B组控制电路),16, 由1个8位双向三态缓冲器构成 8255A内各端口通过数据缓冲器与系统总线相连。CPU与端口A、B、C间传送的数据,以及CPU写入控制端口D中的控制字均通过数据缓冲器传送。,3. 数据总线缓冲器(引脚D0D7),17,控制数据总线缓冲器的状态。数据总线缓冲器有3种状态:输入、输 出、高阻态,4. 读写控制电路 (引脚CS、 RD、 WR),18,5. 片内译码电路 (引脚A1、 A0),选择被操作的端口,20,1方式控制字 8255A控制口D的内容对数据端口A、B、C起控制作用,故称为8255A的控制字。 2. C口按位置位/复位控制字 8255A控制口D的内容也可使C口的某一位置0或置1, 故称为按位置位/复位控制字.两字在同一口,由标志位(D7位)区分。,二、8255A的控制字,例 假设8255A 控制端口的地址为Port_Ctrl, 8255A控制口的内容为CtrlData设置控制字的程序段如下:MOV DX,Port_Ctrl ;置DX为控制口地址MOV AL,CtrlData ;置控制字于AL中OUT DX, AL ;将控制字写入控制口, 通过编程向控制口写入不同的控制字,可灵活的改变端口A、B、C的工作状态和工作方式。, 8255A有两种控制字,由写入内容的D7位区分:,23,设定A口、B口、C口的工作状态和工作方式。工作状态:输入或输出工作方式:方式 0、方式 1、方式 2,1. 方式控制字,方 式 控 制 字 各 位 含 义,例,由8255A编程结构知:,1) 确定端口地址,结合8255A与系统总线的连线:,最后得出结论: A口地址为 F0 HB口地址为 F2 HC口地址为 F4 HD口地址为 F6 H,A7 A6 A5 A4 A3 A2 A1 F0H 1 1 1 0 0 0 0 A口 F2H 1 1 1 0 0 0 1 B口 F4H 1 1 1 0 0 1 0 C口 F6H 1 1 1 0 0 1 1 D口,A1 A0,CS,总线,2) 确定方式控制字,所以,方式控制字为 1001 0001B,即91H,要求设置: A口方式0输入,PC7PC4输出,B口方式0输出,PC3PC0输入,设置方式控制字的程序段为:MOV DX, 0F6H ;控制口地址MOV AL, 91H ;方式控制字OUT DX, AL或 MOV AL, 91H ; 方式控制字OUT 0F6H, AL,29,作用是:使C口中的某一位为1(置位)或0(复位);或在A口、B口采用中断方式时,通过向C口的指定位置位,允许8255A的中断信号发出。,2. C口按位置位/复位控制字,选择设置位,设置内容,C口按位置位/复位控制字各位含义:,连线如上例, 通过控制口置 PC2 为 0,置 PC4 为 1MOV DX,0F6H ;置DX为控制口地址MOV AL,0000 0100B ;置PC2为0OUT DX, AL MOV AL,0000 1001B ;置PC4为1OUT DX, AL,例,32,三种工作方式:1. 方式0 2. 方式13. 方式2,三、8255A的工作方式,33,在8255A内部硬件结构中:A口和B口之间没有硬件关系,即可分别作为独立的输入或输出端口;C口和A口,C口和B口之间有硬件联系,通过向控制口设置控制字可以改变这种联系。,三种工作方式特点,根据A口和C口、B口和C口之间硬件关系的不同,可以有三种不同的工作方式,分别称为方式 0、方式 1、方式 2。,方式 0: 与C口之间没有硬件联系。 方式 1: C口的某3根引脚作为端口与外设的联 络信号。 方式 2: C口的某5根引脚作为端口与外设的联络信号。,35,A口工作在方式 0 时,A口和C口之间没有硬件联系 B口工作在方式 0 时,B口和C口之间 没有硬件联系,方式0(基本输入输出方式), 工作在方式 0 的端口:作为输入口相当于普通的三态门作为输出口相当于普通的锁存器CPU可利用方式 0 下的端口,直接对端口进行读 写操作,实现CPU与外设间的数据传送。,37, 外设的数据已经准备好,数据存入接口数据寄存器 CPU执行一条 (IN AL,PORT)指令从8255A读取数据,方式0 输入基本情况:,38,方式0 输出基本情况:,CPU执行一条 (OUT PORT ,AL)指令从将数据写入8255A的数据锁存器。外设从8255A的数据锁存器中将数据取走。,39, A口工作在方式1时, C口的某3根引脚作为A口的联络信号。 B口工作在方式1时, C口的某3根引脚作为B口的联络信号。,2. 方式1(选通I/O方式),工作在方式 1 的端口,为单向传送端口。由方式控制字决定是输入还是输出。, 在方式 1 下,C口作为A口、B口联络信号的引脚,其动作关系在芯片设计和制造时已固定,不由用户自己安排,也不能编程改变。即C口作为联络信号的引脚:不受方式控制字的控制。该出则出,该入则入。不受C口按位置位/复位控制字控制,即对这些位的置位/复位不影响这些引脚信号。, 利用方式 1 下的联络信号,可方便地实现查询或中断方式的硬件设计,使CPU能够有效、可靠地与外设进行数据传送。 A口、B口在输入或输出不同的工作状态时,C口联络信号的引脚和意义也不同。,方式1下输入端口的联络信号,PA7PA0,PC4,PC5,PC3,INTEA PC4,与门,IBFA,RD,D7D0,A口方式1输入时,相应的联络信号,PB7PB0,PC2,PC1,PC0,INTEB PC2,与门,RD,B口方式1输入时,相应的联络信号,D7D0,IBFB,STBB,INTRB,44, STB 选通信号(低电平有效)由外设发出,送给8255A,作用是将外设送来的数据锁存到8255A的输入端口。 IBF 输入缓冲器满信号(高电平有效)8255A 发出, 表示外设送来的数据已进入输入端口。当外设送来的数据送入输入端口后, 8255A自动发出IBF。 INTR 中断申请信号 (高电平或上升沿有效) 8255A 发出,用来向CPU发出中断申请。 STB、IBF、INTE均为时,8255A自动发出INTR。,对方式1输入的端口,C口提供与外部联络的信号有:,45,INTE 中断允许控制信号,作用是控制是否允许8255A的中断申请信号INTR发出。此信号无引出,通过控制口对C口相应位的置位/复位设置允许或不允许。A口,对PC4置位, 使INTEA=1, 允许中断,对PC4复位, 使INTEA=0, 不允许中断B口,对PC2置位, 使INTEB=1, 允许中断, 对PC2复位, 使INTEB=0, 不允许中断,对方式1输入的端口,8255A内部的控制信号有:,注意: 在方式1下,作为联络信号的外部引脚PC4、PC2,不受C口按位置位/复位控制字控制, 即对这些位的置位/复位不影响这些引脚信号的输入/输出, 而只在8255A内部对INTE信号起作用。,方式1下输出端口的联络信号,48, OBF 输出缓冲器满信号(低电平有效)当数据送至8255A输出缓冲器后,8255A自动发出。表示CPU送来的数据已进入8255A输出端口,可用来通知外 设把数据取走。 ACK 外设响应信号(低电平有效)由外设发出,送给8255A。 作用是通知 8255A输出端口的数据已被外设取走,可以传送下一个数据。 INTR 中断申请信号(高电平或上升沿有效)8255A 发出, 用来向CPU发出中断申请。当OBF 、ACK、INTE均为时,8255A自动发出INTR。,对方式1输出的端口,C口提供与外部联络的信号有:,49,INTE 中断允许控制信号,作用是控制是否允许中断申请信号INTR发出。此信号无引出, 通过控制口对C口相应位的置位/复位设置允许或不允许。A口,对PC6置位, 使INTEA=1, 允许中断,对PC6复位, 使INTEA=0, 不允许中断, B口,对PC2置位, 使INTEB=1, 允许中断,对PC2复位, 使INTEB=0, 不允许中断,对方式1输出的端口,8255A内部的控制信号有:,51,端口工作在方式 2时,C口的某5根引脚作为端口的联络信号8255A 只有A口可以工作在方式 2 下。,3方式2 (双向传送方式),与方式 0、方式 1的单向传送不同,工作在方式 2下的端口,具有双向传送功能。,A口工作在方式 2 下,C口未做联络信号的3条引脚,可作为B口在方式1下的联络线,也可和B口一样工作在方式0下。由方式控制字决定其输入/输出。,53,54,例1:设某8086系统中有两片8255A芯片,由74LS138译码器产生两个芯片的片选信号,如图所示。要求:第1片(J1)8255A的A口工作在方式1输入,B口工作在方式1输入,C口高4位输出,C口低4位输入;第2片(J2)8255A的A口工作为方式0输出,B口为方式1输入,C口高4位输入,C口低4位输出。 (1)试分别指出两片8255A芯片的端口地址; (2)试分别写出两片8255A芯片的方式控制字; (3)试分别写出两片8255A芯片的初始化程序。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号