2011-北航微机原理-第九章.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术 第九章 林新 Lx@buaa.edu.cn 北京航空航天大学 自动化学院 内容及要求 掌握8255A的工作方式0 掌握利用8255A进行键盘识别、显示的方法 章节安排 8255A引脚 8255A内部结构 控制字 工作方式 应用举例 9.1 引脚定义 A1 , A0与CS, RD,WR信号一起,用来确定8255A的操作状态 当8255A用在8位数据总线的微处理器系统时,端口选择信号输入端A1A0分别与地址总线的A1A0相连即可 在16位数据总线的系统中,通常将地址总线的A2,A1连到8255A的A1,A0端,以便8255A的数据总线连接在CPU数据总线的低8位上,用偶地址来寻址8255A 9.2 8255A内部结构 (1) 并行I/O端口A、B、C (2) A组和B组控制逻辑 (3) 数据总线缓冲器 (4) 读/写控制逻辑 9.3 8255A控制字 8255A各端口的工作方式由写入8255A控制口的工作方式控制字来确定 工作方式控制字:用来设定通道的工作方式及数据的传送方向。 C口按位置位/复位控制字:向控制寄存器写入控制字,而使它的每一位置位或复位。 9.4 8255A工作方式 (1)工作方式0:基本输入输出方式 (2)工作方式1:选通输入输入输出方式 (3)工作方式2:双向传送方式 方式0:基本输入输出方式 适用于不需要应答信号的简单输入输出场合。 三个端口都可以由程序规定为输入或输出方式,但不能既作为输入又作为输出,也没有提供固定的联络信号。 C口分为两个4位:高4位和低4位,可以分别设置为输入或输出方式。 各端口在输出方式下有锁存功能,输入不锁存 各端口都工作在方式0的方式选择字格式 例 假设8255A的控制字寄存器的端口地址为63H,若要求A组和B组工作于方式0,A口、B口和C口的上半部分(高4位)作输入,C口的下半部分(低4位)为输出,可用下列指令来设置: MOV AL, 1001 1010B OUT 63H, AL 9.5 8255A应用举例 基本输入输出 键盘应用 在PC/XT上的应用 1.基本输入输出 功能:检测某些开关状态,然后用LED显示出 4个端口地址分别为F0H,F2H,F4H,F6H,对应8255A的A口、B口、C口和控制字寄存器。 编程时先要确定方式选择字。端口A为方式0输入,端口B为方式0输出,端口C没有使用,因此写入控制端口的控制字可以是1001 0000B。 初始化程序: MOV DX, 0F6H ; 控制字寄存器 MOV AL, 1001 0000B ; 控制字 OUT DX, AL ; 写入控制字 TEST_IT: MOV DX, 0F0H ; 指向端口A IN AL, DX ; 从端口A读入开关状态 MOV DX, 0F2H ; 指向端口B OUT DX, AL ; 端口B控制LED JMP TEST_IT ; 循环检测 2-1.键盘接口 键盘接口电路 键盘扫描 识别键盘上哪个键被按下的过程称为键盘扫描,包括以下步骤: 检测是否所有键都松开,若没有则反复检测 当所有键都松开时,再检测是否有键压下,若没有则反复检测 若有键按下,要消除键抖动,确认有键压下 对压下的键进行编码,将该键的行列信号转换成16进制码,由此确定哪个键被压下。如果出现多键按下的情况,只有在其它键释放后,仅一个键闭合时才把此键当做本次压下的键。 该键释放后,再回到2 ;端口地址 PORT_A EQU 0FF9H ;8255A端口A地址 PORT_B EQU 0FFBH ;8255A端口B地址 PORT_C EQU 0FFFH ;8255A控制口地址 ;数据段,键盘扫描码表 DATA SEGMENT ; 0 1 2 3 4 5 6 7 TABLE DB 77H,7BH,7DH,7EH,0B7H,0BBH,0BDH,0BEH ; 8 9 A B C D E F DB 0D7H,0DBH,0DDH,0DEH,0E7H,0EBH,0EDH,0EEH DATA ENDS ;堆栈段 STACK SEGMENT STACK DW 50 DUP(0) TOP_STAC LABEL WORD STACK ENDS ;代码段 CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START: MOV AX, STACK MOV SS,

文档评论(0)

wxc6688 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档