第6章 输入输出 02.ppt_第1页
第6章 输入输出 02.ppt_第2页
第6章 输入输出 02.ppt_第3页
第6章 输入输出 02.ppt_第4页
第6章 输入输出 02.ppt_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I/O接口概述,I/O端口与其寻址方式,CPU与外设之间的数据传送方式,并行接口8255A,掌握微型计算机接口技术的基本概念,了解主机与外设之间的各种数据传送方式,了解I/O端口的寻址方式,掌握可编程并行接口芯片8255A的连接与编程,6.4可编程并行通信接口8255A,一、8255A的内部结构,8255A内部结构框图,8255A包括四大部分:数据总线缓冲器、读写控制部件、A组和B组控制部件、端口A、B、C。,(1)数据端口A、B、C,端口A:包含一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器,输入输出数据均受到锁存。,端口B和C:都包含一个8位数据输入缓冲器和一个8位的数据输出锁存器/缓冲器,输出数据能锁存,输入数据不锁存。端口C:可分成两个4位端口,分别定义为输入或输出端口,还可定义为控制、状态端口,配合端口A和端口B工作。,(2)A组和B组控制部件,A组,B组的控制寄存器,接收来自数据总线的控制字,并根据控制字确定各端口的工作状态和工作方式。,(3)读/写控制部件,接收来自CPU地址总线信号和控制信号,并发出命令到两个控制组(A组和B组)。,RESET:复位信号。RESET有效时,清8255A所有控制寄存器内容,并将各端口置成输入方式。,(4)数据总线缓冲器,8255A采用40线双列直插封装,引脚图如图所示。,8255A引脚定义,二、8255A的引脚,*PA7PA0:A端口数据信号引脚,*PB7PB0:B端口数据信号引脚,*PC7PC0:C端口数据信号引脚,*D7D0:8255A的8位数据线,*A1A0:端口选择信号,当A1A0=00时选择端口A,当A1A0=01时选择端口B,当A1A0=10时选择端口C,当A1A0=11时选择控制端口,表6-18255A的读写操作控制,8255A共有两种控制字:即方式选择控制字和对C口置位/复位控制字。,1方式选择控制字:控制字和各位的含义如图所示。,6.4.38255A的控制字,8255A工作方式控制字格式,示例,要求:A端口:方式1输入C端口上半部:输出,C口下半部:输入B端口:方式0输出方式控制字:10110001B或B1H初始化的程序段:;假设控制端口为63Hmoval,0b1h;方式控制字10110001out63H,al;送到控制端口,(2)端口C的置位/复位控制字,控制字的格式如图所示。,8255A置位/复位控制字格式,示例,这一控制字多用在PC口作为应答信号或中断信号时。利用置位复位控制字可将PC端口8位中的任意一位置成高电平或低电平;例如:把PC3置成高电平,则相应的置位字为:00000111B或07H;程序段为:MOVDX,8255_CWRMOVAL,00000111BOUTDX,AL,关于控制字要说明几点:,(1)设置方式控制字时,A口、B口作为整体设置,而C口要分成上、下两部分分别设置。三个端口的工作方式由一个控制字规定。,(2)C口按位置位/复位控制字不是送到C口地址,而是送到控制寄存器地址;且一个控制字只能使C口一位置位或复位。,(3)方式控制字和按位置位/复位控制字均写入同一个控制寄存器地址,二者通过最高位D7来区别。D7=1为方式控制字,D7=0为按位置位/复位控制字。,(1)方式0基本输入/输出方式,方式0是一种基本输入输出工作方式,它的24条I/O线可以全部都用作传送数据,不设置应答信号线,常用于无条件传送,输出有锁存,输入只有缓冲能力而无锁存功能。,方式0控制字具体格式如图所示,6.4.48255A的工作方式,8255A工作方式0控制字格式,由控制字中D4D3D1D0等4位的不同取值可定义方式0的16种工作方式的组合如下表所示。,方式0中,端口C被分成两个4位端口,它们可被定义为输入或输出端口,CPU与3个端口之间交换数据,可直接由CPU执行IN和OUT指令来完成。,(1)方式0的工作特点,方式0的工作状态组合,(2)方式0的输入时序,8255A方式0输入时序,8255方式0输入时序各参数说明,8255A方式0输出时序,方式0输出时序,从输出时序图可以看到,为了将数据能可靠地输出到8255A,对各信号的要求是:(1)地址信号必须在写信号之前有效,同时要求在信号有效(也就是为低电平时)期间内,地址信号不能发生变化。(2)写脉冲(为低电平时间)的宽度最小要求是400ns。(3)要求数据也必须在写信号之前最少有100ns时间出现在数据总线上。,8255A方式0输出时序各参数说明,方式0作为简单传送的例子:输入输出接口,使用8255A作为开关和共阴极LED显示器的接口,设8255A的A口连接8个LED指示灯,B口连接8个开关,要求将B口的开关状态读入,然后送至A口控制指示灯亮、灭。(设8255A的A口的地址为60H),MOVAL,82H;初始化8255OUT63H,ALA1:INAL,61H;读B口OUT60H,AL;将B口中的;状态写入A口JMPA1,(2)工作方式1选通式输入/输出方式,方式1选通输入,方式1操作使端口A或端口B作为锁存输入设备工作。端口C也可按方式1操作使用但不是对数据,而是对控制信号,或当端口A或端口B为选通输入端口时的握手信号。,下图示出8255A方式1选通输入时的内部结构图。,工作方式1输入控制字格式,方式1输入引脚:A端口,数据选通信号当STB=0时,8255将数据锁存到8255A端口的输入数据寄存器中。,输入缓冲器满信号当IBF=1时,说明外设数据已送到8255输入缓冲器,但还没有被CPU读取,通知外设不能再发送数据;,中断请求信号:请求CPU接收数据;使INTR=1的条件是:IBF=1、STB=1和INTE=l三个条件同时具备。,当PA或PB为l方式输入时,各指定PC口的3条线作为8255与外设及CPU之间的应答信号,如图所示。,比较,方式1输入引脚:B端口,IBF:输入缓冲器满信号,向外设输出,高电平有效。,INTE:中断允许信号,它是通过端口PC4(端口A)或PC2(端口B)的位来编程的内部位。,1方式输入的工作过程如下:,1)数据输入时外设为主动地位,当外设数据淮备好后,首先发出STB*信号,把数据输入到8255A的端口寄存器中。2)在STB下降沿数据锁存后,引起IBF1,表示输入缓冲器满,禁止数据再输入。3)在STB上升沿后,IBF=1产生中断请求(若INTE=1),请求CPU读取输入的数据:若采用查询方式可查询IBF来判断接口中有无数据。4)CPU读取接口时,RD的下降沿使INTR复位,撤销中断请求,RD的上升沿使IBF=0,表示输入缓冲器空,可重新输入下一个数据。,8255A方式l输入时序,8255A方式1输入时序参数说明,方式1选通输出,方式1输出控制字格式,方式1输出引脚:A端口,外设响应信号:表示外设已经接收到数据,它是外设对OBF信号的应答。,输出缓冲器满信号:当OBF=0时表示CPU已将数据写到8255A的输出端口,通知外设来取数据。,中断请求信号:请求CPU再次输出数据;INTR=1的条件是:OBF、ACK和INTE都为高电平,也就是输出缓冲器空OBF=1、应答信号结束(ACK=1)和中断允许(1NTE=1)。,比较,方式1输出引脚:B端口,端口A的INTEA对应PC6端口B的INTEB对应PC2,INTE:中断允许信号。,INTR:中断请求信号。高电平有效。,1方式输出的工作过程如下:,1)数据输出时CPU为主动地位,向8255A输出数据,WR的上升沿使OBF=0,表示输出缓冲器满,外设可来读取数据;WR使INTR=0,封锁中断请求INTR。2)外设读取数据后,用ACK回答接口。ACK的下降沿使OBF=1,撤消输出缓冲器满信号;ACK的上升沿使INTR=1,请求CPU再输出下一个数据(若INTE=1)。,8255A方式1输出时序,8255A方式1输出时序参数说明,(3)工作方式2双向选通输入/输出方式,方式2只允许A组采用,此时端口A变为双向,允许数据在同一组8条线上发送和接收。,下图示出方式2操作内部结构图。,端口A方式2控制字,方式2双向引脚,用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号,方式2可以看成是PA口在方式1下输入输出的组合,IBFA:输入缓冲器满信号,向外设输出,高电平有效。,INTE:中断允许信号(INTE1和INTE2)。高电平有效。,INTRA:中断请求信号,高电平有效。,8255A方式2时序,8255A方式2时序的参数说明,8255A中端口A工作方式2时,允许端口B工作于方式0或方式1,完成输入/输出功能。4种组合状态及其工作方式控制字格式如表。,方式2的组合状态与控制字格式,打印机采用并行接口与CPU通信,见教材图6-29所示。打印机接收主机传送数据的过程是这样的:,6.4.58255A的应用实例,一、用方式0与打印机接口,当主机准备好输出打印的一个数据时,通过8255A把数据送给打印机接口的数据引脚DATA0DATA7,同时送出一个数据选通信号STB给打印机。打印机收到该信号后,把数据锁存到内部缓冲区,同时在BUSY信号线上发出忙信号。待打印机处理好输入数据时,打印机撤消忙信号。主机根据BUSY信号决定是否输出下一个数据。,本例中,CPU与8255A采用查询方式输出数据。端口A设置为方式0,输出打印数据,端口C的PC7产生负脉冲选通信号,PC2连接打印机的BUSY信号查询其状态,PC0连接打印机的信号。假设8255A的A、B、C口的I/O地址为00D0H、00D2H和00D4H,控制端口地址为00D6H。,:;初始化程序段MOVAL,81H;A口方式0输出,C口上半部输出,;下半部输入OUT00D6,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论