您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第10章 并行接口8255
第10章可编程接口芯片可编程并行接口芯片8255A及其应用并行数据传输方式以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据适合于外部设备与微机之间进行近距离、大量和快速的信息交换例如:微机与并行接口打印机、磁盘驱动器微机系统中最基本的信息交换方法例如:系统板上个部件之间,接口电路板上各部件之间典型的并行接口和外设连接的示意图********输入准备好********并行接口:连接CPU与并行外设,实现两者间的并行通信,在信息传送过程中,起到输出锁存或输入缓冲的作用。并行接口电路8255A具有多种功能的可编程并行接口电路芯片最基本的接口电路:三态缓冲器和锁存器与CPU间、与外设间的接口电路:状态寄存器和控制寄存器还有端口的译码和控制电路、中断控制电路分3个端口(每个端口8条线),共24个外设引脚(也可分为2组工作,每组12条线)共三种输入输出工作方式(可编程设置)(1)PA7~PA0、PB7~PB0及PC7~PC0A口、B口及C口的输入/输出线。(2)D7~D0三态双向数据线,数据总线连接,用来传送数据信息。(3)片选信号线,低电平有效。(4)读出信号线,低电平有效,控制数据的读出。(5)写入信号线,低电平有效,控制数据的写入。(6)A1、A0端口选择信号,用来寻址控制端口和I/O端口。(7)RESET复位信号线,高电平有效。有效时,所有寄存器的内容都被清零,三个I/O端口都被置成方式0输入。CS8255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB38255A引脚图RDWR8255A是40条引脚的双列直插式芯片,引脚排列如图所示:一、8255A的内部结构和引脚数据总线缓冲器内部控制线内部数据线D0~D7A组控制A组端口AA组端口C上部B组控制B组端口BB组端口C下部读写控制逻辑PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET1.外设数据端口端口A:PA0~PA7A组,支持工作方式0、1、2端口B:PB0~PB7B组,支持工作方式0、1端口C:PC0~PC7仅支持工作方式0A组控制高4位PC4~PC7B组控制低4位PC0~PC3端口A:PA0~PA7常作数据端口,功能最强大端口B:PB0~PB7常作数据端口端口C:PC0~PC7可作数据、状态和控制端口分两个4位,每组可独立操作控制最灵活,最难掌握2.与处理器接口CS*A1A0I/O地址读操作RD*写操作WR*00000101001160H61H62H63H读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字D0~D7数据线A0~A1地址线RD*读信号WR*写信号CS*片选信号RESET复位信号二、8255A的工作方式方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路1.方式0(基本输入输出方式)工作在方式0的端口,为单向传送端口,输入或输出作为输入口相当于普通的三态门作为输出口相当于普通的锁存器CPU可利用工作在方式0的端口,直接对端口进行读写操作,实现CPU与外设间的数据传送。方式0——基本输入输出方式各个端口的输入、输出可以有16种不同的组合最适用于无条件传送方式;也可用于查询方式——把A、B口作为8位数据的输入或输出口,C口的高/低4位分别定义为A、B口的控制位和状态位。(需用户指定C口相关位,然后通过软件查询来实现数据传送,相对麻烦)2.方式1(选通输入输出方式)工作在方式1的端口,为单向传送端口。A口工作在方式1时,C口的某3根引脚作为A口的联络信号。B口工作在方式1时,C口的某3根引脚作为B口的联络信号。在方式1下,C口作为A口、B口联络信号的引脚,其动作关系在芯片设计和制造时已固定,不由用户自己安排,也不能编程改变。方式1输入引脚:A端口数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中断允许触发器INTE没有外部引出端,通过编程设置。方式1输入引脚:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器方式1需借用端口C用做联络信号同时还具有中断请求和屏蔽功能方式1输入联络信号STB*——选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF——输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR——中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据方式1输入时序外设送来数据PB7~PB0PA7~PA0STBIBFINTRRD②③当INTE=1时①①当外设准备好数据,将数据送至端口线PA7~PA0或PB7~PB0②外设发出选通信号STB*:(1)将数据锁存在输入端口内。(2)使IBF变高,表示输入端口满,可用于阻止外设输入新数据。(3)如果INTE=1,IBF的高电平和STB*的上升沿使INTR变高,发出中断请求。③转中断处理程序,执行IN指令,CPU读取数据,发出RD信号:(1)RD*的下降沿清除INTR(2)RD*的上升沿清除IBF(3)端口内的数据进入CPUSTB*和IBF是外设和8255A间的一对应答联络信号,为的是可靠地输入数据方式1中断控制8255A的中断由中断允许触发器INTE控制置位允许中断,复位禁止中断对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的哪一位,只要对那一位置位/复位就可以控制INTE触发器选通输入方式下端口A的INTEA对应PC4端口B的INTEB对应PC2端口C置位/复位控制字方式1输出引脚:A端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中断允许触发器方式1输出引脚:B端口PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器方式1输出联络信号OBF*——输出缓冲器满信号,低有效8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK*——响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接受INTR——中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据端口A的INTEA对应PC6端口B的INTEB对应PC2方式1输出时序①CPU执行OUT指令,输出数据②CPU发出WR*(1)数据写到8255A的端口(2)使OBF*有效(OBF*=0),表示输出端口满,可作为外设的选通信号,通知外设取数据。(3)清除中断请求信号INTR(前一次的)③外设接受到数据后,发出ACK*信号(1)ACK*的下降沿使OBF*变高,(2)当INTE=1,OBF*的高电平与ACK*的上升沿使INTR变高,发出中断请求,请求CPU输出新的数据。OBF*和ACK*是外设和8255A间的一对应答联络信号,为的是可靠地输出数据方式2双向方式方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据方式2双向引脚PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号方式2双向时序data-outINTRdata-outdata-indata-inPA0~PA7D0~D7IBFWROBFACKSTBRD三、8255A的编程初始化编程:一个方式控制字采用控制I/O地址:A1A0=11工作过程中:通过数据端口对外设数据进行读写数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10IBMPC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H1.写入方式控制字:控制字格式1.写入方式控制字:示例要求:A端口:方式1输入C端口上半部:输出,C口下半部:输入B端口:方式0输出方式控制字:10110001B或B1H初始化的程序段:movdx,0fffeh;假设控制端口为FFFEHmoval,0b1h;方式控制字outdx,al;送到控制端口10001/0011/0D7D6D5D4D3D2D1D0特征位A口方式0A口输出PC7~PC4I/OB口方式0B口输入PC3~PC0I/O所以,方式控制字为10000010B,即82H由于对C口无要求,控制C口的相应位D4,D0可为任意值,假设取0例假设8255A控制端口的地址为203h,编程设置控制字,使A口方式0输出;B口方式0输入设置控制字的程序段如下:MOVDX,203h;置DX为控制口地址MOVAL,82h;置控制字于AL中OUTDX,AL;将控制字写入控制口2.读写数据端口初始化编程后:当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备8255A具有锁存输出数据的能力对输出方式的端口同样可以输入不是读取外设数据读取的是上次CPU给外设的数据2.读写数据端口:示例利用8255A的输出锁存能力,可实现按位输出控制对输出端口B的PB7位置位的程序段:movdx,0fffah;B端口假设为FFFAHinal,dx;读出B端口原输出内容oral,80h;使PB7=1outdx,al;输出新的内容3.读写端口C:归纳1C端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出在控制上,C端口上半部和A端口编为A组,C端口下半部和B端口编为B组3.读写端口C:归纳2当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将被征用其余引脚仍可设定工作在方式03.读写端口C:归纳3对端口C的数据输出有两种办法通过端口C的I/O地址:向C端口直接写入字节数据。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效通过控制端口:向C端口写入位控字,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器端口C的位控制字位控制字写入控制端口特别便于置位复位内部中断允许触发器INTE例假设8255A的控制口地址为203h,通过控制口置PC2为0,置PC4为1MOVDX,203H;置DX为控制口地址MOVAL,00000100B;置PC2为0OUTDX,ALMOVAL,00001001B;置PC4为1OUTDX,AL42例某系统要求使用8255的A口工作于方式1作输入,B口工作于方式0作输出,C口上半部输入,下半部输出。8255端口地址为6
本文标题:第10章 并行接口8255
链接地址:https://www.777doc.com/doc-3545217 .html