可编程并行接口芯片8255a

上传人:kms****20 文档编号:50959237 上传时间:2018-08-11 格式:PPT 页数:40 大小:940.50KB
返回 下载 相关 举报
可编程并行接口芯片8255a_第1页
第1页 / 共40页
可编程并行接口芯片8255a_第2页
第2页 / 共40页
可编程并行接口芯片8255a_第3页
第3页 / 共40页
可编程并行接口芯片8255a_第4页
第4页 / 共40页
可编程并行接口芯片8255a_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《可编程并行接口芯片8255a》由会员分享,可在线阅读,更多相关《可编程并行接口芯片8255a(40页珍藏版)》请在金锄头文库上搜索。

1、第8章 可编程接口芯片及应用 8.1.5 8253应用举例例8.2 使用8253计数器2产生频率为40 kHz的方波,设8253的端口地址为0040H0043H,已知时钟端CLK2输入信号的频率为2 MHz。试设计8253与8088总线的接口电路,并编写产生方波的程序。8253与8088总线的接口电路如图8.12所示。为了使计数器2产生方波,应使其工作于方式3,输入的2 MHz的CLK2时钟信号进行50次分频后可在OUT2端输出频率为40 kHz的方波,因此,对应的控制字应为10010111B,计数初值为十进制数50。程序如下所示: 第8章 可编程接口芯片及应用 MOV AL,10010111

2、B;对计数器2送控制字MOV DX,0043HOUTDX,ALMOV AL,50H;送计数初值50MOV DX,0042HOUTDX,AL第8章 可编程接口芯片及应用 图8.12 8253与8088总线的连接 第8章 可编程接口芯片及应用 8.2 可编程并行接口芯片8255A 8.2.1 8255A的引脚与结构18255A的引脚8255A是可编程的并行输入输出接口芯片,它具有三个8位并行端口(A口、B口和C口),具有40个引脚,双列直插式封装,由+5 V供电,其引脚与功能示意图如图8.14所示。A、B、C三个端口各有8条端口I/O线:PA7PA0,PB7PB0和PC7PC0,共32个引脚,用于

3、8255A与外设之间的数据(或控制、状态信号)的传送。 第8章 可编程接口芯片及应用 D7D0:8位三态数据线,接至系统数据总线。CPU通过它实现与8255之间数据的读出与写入,控制字的写入,以及状态字的读出等操作。A1A0:地址信号。A1和A0经片内译码产生四个有效地址分别对应A、B、C三个独立的数据端口以及一个公共的控制端口。在实际使用中,A1、A0端接到系统地址总线的 A1、A0。CS:片选信号,由系统地址译码器产生,低电平有效。 第8章 可编程接口芯片及应用 读写控制信号RD和WR:低电平有效,用于决定CPU和8255A之间信息传送的方向:当RD=0时,从8255A读至CPU;当WR=

4、0时,由CPU写入8255A。CPU对8255各端口进行读/写操作时的信号关系如表8.3所示。RESET:复位信号,高电平有效。8255A复位后,A、B、C三个端口都置为输入方式。 第8章 可编程接口芯片及应用 图8.14 8255A引脚及功能示意图 (a) 引脚;(b) 功能示意图 第8章 可编程接口芯片及应用 表8.3 8255A各端口读/写操作时的信号关系 A1A0操 作01000写端口A01001写端口B01010写端口C01011写控制寄存器00100读端口A00101读端口B00110读端口C00111无操作第8章 可编程接口芯片及应用 28255A的内部结构8255A的内部结构框

5、图如图8.15所示,其内部由以下四部分组成。 1) 端口A、端口B和端口C端口A、端口B和端口C都是8位端口,可以选择作为输入或输出。还可以将端口C的高4位和低4位分开使用,分别作为输入或输出。当端口A和端口B作为选通输入或输出的数据端口时,端口C的指定位与端口A和端口B配合使用,用做控制信号或状态信号。 第8章 可编程接口芯片及应用 图8.15 8255A内部结构框图 第8章 可编程接口芯片及应用 2) A组和B组控制电路这是两组根据CPU送来的工作方式控制字控制8255工作方式的电路。它们的控制寄存器接收CPU输出的方式控制字,由该控制字决定端口的工作方式,还可根据CPU的命令对端口C实现

