第11章 键盘和鼠标解析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 键盘和鼠标 第11章 键盘和鼠标 教学建议,本章重点为: 行扫描法的原理; 行反转法的原理; 连锁法和巡回法解决重键问题的原理; 键盘扫描码和系统扫描码的含义; 扩展键盘的工作原理; 主机键盘接口的功能和构成; 09H和16H键盘中断处理程序的功能; 鼠标驱动程序的调用方法。 课后作业参考 利用行扫描法来识别闭合键的工作原理是什么?为什么在识别一个键前,先快速检查键盘中是否有键按下?快速识别有无闭合键的方法是什么? 设计一个用行扫描法识别闭合键的扫描程序,设键盘上有4×5个键,并行口A接四根行线,并行口B接五根列线,两个端口的地址分别为PORTA、PORTB。 叙述行反转法的基本工作原理,画出行反转法的程序流程。 连锁法和巡回发识别重建的基本思想是什么? 用连锁法识别重键时,对《微型计算机技术及应用》一书的图9.8中的三种重键情况分别如何处理?看懂图8.9的流程,并说明按标准的连锁法,此流程应如何修改? 巡回法是如何识别三种重键情况的?分析图9.10的流程图,并编写一个8行×8列的巡回法识别重键程序,端口地址用标号表示。 一、 键盘的基本原理结构 二、 键的识别——行扫描法 1.行扫描识别按键的原理: 指定某行接低电平,看是否有列线为低电平,如有则移位确定列。 2. 实际上,先快速检查是否有键按下;再具体判断哪一个键被按下 3. 硬件上行线与列线的接法 4.判断是否有键按下程序如下: WAIT:MOV AL,00H MOV DX, OUTPORT ;往所有行线上输出低电平, OUTPORT为行线所连的输出端口 OUT DX, AL MOV DX, INPORT IN AL, DX ; 读取列值 AND AL, 0FFH CMP AL, 0FFH ;看是否有列线处于低电平 JZ WAIT ;否则没有闭合键,循环等待 DONE: CALL DELAY ;是,则延迟20ms去抖动 … 扫描法判断闭合键的流程 扫描法判断闭合键的程序: PROG: MOV BL,0 ;键号初值为0 MOV CL, 0FEH ;送扫描初值 MOV DL, 8 ;计数值为行数 FROW: MOV AL, CL OUT ROWPORT, AL;扫描一行 ROL AL, 1 MOV CL, AL ;修改扫描值 IN AL, COLPORT CMP AL, 0FFH ;读进列值,并判别是否有哪条列线接地 JNZ FCOL ;有列线接地,则转FCOL MOV AL, BL ADD AL, 8 ;如没有列线接地,则使键号=键号+列数/行 MOV BL, AL DEC DL ;是否各行都扫完 JNZ FROW ;未扫完,则扫下一行 JMP DONE ;已扫完,则转DONE FCOL: RCR AL,1 JNC PROCE ;如此列接地,则转PROCE INC BL JMP FCOL ;如未找到接地的列线,则转FCOL继续寻找 PROCE: ;键命令处理程序 DONE: ;后续处理程序 三、 键的识别——行反转法 1、行反转法的键盘连接 2、行反转法判别闭合键的程序流程 下课 四、 抖动和重键问题的解决 A键先按后放,B键后按先放,图(a) A键先按先放,B键后按后放,图(b) A、B键同时按下,但A键先放,图(c) 重键问题的处理一般采用两种方法: 连锁法:原则是在所有键释放后,只承认此后闭合的第一个键,对此键闭合时按下的其它键均不作识别,直到所有键释放后,才读入下一个键。 巡回法:等前面所识别的键被释放后,就可对其他闭合键作识别。 1、连锁法 连锁法程序清单 KEYNOW:CALL KEY;进行键盘扫描,AL中为键值, 如键值为FFH,表示无闭合键 INC AL JZ NOKEY ;如键值为FFH,则转NOKEY L1:CALL DELAY ;进行延迟 CALL KEY ;进行键盘扫描 MOV BL, AL ;保存键行列值 INC AL JZ NOKEY ;判是否有键闭合,如无,则转NOKEY MOV AL, 〔FLAG〕 AND AL, 0FFH ;测键闭合标志是否为0 JNZ L1 ;如不为0,则循环等待释放 DEC AL JMP QUIT ;如为0,则标志改为FF,并转QUIT NOKEY: MOV BL,0FFH ;键值为FF,表示无闭

文档评论(0)

little28 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档