资源预览内容
第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
第9页 / 共52页
第10页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
主要内容 有关接口的基本概念 CPU与外设交换信息的方式 简单I/O接口 可编程I/O接口8255及应用,第六章 输入/输出接口,输入/输出接口简称I/O接口,6.1 概述,1外设的特点 (1)外设品种多 (2)外设的工作速度慢且分布范围广 (3)外设的信号类型与信号电平种类多 (4)外设传输的信息结构格式复杂,2I/O接口的功能 (1)数据缓冲和锁存 (2)提供联络信息 (3)信号与信息格式的转换 (4)设备选择 (5)中断管理 (6)可编程功能 (7)具备时序控制,3I/O接口的基本结构 I/O接口有两个接口面,一个I/O接口可能包含多个I/O端口,每个I/O端口需要一个地址。,I/O接口的基本结构,输入输出,6.2.1 I/O端口的编址方式 常用有两种编址方法: (1)和存储器统一编址方式,也称存储器映像方式; (2)和存储器分开,单独编址,也称I/O映像方式。,6.2 输入/输出接口的基本概念,1I/O端口与存储器统一编址方式 把I/O端口地址看作是整个存储器空间的一部分,每个I/O端口看成是一个存储器单元,CPU可利用访问存储器的指令来访问I/O端口,不需要设置专门的I/O指令。,优点: (1) 指令功能比较齐全。 (2)CPU的I/O控制逻辑较简单,对应CPU的引脚数相对较少。 缺点: (1)用户的存储器地址空间相对减少。 (2)指令的长度通常比单独I/O指令要长,指令的执行时间也较长。,2 I/O端口单独编址方式 将I/O端口地址和存储器地址分开,单独编址,各自形成完整的地址空间,两者可以使用相同的地址编号,CPU使用专门的I/O指令来访问I/O端口。,优点 (1)不减少用户的存储器地址空间; (2)单独I/O指令的地址码较短。 缺点 (1)单独I/O指令的功能有限。 (2)I/O操作时序及I/O控制信号线,增加了微处理器本身控制逻辑的复杂性。,6.2.2 输入输出传送方式 CPU与I/O设备之间进行信息交换需要: (1) 数据信号 (2) 状态信号 (3)控制信号,在微型计算机中,主机与外设之间的数据传送方式有四种: 1无条件传送方式 无条件传送方式又称同步传送方式。它是假设外设已经准备就绪,CPU直接利用数据传送指令(与存储器统一编址),或输入指令(IN指令)、输出指令(OUT指令)与外设传送数据。,2程序查询传送方式(也称条件传送方式) CPU通过程序不断地读取并测试外设接口的状态,当设备处于准备就绪,才执行I/O指令完成相应的数据传送操作。,例6.1:一个状态端口地址为0AH,状态端口中的D7为“准备就绪”线,当D7=1表示外设准备就绪。数据端口地址为0BH,编写查询方式输入程序段。,例6.2:一个状态端口地址为0AH,状态端口中的D1为反映外设“空闲”线,当D1=1表示外设空闲。数据端口地址为0BH,编写查询方式把内存中STORE单元内容送至端口的输出程序段。,3中断控制方式 外设准备就绪时自动向CPU发出中断请求信号。CPU在执行每一条指令的末尾处,硬件自动检查是否有外设发出中断请求。,与程序查询方式相比,中断控制方式的数据传送提高了CPU的工作效率,而且外设具有申请服务的主动权。,4DMA(直接存储器存取)方式 是外设与内存之间直接进行交换数据的方式。它不需要CPU的干预,也不需要软件介入,而是由专用的硬件来完成这种高速的数据传送。,HOLD:总线保持请求(在数据传送期间保持高电平) HLDA:总线保持响应(在数据传送期间保持高电平) DREQ:DMA请求 DACK : DMA响应,传送结束?,Y,DMAC发送存储器地址,外设与存储器传送数据,N,DMA工作流程:,6.3.1 简单的并行接口 1简单并行接口的结构 简单的并行接口通常由锁存器和三态缓冲器完成。,6.3 并行接口芯片,2芯片举例 (1)74LS373锁存器 74LS373是一8D锁存器。,(2)74LS244缓冲器 74LS244是一三态输出的八单向缓冲器。,(3)74LS245 74LS245是一三态八双向缓冲器。,接口电路,输出型外设,输入型外设,冲,74LS373,NEXT: MOV DX,8000H ; DX指向接口 IN AL,DX ;从输入口读开关状态 NOT AL ;反相 OUT DX,AL ;送输出口显示 CALL DELAY ;调子程序延时10ms JMP NEXT ;重复,输入输出使用一个端口地址 编写数据传送程序段 :,18255A的内部组成 8255A的内部组成框图如图6.5所示。,6.3.2 可编程并行接口,(1)数据总线缓冲器 双向三态8位数据缓冲器,它是8255A与CPU数据总线的接口。输入数据、输出数据、CPU发送给8255A的控制字以及从8255A读出的状态信息都是通过该缓冲器传送。,(2)读/写控制逻辑电路 读/写控制逻辑负责管理8255A的数据传送过程。接收片选信号CS、来自地址总线的地址信号A1、A0和来自控制总线的信号RESET,WR,RD,将这些信号组合后产生A组部件和B组部件的控制信号。,(3)端口A、B、C 端口A有一个8位数据输入锁存器和一个8位数据输出锁存器/缓冲器,用作输入口或输出口时,都有数据锁存功能。 端口B有一个8位数据输入锁存器和一个8位数据输出锁存器/缓冲器,用作输入口或输出口时,也都有数据锁存功能。 端口C有一个8位数据输入缓冲器和一个8位数据输出锁存器/缓冲器,用作输入口时,不具锁存;用作输出口时,具有锁存。,(4)A组控制和B组控制 这两组控制逻辑电路一方面接收内部总线上的控制字(来自CPU),另一方面接收来自读/写控制逻辑电路的读/写命令,由此来决定两组端口的工作方式及读/写操作。 A组控制控制端口A及端口C的高4位。 B组控制控制端口B及端口C的低4位。,2.外部引脚 40脚双列直插封装,引脚分配如图6.6所示。 (1)电源、地线:+5V输入端VCC,地线GND; (2)与外设相连:PA7PA0,端口A引脚; PB7PB0,端口B引脚; PC7PC0,端口C引脚; (3)与CPU相连,RESET:复位信号,高电平有效。当RESET信号有效时,所有内部寄存器都被清零。同时3个数据端口被自动设置为输入口。 D7D0:双向数据线 CS:片选信号,低电平有效。 RD:读信号,低电平有效。 WR:写信号,低电平有效。 A1、A0:端口选择信号。规定A1A0为00,01,10,11时,分别选中端口A、端口B、端口C和控制端口。,38255A的工作方式与控制字 (1)8255A的工作方式 a方式0 方式0也叫做基本输入/输出方式。它规定3个端口中的每一个都可以用作简单的输入或输出口;A、B口分别看成一个8位口,C口可看成两个4位口,或1个8位口。这些口共可构成16种不同的使用组合方式,见表6.1。,b方式1 方式1也叫做选通的输入/输出方式。 方式1输入 当端口A和端口B工作于“方式1输入”时,控制信号定义如图6.7所示。,方式1(端口A),方式1(端口B),图6.7 方式1下A、B口均为输入时的信号定义,STB:选通输入信号,低电平有效。它是由外设送给8255A的输入信号,当其有效时,8255A接收外设送来的一个8位数据。 IBF(Input Buffer Full):“输入缓冲器满”信号,高电平有效。IBF信号是由STB使其置位(变为高电平),而由读信号RD的上升沿使其复位(变为低电平)。 INTR(Interrupt Request):中断请求信号,高电平有效。,以端口A为例,在允许中断情况下,对方式1输入的工作过程归结如下: CPU通过执行OUT指令送“方式选择控制字”到8255A,设定端口A为“方式1输入”工作方式。接着使PC4=1,于是INTEA=1,允许端口A处于中断状态。 当外设的选通信号STB有效时,来自外设的数据装入8255A输入缓冲器后, IBFA=1。,在INTEA=1及IBFA=1且STB=1时,INTRA由0变1,端口A向CPU发出中断请求信号。 CPU响应中断,进入中断服务程序,通过执行IN指令对端口A进行读操作,将端口A中的数据读入CPU。并由RD的下降沿使INTRA=0,撤销中断请求,由RD的上升沿使IBFA=0 ,接着8255A的A口又可以接收外设送来的新数据。,方式1输出 当端口A和B工作于方式1输出时,控制信号定义如图6.8所示。,OBF(Output Buffer Full):“输出缓冲器满”信号,低电平有效。 ACK(Acknowledge):外设响应信号,低电平有效。当其有效时,表明CPU通过8255A输出的数据已经由外设取走。它是对OBF信号的回答。 INTR(Interrupt Request):中断请求信号,高电平有效。INTR是当ACK、OBF、INTE都为“1”时才被置成高电平,由WR的上升沿使其变为低电平。,以端口A为例,在允许中断情况下对方式1输出的工作过程归纳如下: CPU通过输出指令送方式选择控制字到8255A,设定端口A的工作方式为“方式1输出”。接着使PC6=1,于是INTEA=1,端口A处于中断允许状态。此时OBFA=1,ACKA也为1。在此种条件下之下,INTRA端输出由低变高,端口A向CPU发出中断请求信号。,CPU响应端口A的中断请求,执行OUT指令将数据写入端口A。在写信号的上升沿作用下,INTR信号变成低电平,同时OBFA=0,表明CPU已经把数据送至指定端口,外设可以把数据输出。外设取走数据后,发出应答信号ACKA=0。 在ACKA有效信号结束后,一方面使OBFA=1,又一方面使INTRA输出端由低变高,端口A再次向CPU发出中断请求,要求输出新的数据,从而又开始一次新的数据输出过程。,c方式2 方式2也叫双向传输方式,只有端口A才能工作于方式2。当端口A工作于方式2时,控制信号的定义如图6.9所示。,INTRA,(2)方式控制字及状态字 8255A的控制字由8位二进制数构成,各位的控制功能如图6.10所示。,状态字 状态字为查询方式提供了状态标志位,通过读取端口C口的内容,可以检查A口和B口的状态。如图6.12所示。,(3)8255A的初始化 在使用8255A芯片时,首先要对它进行初始化,设定端口的工作方式和输入输出。通过软件由CPU向8255A控制寄存器写入方式选择控制字,再对C口按置位/复位写入控制字,这个设置过程就称为“初始化”。 MOV DX,控制端口地址 MOV AL,控制字 OUT DX,AL,6.4.1 Intel 8255A的寻址及连接 8255A芯片内有两根地址线A1,A0,共占用4个端口地址,对端口地址可以进行读/写操作。,6.4 Intel 8255A的应用,例6.3:用8255A作为主机连接打印机接口,如图6.15所示。假设8255A的端口A地址:D0H;端口B地址:D1H;端口C地址:D2H;控制口寄存器地址:D3H。编写程序段,实现N个字符的输出打印。,1LED显示器结构 LED显示器是由发光二极管显示字段组成的显示器,有共阳极和共阴极两种。,6.4.2 七段数码显示器的接口,2显示控制 两种显示方式:静态显示和动态显示。 静态显示:把需要显示的字符的各字段连续通过电流,因而所显示的字段连续发光。 动态显示:把需要显示的字符的各字段断续通过电流,因而其发光是不连续的。,3应用举例 例6.4:用6位LED数码管组成显示器系统,由8255A的端口经驱动控制,接成动态显示方式。采用共阴极显示器,同相驱动,具体连线如图6.17所示。,1独立式按键接口电路和扫描方式 独立式按键中的每个按键相互独立,一个按键对应一根输入线,各按键的状态互不影响,CPU需对各按键
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号