人机交互接口技术.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文档。上传文档
查看更多
人机交互接口技术

第三章 人机交互接口技术 3.1 键盘接口技术 3.1.1 键盘设计需解决的几个问题 3.1.2 少量功能键的接口技术 3.1.3 矩阵键盘的接口技术 3.1.1 键盘设计需解决的几个问题 1、按键的确认 每一个按键就是一个开关量输入装置。键的闭合与否,取决于机械弹性开关的通断状态,反应在电压上就是呈现出高电平或低电平。 检测电平状态,可确定键是否按下。 2、重键与连击的处理 重键是指一次按键产生多次击键的效果→编程时,将键的释放作为按键的结束。 连击是指同时或先后按下两个以上的键→系统确认哪个键有效,通常是采用单键按下有效,多键同时按下无效的原则。 3.1.1 键盘设计需解决的几个问题 3、按键防抖技术 硬件防抖技术 滤波防抖 双稳态防抖电路 软件防抖技术 3.1.1 键盘设计需解决的几个问题 硬件防抖技术 滤波防抖 双稳态防抖电路 3.1.1 键盘设计需解决的几个问题 软件防抖技术 当第一次检测到有键按下时,用软件延时一段时间后,再确认该键是否仍维持闭合状态,若仍保持闭合状态电平,则确认此键按下。 3.1.2 少量功能键的接口技术 对于具有少量功能键的系统,多采用相互独立的接口方法。 独立式按键接口:每个按键接一根输入线,各键的工作状态互不影响。 3.1.3 矩阵键盘的接口技术 矩阵式键盘一般为行列式结构,即用I/O口线组成行、列结构,按键设置在行列的交点上,行列线分别连接在按键开关的两端。 3.1.3 矩阵键盘的接口技术 矩阵键盘可分为 非编码键盘 通常采用软件的方法,逐行逐列检查键盘状态,当发现有键按下时,用计算或查表的方式得到该键的键值。 编码键盘 内部设有键盘编码器,被按下的键号由编码器直接给出,同时具有防抖和解决重键等功能。 微型计算机对键盘控制的方法是“扫描”,根据微机进行扫描的方法又可分为程控扫描法、中断扫描法和定时扫描法。 3.1.3 矩阵键盘的接口技术 1、程控扫描法 是由程序控制键扫描的方法。 程控扫描的任务: 1)判断有无键按下 方法:先使所有行输出全为低电平,再将列线状态读入端口A中。 无键按下,则列输入全为“1”,读入值为FFH 有键按下,则至少有一根行线被拉至低电平, 即列输入不全为“1”,读入值不为FFH 2)去除键抖动 若有键按下,则延时10~20ms,再判断一次有无键按下,若键仍按下,则认为键盘上有一个键处于稳定闭合期。 3)判断是哪一个键按下,以求出闭合键的键值 方法:将行线依次置低电平后,检查所有列线状态。 列线状态全为“1”,则按下的键不在此行 列线状态不全为“1”,则按下的键在此行,而且就是与低 电平列线相交交点上的键 举例: 4)确定键值 键值=行值+列值 求键值时,需采用行值、列值两个寄存器,初始值都为00H。 求行值:从第一行开始扫描,每扫描一行后 无键按下,行值寄存器加08H,再扫描下一行 有键按下,行值寄存器保持原值,转去求列值 求列值:从第一列开始扫描,每扫描一列后 无键按下,列值寄存器加01H,再扫描下一列 有键按下,列值寄存器保持原值,转去求键值 求键值:将行值与列值相加 举例:求键值 求行值:扫描X0行,无键按下,行值寄存器:00H+08H=08H 扫描X1行,无键按下,行值寄存器:08H+08H=10H 扫描X2行,有键按下,行值寄存器:10H 求列值:扫描Y0列,无键按下,列值寄存器:00H+01H=01H 扫描Y1列,无键按下,列值寄存器:01H+01H=02H 扫描Y2列,无键按下,列值寄存器:02H+01H=03H 扫描Y3列,有键按下,列值寄存器:03H 求键值:10H+03H=13H 5)求得键值后的处理 求得键值的最终目的是要使程序转到相应的地址去完成键操作。所以求得键值后,判断被按下的键是数字键还是功能键。 数字键:送显示缓冲区显示 功能键:转到相应的功能键处理程序,完成功能操作。 程控扫描程序流程图

文档评论(0)

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

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

1亿VIP精品文档

相关文档