- 1、本文档共112页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如果没有任何一条列线为低电平,则说明第0行没有任何键被按下。此后,再将第1行接低电平,检测是否有变为低电平的列线。如此重复地扫描,直到最后一行。在扫描过程中,当发现某一行有键闭合时,便退出扫描,通过组合行线和列线即可识别此刻按下的是哪一键。 实际应用中,一般先快速检查键盘中是否有键按下,然后再确定按键的具体位置。为此,先使所有行线为低,然后检查列线。这时如果列线有一位为0,则说明必有键被按下, 采用扫描法可进一步确定按键的具体位置。 图10.15中将行线与8255A端口B相连,端口B设置为输出。CPU使端口B的某一位为0,便相当于将该行线接低电平;某位为1,则该行线接高电平。将列线与端口A相连,端口A设置为输入。CPU只要读取端口A的数据,就可以判别是否有键被按下及是第几列的键被按下。 从上面的原理可知,键盘扫描程序的第一步应该判断是否有键被按下。为此,使输出端口各位全为0,即相当于将所有行线接低电平。然后,从输入端口读取数据,如果读得的数据不是FFH,则说明必有列线处于低电平,从而可断定必有键被按下。此时,为了消除键的抖动,调用延迟程序。如果读得的数据是FFH,则程序在循环中等待。这段程序如下: KEY1: MOV AL, 00H MOV DX, ROWPORT ;ROWPORT为行线端口 ;地址 OUT DX, AL ;使所有行线为低 MOV DX, COLPORT ;COLPORT为列线端口地 ;址 IN AL,DX ;读取列值 CMP AL, 0FFH ;判定是否有列线为低电平 JZ KEY1 ;没有,无闭合键,则循环等待 CALL DELAY ;有,则延迟20ms清除抖动 键盘扫描程序的第二步是逐行扫描以判断哪一个键被按下了。开始时,将计数值设置为行数。扫描初第0行为低电平,其它行为高。输出扫描初值后,马上读取列线的值,看是否有列线处于低电平。若无,则将扫描初值循环左移一位,变同时,计数值减1,如此下去,直到计数值为0,或找到按键所在行时止,程序段如下: MOV AH, 0FEH ;扫描初值送AH MOV CX, 8 ;行数送CX KEY2: MOV AL, AH MOV DX, ROWPORT OUT DX, AL ;输出行值(扫描值) MOV DX, COLPORT IN AL, DX ;读进列值 CMP AL, 0FFH ;判断有无接地线 JNZ KEY3 ;有,则转下一步处理 ROL AH,1 ;无,则修改扫描值 ;准备下一行扫描 LOOP KEY2 ;计数一次,未扫完8行,则继续循环 JMP KEY1 ;所有行都没有键按下,则返回继 ;续检测 KEY3: … ; 此时,AL=列值,AH=行值,进行后 ; 续处理 将行线接一个数据端口,先让它工作在输出方式;将列线也接到一个数据端口,先让它工作在输入方式。程序使CPU通过输出端口往各行线上送低电平,然后读入列线值。如果此时有某键被按下,则程序再对两个端口进行方式设置,使接行线的端口改为输入方式,接列线的端口改为输出方式。并将刚才读得的列值从列线所接端口输出,再读取行线的输入值,那么,闭合键所在的行线值必定为0。 (2) 行反转法 这样,当一个键被按下时,必定可以读得一对唯一的行值和列值。但是,要实现上述行反转法,行、列线所接的数据端口应能
您可能关注的文档
- 微处理器部分习题.doc
- 微处理器2.doc
- 微处理器20080909.ppt
- 微处理器(第2讲-第4讲)xiugai.ppt
- 微处理器工作原理.doc
- 微处理器及总线.ppt
- 微处理器控制器(MPUMCU)设计 指纹传感器芯片FCD4B14的.doc
- 微处理器实验.doc
- 微处理器实验7.doc
- 微处理器实验报告1.doc
- 大学计算机应用基础(第2版) 课件 第六章 计算机网络.pptx
- 2015年广东省初中语文毕业生学业考试模拟试题(三).docx
- 2015年九年级上册语文第一单元、第六单元测试卷(语文版).docx
- 2015年普通高等学校招生全国统一考试(广东卷)x.docx
- 2015年第一次全国大联考语文试题(山东卷).docx
- 2015年语文中考讲练测-辨析修改标点符号(测案)(附答案).docx
- 2015年甘肃省第一次高考诊断试卷逐题详解(附答案).docx
- Python数据分析基础与应用(微课版)课件 5.2 Pandas数据合并.pptx
- 物流项目运营 课件 模块四物流项目监控.pptx
- Linux操作系统基础教程(第2版)习题及答案.doc
最近下载
- 膝关节置换术术后护理ppt.pptx
- 2025中考时政热点话题与知识链接.pdf VIP
- 国家开放大学电大《计算机应用基础(本)》终结性考试试题答案(格式已排好)任务二.pptx VIP
- 公诉人在法庭上讯问被告人应把握规则和方法.doc VIP
- JT_T 1499-2024 公路水运工程临时用电技术规程.pdf VIP
- DB32∕T 3160-2016 高等学校智慧校园建设与应用规范地方标准.pdf VIP
- 刑事诉讼法和公安机关办理刑事案件程序规定.ppt VIP
- 2025年最新国家开放大学电大《家畜解剖基础》期末题库及答案 .pdf VIP
- 工程投入的主要物资(材料)情况描述及进场计划.docx VIP
- 国开电大网络存储技术(福建)形考任务二参考答案.doc VIP
文档评论(0)