6、按位置位或复位操作。 第8章 可编程接口芯片及应用 3) 数据总线缓冲器这是一个8位三态数据缓冲器,8255A正是通过它与系统数据总线相连,实现8255A与CPU之间的数据传送。输入数据、输出数据、CPU发给8255A的控制字等都是通过该部件传递的。 第8章 可编程接口芯片及应用 4) 读/写控制逻辑读/写控制逻辑电路的功能是负责管理8255A与CPU之间的数据传送过程。它接收CS及地址总线的信号A1、A0和控制总线的控制信号RESET、WR、RD,将它们组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令送给这两个部件,再由它们控制完成对数据、状态信息和控制信息的传送。各端口读/写操

7、作与对应的控制信号之间的关系见表8.3。 第8章 可编程接口芯片及应用 8.2.2 8255A的工作方式与控制字18255A的工作方式8255A在使用前要先写入一个工作方式控制字,以指定A、B、C三个端口各自的工作方式。8255A共有三种工作方式:方式0基本输入输出方式,即无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。A口、B口、C口的高4位和低4位均可设置为方式0。 第8章 可编程接口芯片及应用 方式1选通输入输出方式,此时8255A的A口和B口与外设之间进行输入或输出操作时,需要C口的部分I/O线提供联络信号。只有A口和B口可工作于方式1。 方式2选通双向输入输出方式,即

8、同一端口的I/O线既可以输入也可以输出,只有A口可工作于方式2。此种方式下需要C口的部分I/O线提供联络信号。 第8章 可编程接口芯片及应用 28255A的控制字1) 工作方式选择控制字8255A的工作方式可由CPU写一个工作方式选择控制字到8255A的控制寄存器来选择。其格式如图8.16所示,可以分别选择端口A、端口B和端口C上下两部分的工作方式。端口A有方式0、方式1和方式2三种工作方式,端口B只能工作于方式0和方式1,而端口C仅工作于方式0。注意8255A工作方式选择控制字的最高位D7(特征位)应为1。 第8章 可编程接口芯片及应用 图8.16 8255的工作方式选择控制字 第8章 可编

9、程接口芯片及应用 2) C口按位置位/复位控制字8255A的C口具有位控功能,即端口C的8位中的任一位都可通 过CPU向8255A的控制寄存器写入一个按位置位/复位控制字来置1 或清0,而C口中其他位的状态不变。其格式如图8.17所示,注意8255A的C口按位置位/复位控制字 的最高位D7(特征位)应为0。例如,要使端口C的PC4置位的控制字为00001001B(09H),使 该位复位的控制字为00001000B(08H)。应注意的是,C口的按位置位/复位控制字必须跟在方式选择 控制字之后写入控制字寄存器,即使仅使用该功能,也应先选送 一个方式控制字。方式选择控制字只需写入一次,之后就可多次

10、使用C口按位置位/复位控制字对C口的某些位进行置1或清0操作。 第8章 可编程接口芯片及应用 图8.17 8255A的C口按位置位/复位控制字 第8章 可编程接口芯片及应用 8.2.3 各种工作方式的功能1方式0基本输入输出方式方式0无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。它适用于无须应答(握手)信号的简单的无条件输入/输出数据的场合,即输入/输出设备始终处于准备好状态。在此方式下,A口、B口、C口的高4位和低4位可以分别设置为输入或输出,即8255A的这四个部分都可以工作于方式0。需要说明的是,这里所说的输入或输出是相对于8255A芯片而言的。当数据从外设送往8255

11、A时为输入,反之,数据从8255A送往外设则为输出。 第8章 可编程接口芯片及应用 图8.18 方式0查询方式的接口电路第8章 可编程接口芯片及应用 方式0也可以用于查询方式的输入或输出接口电路,此时端口A和B分别作为一个数据端口,而用端口C的某些位作为这两个数据端口的控制和状态信息。图8.18是一个A口和B口工作在方式0时利用C口某些位作为联络信号的接口电路。在此例中将8255A设置为:A口输出,B口输入,C口高4位输入(现仅用PC7、PC6两位输入外设的状态),C口低4位输出(现仅用PC1、PC0两位输出选通及清除信号)。此时8255A的工作方式控制字为10001010B(8AH)。 第8

