您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 微机原理 第六章并行接口芯片8255A
第六章第六章并行接口芯片8255A教学重点接口的功能以及在系统中的连接8255A的工作方式和编程8255A的应用第六章并行接口芯片8255A接口的功能以及在系统中的连接并行通信和并行接口可编程并行通信接口8255A6.1接口的功能以及在系统中的连接接口的功能接口与系统的连接微型计算机系统的硬件控制总线CB数据总线DB地址总线AB系统总线形成CPUI/O设备I/O接口主存系统总线BUS外设主机8086计算机系统组成8086微处理器8087协处理器8288总线控制器62芯总线8259中断控制器随机存储器RAM只读存储器ROM8253定时控制器8237DMA控制器8255并行接口控制总线数据总线地址总线地址锁存器数据收发器扬声器接口8284时钟发生器键盘接口系统配置开关接口的功能寻址功能(M/IO、CS、片内寻址)输入输出功能数据转换功能联络功能中断管理功能复位功能可编程功能错误检测功能接口与系统的连接6.2并行通信和并行接口通信指计算机与外设、计算机与计算机间的信息交换通信的基本方法:并行通信和串行通信数据的各位同时由源到达目的地→快多根数据线→距离短、远程费用高并行通信将数据的各位同时在多根并行传输线上进行传输。01010110D0D1D2D3D4D5D6D7目的D0D1D2D3D4D5D6D7源并行通信适于短距离、高速通信数据的各位依次由源到达目的地→慢数据线少→远程,费用低串行通信将数据的各位按时间顺序依次在一根传输线上传输。01101010RD目的TD源串行通信适于长距离、中低速通信并行接口的典型硬件结构包括:1、一个或一个以上具有锁存或缓冲的数据端口2、与CPU进行数据交换所必须的控制和状态信号3、与外设进行数据交换所必须的控制和状态信号4、端口译码电路5、控制电路并行接口概述并行接口连接CPU与并行外设,实现两者间的并行通信,在信息传送过程中,起到输出锁存或输入缓冲的作用。6.3可编程并行通信接口芯片8255A具有多种功能的可编程并行接口电路芯片最基本的接口电路:三态缓冲器和锁存器与CPU间、与外设间的接口电路:状态寄存器和控制寄存器还有端口的译码和控制电路、中断控制电路分3个端口,共24个外设引脚共三种输入输出工作方式5.3可编程并行通信接口芯片8255A8255A的内部结构8255A的芯片引脚信号8255A的控制字8255A的工作方式和应用举例8255A的内部结构数据总线缓冲器内部控制线内部数据线D0~D7A组控制A组端口AA组端口C(高4)B组控制B组端口BB组端口C(低4)读写控制逻辑PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESETresetD7~D0A9~A2A1A0IORIOW片选译码数据缓冲器读写控制片内译码CSRESETA1A0RDWRPC7~PC0PB7~PB0PA7~PA0控制口D端口A端口C端口B+5VGNDD7~D0外设8255A总线1.数据端口A、B、C每个端口8位,通过编程设定其为输入口或输出口,可用来和外设传送信息端口A有3种工作方式(方式0、方式1、方式2)对外8根引脚PA7~PA0端口B有2种工作方式:方式0、方式1对外8根引脚PB7~PB01.数据端口A、B、C端口C当端口A在方式1或方式2、端口B在方式1时,端口C的某些位用于传送联络信号,以适应CPU与外设间的各种数据传送方式的要求,如查询传送的应答信号、中断传送的中断申请信号等;C口未被用作联络信号的其它位可工作在方式0下。2.控制端口D8位端口,无对外引脚控制端口的内容决定A口、B口、C口的工作状态(输入或输出)和工作方式(方式0、1、2),起控制作用。由1个8位双向三态缓冲器构成8255A内各端口通过数据缓冲器与系统总线相连。CPU与端口A、B、C间传送的数据,以及CPU写入控制端口D中的控制字均通过数据缓冲器传送。3.数据总线缓冲器(引脚D0~D7)4.读写控制电路(引脚CS、RD、WR)控制数据总线缓冲器的状态。数据总线缓冲器有3种状态:输入、输出、高阻态CSRDWR数据总线缓冲器状态001D7~D0←内部数据总线010D7~D0→内部数据总线1×××11×00三态,处于断开状态选择被操作的端口5.片内译码电路(引脚A1、A0)A1A0选中端口00端口A01端口B10端口C11控制端口D8255A的芯片引脚信号8255A与外设的连接信号PA7~PA0A组控制信号PB7~PB0B组控制信号PC7~PC0C组控制信号8255A与CPU的连接信号RESET信号D0~D7CS信号RD信号WR信号A1、A08255A与CPU的连接信号CS*A1A0RD*WR*传输说明0000010100000010100111××0110××0001111×011110000×11读端口A读端口B读端口C写端口A写端口B写端口C写控制字D0~D7进入高阻状态非法状态D0~D7进入高阻状态8255A的控制字控制字分为两类:各端口的方式选择控制字;C端口按位置1/置0C口控制字。1.方式选择控制字方式控制字:示例要求:A端口:方式1输入C端口上半部:输出,C口下半部:输入B端口:方式0输出方式控制字:10110001B或0B1H初始化的程序段:MOVDX,0FFFEH;假设控制端口为0FFFEHMOVAL,0B1H;方式控制字OUTDX,AL;送到控制端口初始化编程后:当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备设某8086系统中有2片8255A芯片,由74LS138译码器产生两个芯片的片选信号,如图所示。要求:第一片8255A的A口工作在方式0输出,B口工作在方式0输入,C口高4位为输出,低4位为输入。第2片8255A的A口为方式0输入,B口工作在方式1输入,C口高4位为输出,低4位为B口控制信号。方式控制字应用思考题(1)试指出两片8255A芯片各自的端口地址;(2)试指出两片8255A芯片各自的方式控制字;(3)试写出两片8255A芯片各自的初始化程序;答:(1)对于第一片8255A,必须满足A8=1,M/IO=0,A5=1,A4=1,A3=1,Y7有效,而其它位可以为0或1,若取它们均为0,则A口地址为0138H,则B口地址为013AH,则C口地址为013CH,则控制端口地址为013EH;同理,第一片8255A的A口地址为0130H,则B口地址为0132H,则C口地址为0134H,则控制端口地址为0136H。答:(2)第一片8255A芯片由于A口工作在方式0输出,C口高4位为输出,所以控制字的D6D5=00,D4=0,D3=0;B口工作在方式0输入,C口低4位为输入,D2=0,D1=1,D0=1。完整的控制字为10000011(83H);第二片8255A芯片由于A口工作在方式0输入,C口高4位为输出,所以控制字的D6D5=00,D4=1,D3=0;B口工作在方式1输出,C口的低4位为B口控制信号,设为输入,D2=1,D1=0,D0=1。完整的控制字为10010101(95H);答:芯片的初始化程序如下所示:INIT8255PROCMOVAL,83HMOVDX,13EHOUTDX,ALMOVAL,95HMOVDX,136HOUTDX,ALRETINIT8255ENDP1.假设其它条件不变,若第一片8255A接138译码器的Y0,第二片8255A接138译码器的Y1,两片8255A的地址将有什么变化?2.假设其它条件不变,若8086CPU的地址线A1连接两片8255A芯片的片内地址线A1,8086CPU的地址线A2连接两片8255A芯片的片内地址线A0,8255A的端口地址和有关软件有什么变化?QUESTION:2.端口C的位控制字位控制字写入控制端口特别便于置位复位内部中断允许触发器INTE应用举例若想使得某8255A芯片的PC7口置1,PC3口置0MOVDX,0FFFEH;假设控制端口为0FFFEHMOVAL,00001111B;PC7置1OUTDX,ALMOVAL,00000110B;PC3清0OUTDX,AL应用举例设有某8255A的端口地址为60~63H,PC5平时为低电平,要求该引脚输出一个正脉冲。分析:可用程序先将PC5置1,输出一个高电平,再将其清0,输出一个低电平,则该引脚上便输出一个正脉冲。MOVAL,00001011BOUT63H,AL;置PC5为高电平MOVAL,00001010B;置PC5为低电平OUT63H,AL8255A的工作方式和应用举例方式0:基本输入/输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入/输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于双向传送数据的外设适用于查询和中断方式的接口电路3个端口均可工作在方式0A口、B口、C口高4位和C口低4位互相独立,各端口之间没有必然的联系,可以有16种输入/输出方式组合可工作于无条件传送方式和条件传送方式1.工作方式0当端口A工作在方式1并作为输出端口时,端口C的PC7作为输出缓冲器满信号OBFA输出端,PC6作为外设接收数据后的响应信号ACKA输入端,PC3作为中断请求信号INTRA输出端;端口B工作在方式1并作为输出端口时,端口C的PC1作为输出缓冲器满信号OBFB输出端,PC2作为外设接收数据后的响应信号ACKA输入端,PC3作为中断请求信号INTRB输出端;2.工作方式1只有A口可以工作在方式2端口A工作于方式2时,端口C用5个数位自动配合A提供控制信号和状态信号;在方式2下,外设能往CPU发送数据,又能从CPU接收数据。3.工作方式28255A应用举例1PORTAEQU0F0HPORTBEQU0F2HPORTCEQU0F4HPORTCNEQU0F6HCODESEGMENTASSUMECS:CODESTART:MOVAL,10010000B;设置8255A工作方式MOVDX,PORTCNOUTDX,AX源程序如下:START1:MOVDX,PORTA;A口地址INAL,DX;读开关量MOVDX,PORTB;B口地址OUTDX,AL;写发光二极管状态JMPSTART1CODEEDNSENDSTART源程序如下:8255A的A口和B口工作在方式0下,A口为输入端口,接有4个开关,B口为输出端,接有一个七段发光二极管,连接电路如图所示。编写一个程序,要求发光二极管显示开关所拨通的数字。8255A芯片应用举例分析可知:8255A的端口地址由两部分电路构成。由CPU高地址线A15~A3通过74LS138译码器产生片选信号,CPU的低位地址线A2和A1分别组合成4个端口地址,而CPU的A0与译码器输出端Y4通过逻辑组合,保证8255A的4个端口地址为偶地址;而8位的8255A与16位的8086CPU可以通过数据总线D7~D0传送8位信息。通过分析得出端口地址分配如下:A口地址为8020H,B口地址为8022H,C口地址为8024H,控制口地址为8026H。题目分析:由图可知,七段发光二极管为共阳极LED器件。要让a段点亮,要求从PB0输出高电平“1”;要使b段熄灭,要求从PB1输出高电平“0”,其余各段依此类推。8255A的A口接有开关,4位开关的组合可为0~FH。为此,可将在LED上显示0~FH各字符的段码列表,如下图所示:题目分析:A_PORTEQU8020HB_PORTEQU8022HC_PORTEQU8024HCTRL_PORTEQU8026HDATASEGMENTTAB1DB30H,06H,5BH,4FH,…31HDATAENDS源程序如下:CODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVAL,90H;设置8255A方式字MOVDX,CTRL_PORTOUTDX,AL源程序如下:ADD1:MOVDX,A_PORTINAL,DX;读A口开
本文标题:微机原理 第六章并行接口芯片8255A
链接地址:https://www.777doc.com/doc-3264428 .html