您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 可编程并行接口芯片8255A及其应用
一、8255A的结构和功能二、8255A的控制字三、8255A的工作方式四、8255A的应用举例第九章可编程并行接口芯片8255A及其应用习题:9-6,9-7,9-10并行接口芯片应具有的功能:(1)具有两个以上的输入/输出数据端口(锁存/缓冲);(2)每个数据端口有与CPU用应答方式交换信息所必须的控制和状态信号;也有与外设交换信息所必须的控制和状态信号;(3)通常每个数据端口还具有能用中断方式与CPU交换信息所必须的电路;(4)具有进行片选和读写控制的电路;(5)可编程(由程序来选择数据端口,数据传送方向,交换信息的方式等)。A组控制B组控制数据总线DBoooRDWRA0A1RESETCS读/写控制逻辑A口上C口下C口B口PA7~PA0PC7~PC4PC3~PC0PB7~PB0内部总线外设接口CPU接口内部逻辑第一节8255A的工作原理一、8255A的结构和功能端口A和端口B可用作8位数据I/O口,端口C既可作为8位I/O口,又可作为两个4位I/O口,还常用来配合A口和B口工作,作为控制信号输出、或作为状态信号输入。(一)数据端口8255A内部包含3个8位I/O端口A口、B口和C口,通过外部24根I/O线与外设交换数据或进行通信联络。其中C口可分为两个4位口使用。A口上C口下C口B口PA7~PA0PC7~PC4PC3~PC0PB7~PB0内部总线(二)控制逻辑这是两组根据CPU的编程命令控制8255A工作的电路,它们内部有控制寄存器,用来接收CPU送来的命令字,以决定A组、B组的工作方式,或对C口的每一个位执行置位/复位操作。A组控制B组控制内部总线端口A和端口C的上半部分(PC7~PC4)由A组控制逻辑管理,端口B和端口C的下半部分(PC3~PC0)由B组控制逻辑管理。(三)数据总线缓冲器是双向三态的8位缓冲器,用作8255A和系统数据总线的接口。1)接收CPU送来的数据或控制字;2)外设传送给CPU的数据或状态信息数据总线DBoooRDWRA0A1RESETCS读/写控制逻辑内部总线至数据端口至控制寄存器(四)读/写控制逻辑控制总线的开放与关闭;控制信息传送的路径和方向。A1A0=00,选中端口AA1A0=01,选中端口BA1A0=10,选中端口CA1A0=11,选中控制字寄存器端口(五)端口寻址A1A0RDWRCS功能00010端口A数据总线01010端口B数据总线10010端口C数据总线00100数据总线端口A01100数据总线端口B10100数据总线端口C11100数据总线控制字寄存器8255A端口选择表端口选择信号:当8255A用在8位数据总线的微处理器(8088)系统中时,端口选择信号输入端A1A0与地址总线的A1A0相连即可,例如端口地址为60H,61H,62H和63H。在16位数据总线的微处理器系统(8086)中,通常将端口选择信号输入端A1A0与地址总线的A2A1相连。8255A芯片的数据线D0~D7既可以接到系统数据总线的低8位,也可以接到系统数据总线的高8位。为了方便,通常接到系统数据总线的低8位,这样CPU要求芯片内部的各个端口都使用偶地址。例如端口地址为F0H,F2H,F4H和F6H。(六)方式选择8255ABCBDBRDWRD7~D0A0A1CSPBPAPC88I/OI/O44PB7~PB0PA7~PA0PC3~PC0PC7~PC4I/OI/O88I/OI/OPB7~PB0PA7~PA0PBPAPC控制或I/O控制或I/O88I/OI/OPB7~PB0PA7~PA0PBPAPCI/O控制方式0:基本输入输出方式1:选通输入输出方式2:双向总线二、8255A的控制字1、方式选择控制字8255A有3种基本的工作方式,在对8255A进行初始化编程时,应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。方式选择控制字格式D7D6D5D4D3D2D1D0下C口I/O1=输入0=输出B口I/O1=输入0=输出B口方式0=方式01=方式1上C口I/O1=输入0=输出特征位D7=1A口方式:00=方式001=方式11x=方式2A口I/O1=输入0=输出例:在一个8086/8088系统中,有一片8255A芯片,其各个端口的地址分别为0F8H~0FBH,现要求各个端口的工作方式为:端口A方式0输入端口B方式1输出端口C(上半部)PC7~PC4输出端口C(下半部)PC3输入要求:进行初始化编程10011001分析:根据8255A工作模式可确定方式控制字95H初始化编程:MOVAL,95HOUT0FBH,AL2、置位/复位控制字端口C常用作控制或应答信号,通过对8255A的控制口写入置位/复位控制字,可使C口的任一个引脚的输出单独置1或置0。置位/复位控制字格式D7D6D5D4D3D2D1D01置位0复位无关位特征位D7=0000选中PC0001选中PC1111选中PC7位选择例:要使端口C的bit3置位的控制字为:00000111B;MOVAL,00000111BOUT0FBH,AL而使端口C的bit3复位的控制字为:00000110B;MOVAL,00000110BOUT0FBH,AL三、8255A的工作方式1、方式0-基本输入输出方式适用于不需要应答信号的简单I/O场合。A口和B口可作为8位端口,C口的高4位和低4位可作为两个4位的端口,且每个端口均可作为输入口或输出口用。数据输出有锁存,输入不能锁存。例如,要求8255A的A口和B口均工作于方式0,A口和下C口作输入口,B口和上C口作输出口,设8255A各端口地址为60H~63H,可用下列指令来设置这种工作方式:MOVAL,91H;方式控制字10010001BALOUT63H,AL;方式控制字送控制寄存器2、方式1-选通输入/输出方式端口A或B用作数据口,均可以工作于输入或输出方式。这两个8位数据口的输入、输出数据都能锁存,但必须在联络信号的控制下完成I/O操作,端口C的部分引脚用来产生或接收这些联络信号。1)选通输入方式此时PC3~5和PC0~2分别用作A口和B口的状态和控制线,PC6和PC7用作I/O线PA7~PA08PC4STBAPC5IBFAPC3INTRAPC6PC7I/O线&INTEAoRD方式1(A口)PB7~PB08PC2STBBPC1IBFBPC0INTRB&INTEBoRD方式1(B口)IBF-输入缓冲器满信号,高电平有效,由8255A输出的状态信号,表示输入缓冲器已满,向外设指明不能再送入数据。INTE-中断允许信号。是控制8255A能否向CPU发中断请求信号,它没有外部引脚,INTEA、INTEB是由用户对PC4、PC2按位置位实现的。PA7~PA08PC4STBAPC5IBFAPC3INTRAPC6PC7I/O线&INTEAoRD方式1(A口)各控制联络信号的意义STB-数据选通输入信号,低电平有效,由外设输入;INTR-中断请求信号,高电平有效。是8255A向CPU发出的请求中断信号,要求CPU服务。当IBF=1、STB=1且INTE=1时,INTR=1。2)选通输出方式这时PC3、PC6和PC7作A口的应答信号,PC0、PC1和PC2作B口的应答信号。余下的PC4和PC5可作输入或输出线。PA7~PA08PC6ACKAPC7OBFAPC3INTRAPC4PC5I/O线&INTEAoWR方式1输出(A口)PB7~PB08PC2ACKBPC1OBFBPC0INTRB&INTEBoWR方式1输出(B口)ACK-外设的回答信号,低电平有效,由外设送给8255A。表示CPU送到指定端口的数据已被外设接受。各应答信号的意义:OBF-输出缓冲器满信号,输出,低电平有效。表示CPU已输出数据到指定端口。INTE-中断允许信号。INTEA、INTEB是由用户对PC6、PC2按位置位实现的。PA7~PA08PC6ACKAPC7OBFAPC3INTRAPC4PC5I/O线&INTEAoWR方式1输出(A口)INTR-中断请求信号,高电平有效。当ACK=1、OBF=1且INTE=1时,INTR=1。3、方式2-双向总线方式(仅适用于A口)这时PA7~PA0作为双向数据总线,PC3~PC7用作A口的联络控制信号。PC2~PC0可用作B口的应答信号线,或作I/O线。PC3INTRAPA78PC7PC6OBFAACKAPC4PC5PC2~PC03STBAIBFAINTE2&~PA0&1OOWRRD各信号意义:INTRA-中断请求信号,‘1’有效.OBFA-输出缓冲器满,‘0’有效.ACKA-外设响应信号,‘0’有效.IBFA-输入缓冲器满信号,‘1’有效.STBA-选通输入信号,‘0’有效.4、C口状态字8255A工作在方式0时,C口各位作输入输出用。当工作在方式1和方式2时,C口产生与外设的联络信号。此时。读取C口的内容可检查或测试外设的状态。C口的状态字如下:(1)方式1I/OI/OIBFA输入INTEAINTRAINTEBIBFBINTRBD7D6D5D4D3D2D1D0I/OI/O输出INTEAINTRAINTEBOBFBINTRBD7D6D5D4D3D2D1D0OBFA(2)方式2*INTE1INTRAINTE2IBFAD7D6D5D4D3D2D1D0OBFA**第二节8255A的应用举例8255A作为开关K0~K3及七段LED显示器接口。要求开关设置的二进制信息,由PC0~PC3输入,经程序转换为对应的七段LED显示器的字形代码后,由A口输出显示。8255APA7PA0~驱动器+5V+5VK0K1K2K3PC3PC2PC1PC0D7~D0RDWRA1A2ABCG2AG2BG1Y0Y1Y2OOOD7~D0RDWRA0A1CSA0A3A4A78086系统总线LS138接口电路M/IO&A5A6一、基本输入输出应用各端口地址为:E8H~EEH8255A各端口地址确定:由图可知:A7A6A5A4A3A2A1A01110108255A方式选择控制字:LED显示器的字形代码表存放在TABLE单元开始的内存中.TABLEDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB80H,98H,88H,83H,0C6H,0A1H,86H,8EHCSABCG2AG2BG1Y0Y1Y2A0A3A4A7LS138M/IO&A5A6按题意设置端口A方式0输出,下C口输入.10000××181H实现操作的具体程序如下:MOVDX,0E8H;指向端口AOUTDX,AL;输出字形码显示HLTMOVDX,0EEH;设置8255A工作方式MOVAL,81HOUTDX,ALMOVDX,0ECH;指向端口C,读开关状态INAL,DXANDAL,0FHLEABX,TABLE;显示代码表首地址送BXXLAT;查表,取出相应的字形码送ALLED显示器的结构abdcefgdpLED显示器的外形abcdefgdp共阳极LED显示器的结构abcdefgdp共阴极LED显示器的结构LED显示器的工作原理软件译码法PA0PA1PA2PA3PA4PA5PA6PA78255DB7--DB0abcdefgdp方案1共阳极LED显示器与同相驱动器接口abdcefgdpabdcefgdpD7D6D5D4D3D2D1D0dpgfedcba0(C0H)11000000abdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdp9(90H)100100001(F9H)111110012(A4H)101001003(B0H)101100004(99H)100110015(92H)100100106(82H)100000107(F8H)111110008(80H)10000000PA0PA1PA2PA3PA4PA5PA6PA78255DB7--DB0abcdefgdp方案2共阳极LED显示器与反相驱动器接口abdcefgdpabdcefgdpD7D6D5D4D3D2D1D0dpgfed
本文标题:可编程并行接口芯片8255A及其应用
链接地址:https://www.777doc.com/doc-3934934 .html