12、章 可编程接口芯片及应用 其工作原理如下:在向输出设备送数据前,先通过PC7查询设备状态,若设备准备好则从A口送出数据,然后通过PC1发选通信号使输出设备接收数据。从输入设备取数据前,先通过PC6查询设备状态,设备准备好后,再从B口读入数据,然后通过PC0发清除信号,以便输入后续字节。与下面介绍的选通输入输出方式(方式1)和选通双向输入输出方式(方式2)相比,方式0的联络信号线可由用户自行安排(方式1和方式2中使用的C口联络线是已定义好的),且只能用于查询,不能实现中断。 第8章 可编程接口芯片及应用 2方式1选通输入输出方式与方式0相比,它的主要特点是当A口、B口工作于方式1时,C口的某些I

13、/O线被定义为A口和B口在方式1下工作时所需的联络信号线,这些线已经定义,不能由用户改变。现将方式1分为A口和B口均为输入、A口和B口均为输出以及混合输入与输出等三种情况进行讨论。 第8章 可编程接口芯片及应用 1) A口和B口均为输入 图8.19 方式1输入时端口线的功能 第8章 可编程接口芯片及应用 A口工作于方式1输入时,用PC5PC3作联络线。B口工作于方式1输入时,用PC2PC0作联络线。C口剩余的两个I/O线PC7和PC6工作于方式0,它们用做输入还是输出,由工作方式控制字中的D3位决定:D3=1,输入;D3=0,输出。各联络信号线的功能解释如下(请参考图8.20所示的方式1输入时

14、序图来理解各信号的功能):STB(Strobe):选通信号,输入,低电平有效。当STB有效时,允许外设数据进入端口A或端口B的输入数据缓冲器。STBA接PC4,STBB接PC2。 第8章 可编程接口芯片及应用 IBF(Input Buffer Full):输入缓冲器满信号,输出,高电平有效。当IBF有效时,表示当前已有一个新数据进入端口A或端口B缓冲器,尚未被CPU取走,外设不能送新的数据。一旦CPU完成数据读入操作后,IBF便复位(变为低电平)。INTR(Interrupt Request):中断请求信号,输出,高电平有效。在中断允许信号INTE=1且IBF=1的条件下,由STB信号的后沿(

15、上升沿)产生,该信号可接至中断管理器8259A作中断请求。它表明数据端口已输入一个新数据。若CPU响应此中断请求,则读入数据端口的数据,并由RD信号的下降沿使INTR复位(变为低电平)。 第8章 可编程接口芯片及应用 图8.20 方式1输入信号时序图 第8章 可编程接口芯片及应用 INTE(Interrupt Enable):中断允许信号,高电平有效。它是8255A内部控制8255A是否发出中断请求信号(INTR)的控制信号。这是由软件通过对C口的置位或复位来实现对中断请求的允许或禁止的。端口A的中断请求INTRA可通过对PC4的置位或复位加以控制:PC4置1,允许INTRA工作;PC4清0,

16、则屏蔽INTRA。端口B的中断请求INTRB可通过对PC2的置位或复位加以控制。 第8章 可编程接口芯片及应用 2) A口和B口均为输出 图8.21 方式1输出时端口线的功能 第8章 可编程接口芯片及应用 图8.22 方式1输出时信号时序图 第8章 可编程接口芯片及应用 OBF(Output Buffer Full):输出缓冲器满信号,输出,低电平有效。当CPU把数据写入端口A或B的输出缓冲器时,写信号WR的上升沿把OBF置成低电平,通知外设到端口A或B来取走数据,当外设取走数据时向8255A发应答信号ACK,ACK的下降沿使OBF恢复为高电平。ACK(Acknowledge):外设应答信号,输入,低电平有效。当ACK有效时,表示CPU输出到8255A的数据已被外设取走。 第8章 可编程接口芯片及应用 INTR(Interrupt Request)

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

当前位置:首页 > 生活休闲 > 科普知识

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