微型计算机原理与接口技术第9章可编程外围接口芯片825

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第9章可编程外围接口芯片8255A及其应用并行数据传输方式•以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据•适合于外部设备与微机之间进行近距离、大量和快速的信息交换–例如:微机与并行接口打印机、磁盘驱动器•微机系统中最基本的信息交换方法–例如:系统板上各部件之间,接口电路板上各部件之间下图是典型的并行接口和外设连接的示意图。从图中可以看到,并行接口左边是与CPU连接的总线,右边用一个通道和输入设备相连,另一个通道和输出设备相连,输入和输出都有独立的信号交换联络控制线。在并行接口内部用控制寄存器来寄存CPU对它的控制命令,用状态寄存器来提供各种工作状态供CPU查询,此外,还有供输出和输入数据用的输出数据锁存器和输入数据缓冲器。并行接口的工作原理如下:在输入过程中,当外设把数据送到数据输入线上时,通过“数据输入准备好”状态线通知接口取数。接口在把数据锁存到输入缓冲器的同时,把数据输入回答线置“1”,用来通知外设,接口的数据输入缓冲器“满”,禁止外设再送数据。图并行接口与外设连接示意控制寄存器输入缓冲寄存器输出缓冲寄存器状态寄存器数据总线读出信号写入信号复位准备好中断请求地址译码CPU输入设备数据输入准备好数据输入回答数据输入输出设备数据输出数据输出准备好数据输出回答并且把内部状态寄存器中“输入准备好”状态位置“1”,以便CPU对其进行查询或向CPU申请中断。在CPU读取接口中的数据后,接口将自动清除“输入准备好”状态位和“数据输入回答”信号,以便外设输入下一个数据。在输出过程中,当数据输出缓冲器“空闲”时,接口中“输出准备好”状态位置“1”。在接收到CPU的数据后,“输出准备好”状态位复位。数据通过输出线送到外设,同时,由“数据输出准备好”信号线通知外设取数据。当外设接收一个数据时,回送一个“数据输出回答”信号,通知接口准备下一次输出数据。接口将撤消“数据输出准备好”信号并再一次置“输出准备好”状态位为“1”,以便CPU输出下一个数据。9.18255A的工作原理8255A是Intel公司生产的一种可编程并行输入/输出接口芯片。它的通用性强,可以方便地和微机连接,用来扩展输入/输出口。8255A有3个8位并行端口,根据不同的初始化编程,可以分别定义为输入或输出方式,共三种输入输出工作方式。以完成CPU与外设的数据传送。9.1.18255A8255A的内部结构如图所示。它由并行I/O端口、控制电路、数据总线缓冲器和读/写控制逻辑等几个部分组成。(1)并行I/O端口A、B、C。8255A的内部结构数据总线缓冲器内部控制线内部数据线D0~D7A组控制A组端口AA组端口C上部B组控制B组端口BB组端口C下部读写控制逻辑PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESETA、B、C口都是8位的,可以选择作为输入或输出,但在结构和功能上有所不同。A口含有一个8位数据输出锁存/缓冲器和一个8位数据输入锁存器。B口含有一个8位数据输入锁存/缓冲器和一个8位的数据输入缓冲器(不锁存)。C口含有一个8位数据输出缓冲器和一个8位数据输入缓冲器(不锁存)。当数据传送不需要联络信号时,这三个端口都可以用作输入或输出口。当A口、B口工作在需要联络信号输入、输出方式时,C口可以分别为A口和B口提供状态和控制信息。(2)A组和B组控制电路。8255A的三个端口在使用时分为A、B组。A组包括A口8位和C口的高4位,B组包括B口8位和C口的低4位。两组的控制电路中有控制寄存器,根据写入的控制字决定两组的工作方式,也可以对C口的每一位置“1”或清“0”。(3)数据总线缓冲器。数据总线缓冲器是三态双向8位缓冲器,是8255A与CPU数据总线的接口。数据的输入/输出、控制字和状态信息的传送,都是通过这个缓冲器进行的。由于8255A的数据总线是三态的,所以D0~D7可以直接与CPU的数据总线相连。(4)读/写控制逻辑。8255A的读/写控制逻辑的作用是从CPU的地址和控制总线上接收有关信号,转变成各种控制命令送到数据缓冲器以及A组、B组控制电路,从而管理三个端口、控制寄存器和数据总线之间的传送操作。图8255A引脚1520PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PB0PB110154021PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7302535PC5PC4PC0PC1PC2PC3PB2PB3PB4PB5PB6PB7VCC234678911121314161718192223242627282931323334363738398255A8255A8255A采用40脚双列直插式封装,下面分别介绍各个引脚的功能。D0~D7:双向三态数据总线。RESET:复位信号,输入。当RESET端得到高电平后,8255A复位。复位状态是控制寄存器被清零,所有端口(A、B、C口)被置为输入方式。:片选信号,输入。当为低电平时,该芯片被选中。:读信号,输入。当为低电平时,允许CPU从8255A读取数据或状态信息。cscsRDRD:写信号,输入。当为低电平时,允许CPU将控制字或数据写入8255A。A1、A0:端口选择信号,输入。8255A中有端口A、B、C,还有一个控制寄存器,共4个端口,根据从A1、A0输入的地址信号来寻址。A1、A0与信号一起,用来确定8255A的操作状态。PA0~PA7:A口数据线,双向。PB0~PB7:B口数据线,双向。PC0~PC7:C口数据线,双向。当8255A工作于方式0时,PC0~PC7分成两组并行I/O数据线,每组4位。当8255A工作于方式1或方式2时,PC0~PC7为A口、B口提供联络和中断信号,这时每根线的功能有新的定义。WRRD数据端口A、B、C•端口A:PA0~PA7–A组,支持工作方式0、1、2•端口B:PB0~PB7–B组,支持工作方式0、1•端口C:PC0~PC7–仅支持工作方式0–A组控制高4位PC4~PC7–B组控制低4位PC0~PC3端口A:PA0~PA7常作数据端口,功能最强大端口B:PB0~PB7常作数据端口端口C:PC0~PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌握9.1.28255A8255A有三种工作方式:方式0是基本输入/输出方式;方式1是选通输入/输出方式;方式2是双向传送方式。8255A各端口的工作方式由写入8255A控制口的方式选择控制字来确定。在工作方式控制字中,D7位是工作方式控制字的标志,置“1”为有效;D3~D6确定A组的工作方式;D0~D2确定B组的工作方式。8255A还有一置位/复位控字,用来设置C口某位的状态而不影响其它位。置位/复位控字也写入8255A的控制口,D7=0是位控字的标志。8255A方式选择控制字格式D7D6D5D4D3D2D1D0B组C口低半字节:1—输入,0—输出B口:1—输入,0—输出方式选择:0—方式0,1—方式1A组C口高半字节:1—输入,0—输出A口:1—输入,0—输出方式选择:方式控制字标志:1—有效00—方式000—方式11—方式28255A置位/复位控字格式D7D6D5D4D3D2D1D0位控:1—置位,0—复位状态选中位000001010011100101110111PC0PC1PC2PC3PC4PC5PC6PC7位控字标志:0—有效无效9.1.38255A的工作方式和C口状态字•方式0:基本输入输出–适用于无条件传送的接口电路•方式1:选通输入输出–适用于查询和中断方式的接口电路•方式2:双向选通传送–适用于与双向传送数据的外设–适用于查询和中断方式的接口电路(1)工作方式0。方式0是基本的输入/输出方式。在这种方式下,三个端口都可以由程序规定为输入或输出方式,但不能既作为输入又作为输出,也没有提供固定的联络信号。C口分为两个4位——高4位和低4位,可以分别设置为输入或输出方式。各端口在输出方式下有锁存功能,输入不锁存。当以工作方式0输入时,外设先将数据送到8255A的某个端口,CPU执行一条输入指令,有效,将该端口的数据送入CPU。当以工作方式0输出时,CPU执行一条输出指令,有效,将数据送到8255A的某个端口,然后由外设取走。工作方式0适合于数据的无条件传送,也可以人为指定某些位作为状态信息线,进行查询式传送。RDWR8255A工作方式0的功能8PA0~PA7A口4A组C口PC4~PC74PC0~PC3B组B口8PB0~PB78DBRDWR方式0输入时序datadata输入端口D0~D7RDCS,A1,A08255A的数据缓冲作用方式0输出时序WRdatadata输出端口D0~D7CS,A1,A08255A对CPU通过它输出给外设的数据进行锁存(2)工作方式1。方式1是选通输入/输出方式。这种方式下,A口、B口作为数据的输入或输出口,输入和输出都具有锁存功能;C口的某些位相应地被定义为A口、B口的状态和控制信号线。在以方式1输入和输出情况下,C口各位的定义如表所示。若A口和B口都工作于方式1,则C口有6位固定作为A口、B口的状态和控制信号,剩下2位可由程序指定为输入和输出。若A口、B口中一个工作于方式1,另一个工作于方式0,则C口有3位固定作为A口或B口的状态和控制信号,其余5位可由程序指定为输入或输出。图8255A工作于方式1输入的功能A口PA0~PA7PC4PC5PC3INTEAPC6RDINTRAI/OIBFASTBAPC2PC1PC0&INTEBRDINTRBIBFBSTBB28输入数据&PC78DBB口8DB8输入数据PB0~PB7①方式1输入方式1输入引脚:A端口数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中断允许触发器方式1输入引脚:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示B口已经接收数据中断请求信号请求CPU接收数据中断允许触发器方式1需借用端口C用做联络信号同时还具有中断请求和屏蔽功能方式1输入联络信号•STB——选通信号,低电平有效–由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器•IBF——输入缓冲器满信号,高电平有效–8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器•INTR——中断请求信号,高电平有效–8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据方式1中断控制•8255A的中断由中断允许触发器INTE控制–置位允许中断,复位禁止中断•对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的哪一位,只要对那一位置位/复位就可以控制INTE触发器•选通输入方式下–端口A的INTEA对应PC4–端口B的INTEB对应PC2方式1输入时序dataINTRIBFdata输入端口D0~D7STBRDSTB和IBF是外设和8255A间的一对应答联络信号,为的是可靠地输入数据STBIBFINTRRD外部输入数据8255A工作方式1输入的时序方式1输出引脚:A端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中断允许触发器②方式1输出方式1输出引脚:B端口PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器方式1输出联络信号•OBF——输出缓冲器满信号,低有效–8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走•ACK——响应信号,低有效–外设的响应信号,指

1 / 52
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功