微机原理与接口技术-8255a

上传人:bin****86 文档编号:54682288 上传时间:2018-09-17 格式:PPT 页数:115 大小:1.24MB
返回 下载 相关 举报
微机原理与接口技术-8255a_第1页
第1页 / 共115页
微机原理与接口技术-8255a_第2页
第2页 / 共115页
微机原理与接口技术-8255a_第3页
第3页 / 共115页
微机原理与接口技术-8255a_第4页
第4页 / 共115页
微机原理与接口技术-8255a_第5页
第5页 / 共115页
点击查看更多>>
资源描述

《微机原理与接口技术-8255a》由会员分享,可在线阅读,更多相关《微机原理与接口技术-8255a(115页珍藏版)》请在金锄头文库上搜索。

1、I/O接口概述,并行接口 8255A,掌握可编程并行接口芯片 8255A的连接与编程,微机系统的信息交换有并行通信 和串行通信两种方式。,并行通信是以微机的字长为传输单位;适合于外部设备与微机之间进行近距离、大量和快速的信息交换。,概 述,一、8255A的内部结构和引脚信号,1. 8255A内部结构,11.1 可编程并行接口芯片8255A,图11.1 8255A内部结构,8255A包括四大部分:数据总线缓冲器、读写控制部件、A组和B组控制部件、端口A、B、C。,(1) 并行输入 / 输出端口A、B、C,端口A:包含一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器,输入输出数据均受到锁存。

2、,端口B和C: 都包含一个8位数据输入缓冲器和一个8位的数据输出锁存器/缓冲器,输出数据能锁存,输入数据不锁存。 端口C:可分成两个4位端口,分别定义为输入或输出端口,还可定义为控制、状态端口,配合端口A和端口B工作。,(2) A组和B组控制部件,A组,B组的控制寄存器,接收来自数据总线的控制字,并根据控制字确定各端口的工作状态和工作方式。,(3) 数据总线缓冲器,(4)读/写控制部件,接收来自CPU地址总线信号和控制信号,并发出命令到两个控制组 (A组和B组)。,RESET:复位信号。RESET有效时,清 8255A 所有控制寄存器内容, 并将各端口置成输入方式。,2. 8255A的引脚,8

3、255A采用40线双列直插封装,引脚图如图所示。,图11.2 8255A引脚定义,* PA7PA0:A端口数据信号引脚,* PB7PB0:B端口数据信号引脚,* PC7PC0:C端口数据信号引脚,* D7D0: 8255A的8位数据线,* A1A0: 端口选择信号,当A1A0=00时 选择端口A,当A1A0=01时 选择端口B,当A1A0=10时 选择端口C,当A1A0=11时 选择控制端口,表11.1 8255A的读写操作控制,8255A共有两个控制字:即工作方式控制字和对C口置位/复位控制字。,1. 控制字,(1)工作方式控制字: 控制字和各位的含义如图所示。,二 、 8255A的控制字及

4、其工作方式,图11.3 8255A工作方式控制字格式,(2) 端口C的置位/复位控制字,控制字的格式如图所示。,图11.4 8255A 置位/复位控制字格式,关于控制字要说明几点:,(1) 设置方式控制字时,A口、B口作为整体设置,而C口要分成上、下两部分分别设置。三个端口的工作方式由一个控制字规定。,(2) C口按位置位/复位控制字不是送到C口地址,而是送到控制寄存器地址;且一个控制字只能使C口一位置位或复位。,(3) 方式控制字和按位置位/复位控制字均写入同一个控制寄存器地址,二者通过最高位D7来区别。D7=1为方式控制字,D7=0为按位置位/复位控制字。,(1) 方式0 基本输入/输出方

5、式,方式0是一种基本输入输出工作方式,它的24条I/O线可以全部都用作传送数据,不设置应答信号线,常用于无条件传送,输出有锁存,输入只有缓冲能力而无锁存功能。,方式0控制字具体格式如图11.5所示,2. 工作方式,图11.5 8255A工作方式0控制字格式,由控制字中D4D3D1D0 等4位的不同 取值,可定义方式0的16种工作方式的组 合,如表11.2所示。,方式0中,端口C被分成两个4位 端口,它们可被定义为输入或输出端 口,CPU与3个端口之间交换数据, 可直接由CPU执行IN和OUT指令来完 成。,表11.2 方式0的工作状态组合,(2) 工作方式1选通式输入/输出方式, 方式1选通输

6、入,方式1操作使端口A或端口B作为锁存输入设备工作。端口C也可按方式1操作使用但不是对数据,而是对控制信号,或当端口A或端口B为选通输入端口时的握手信号。,下图示出8255A方式1选通输入时的内部结构图。,图11.6工作方式1输入控制字格式,(a)端口A方式1输入,(b)端口B方式1输入,图11.7方式1输入端口状态,IBF:输入缓冲器满信号,向外设输 出,高电平有效。,INTE:中断允许信号,它是通过端口PC4(端口A)或PC2(端口B)的位来编程的内部位。, 方式1选通输出,图11.8 方式1输出控制字格式,图11.9 方式1输出端口状态,(a)端口A方式1输出,(b)端口B方式1输出,I

7、NTE:中断允许信号。,INTR:中断请求信号。高电平有效。,(3) 工作方式2双向选通输入/输出方式,方式2只允许A组采用,此时端口A变为双向,允许数据在同一组8条线上发送和接收。,下图示出方式2操作内部结构图。,图11.10 端口A方式2控制字,图11.11 端口A工作在方式2的端口状态,IBFA:输入缓冲器满信号,向外设输出,高电平有效。,INTE:中断允许信号 (INTE1和INTE2)。高电平有效。,INTRA:中断请求信号,高电平有效。,8255A中端口A工作在方式2时,允许端口B工作于方式0或方式1,完成输入/输出功能。4种组合状态及其工作方式控制字格式如表11.3。,表11.3

8、 方式2的组合状态与控制字格式,3. 8255A的工作方式初始化(初始化),4. 8255A中PC口置位/复位操作,目前打印机一般采用并行接口Centronics标准,其主要信号与传送时序如图11.12。打印机接收主机传送数据的过程是这样的:,11.2 8255A的应用实例,一、 8255A与打印机接口,1、用方式0与打印机接口,当主机准备好输出打印的一个数据时,通过8255A把数据送给打印机接口的数据引脚DATA0DATA7,同时送出一个数据选通信号STROBE 给打印机。打印机收到该信号后,把数据锁存到内部缓冲区,同时在BUSY信号线上发出忙信号。待打印机处理好输入数据时,打印机撤消忙信号

9、,同时向主机送出一个响应信号ACK。主机根据信号BUSY或信号ACK决定是否输出下一个数据。,图11.12 方式0的打印机接口,本例中,CPU与8255A采用查询方式输出数据。端口A设置为方式0,输出打印数据,端口C的PC7产生负脉冲选通信号,PC2连接打印机的BUSY信号查询其状态,PC0连接打印机的ACK信号。假设8255A的A、B、C口的I/O地址为FFF8H、FFFAH和FFFCH,控制端口地址为FFFEH。,;初始化程序段MOV DX , 0FFFEHMOV AL , 81H ; A口方式0输出, C口上半部输出,;下半部输入OUT DX , AL ; 输出工作方式字MOV AL ,

10、 0FH ; C口的置位/复位控制字,; 使PC7 = 1, 即置STROBE= 1OUT DX , AL PUSH AX ;输出打印数据子程序, 打印数据; 在AH中PUSH DX PM: MOV DX , 0FFFCH,IN AL, DX ;查询PC2 AND AL, 04H ;BUSY=0? JNZ PM ;忙,则等待,D2=1 表示忙 MOV DX, 0FFF8H ;不忙,则输出数据 MOV AL, AH OUT DX, AL MOV DX, 0FFFEH MOV AL,0EH ;使PC7=0,即置 = 0 OUT DX, AL,NOP ;适当延时,产生一定宽度的低电平 NOP MOV

11、 AL, 0FH ;使PC7=1,置 = 1 OUT DX, AL POP DX POP AX RET,STROBE,2、用方式1与打印机接口,图11.13 方式1的打印机接口,PRINT PROC PUSH AX ;保护寄存器PUSH BX PUSH CX PUSH DX MOV DX , 0FFFEH ;设定A口为选通输出方式 MOV AL , 0A0HOUT DX , ALMOV AL , 0CH ;使INTEA(PC6)为0 , 禁止 中断 OUT DX , ALMOV CX , M ;打印字节数送CX,MOV BX , OFFSET BUF ; 取缓冲区首址 送BX PRINT1:

12、MOV AL , BX ; 取一个数据MOV DX , 0FFF8HOUT DX , AL ; 从A口输出MOV DX , 0FFFCH PRINT2: IN AL , DX ;读C口TEST AL , 80H ;检测OBFA(PC7) ;是否为1?,JZ PRINT2 ; 为0,则继续检测INC BX ;为1,说明数据已输出LOOP PRINT1 ;准备取下一个数据输出POP DX ; 打印结束,恢复寄存器POP CXPOP BXPOP AXRET ; 返回 PRINT ENDP,本例与上例的主要区别是:在上例中,由软件对PC7复位和置位来产生打印机的选通信号,而本例中,8255A工作在选通

13、方式,当执行输出指令时,自动由硬件从PC7(OBFA)输出负脉冲选通信号。当打印机ACK变为有效时,自动将PC7置为高电平。,最简单的键盘如图11.14(a)所示,其中每个键对应I/O端口的一位。没有键闭合时,各位均处于高电平;当有一个键按下时,就使对应位接地而成为低电平,而其它位仍为高电平。这样,CPU只要检测到某一位为0,便可判别出对应键已按下。,二、 8255A与键盘接口,1、键盘的工作原理,图11.14 键盘的结构,用图11.14(a)的结构设计键盘有一个很大的缺点:占用的I/O端口也太多。所以,这种简单结构只用在只有几个键的小键盘中。,通常使用的键盘是矩阵结构的。以33=9个键为例,

14、如图11.14(b),这个矩阵分为3行3列,如果键5按下,则第1行和第2列线接通而形成通路。如果第1行线接低电平,则键5的闭合,会使第2列线也输出低电平。,2、键的识别,(1)行扫描法,图11.15是一个8行8列组成的键盘。行扫描法识别按键的原理如下:先使第0行接低电平,其余行为高电平,然后看第0行是否有键闭合。这是通过检查列线电位来实现的,即在第0行接低电平时,看是否有哪条列线变成低电平。,图11.15 键盘接口电路,如果没有任何一条列线为低电平,则说明第0行没有任何键被按下。此后,再将第1行接低电平,检测是否有变为低电平的列线。如此重复地扫描,直到最后一行。在扫描过程中,当发现某一行有键闭合时,便退出扫描,通过组合行线和列线即可识别此刻按下的是哪一键。,图11.15中将行线与8255A端口B相连,端口B设置为输出。CPU使端口B的某一位为0,便相当于将该行线接低电平;某位为1,则该行线接高电平。将列线与端口A相连,端口A设置为输入。CPU只要读取端口A的数据,就可以判别是否有键被按下及是第几列的键被按下。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号