完全手册 51单片机C语言开发详解系列之第7章 输入接口实战—键盘.pptVIP

完全手册 51单片机C语言开发详解系列之第7章 输入接口实战—键盘.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 输入接口实战—键盘接口电路与软件设计 在上一章中详细讲解了AT89S51单片机的输出功能以及跑马灯系统的设计。本章主要通过实际的例子讲解AT89S51单片机的I/O输入接口设计。现在的通用嵌入式系统大都为交互模式,所以用户界面又称为人机交互界面。 在大部分嵌入式系统中,人机交互界面是必不可少的一个重要部分,人机交互界面的设计往往占据很大一部分工作。人机交互界面的与人交互的输入工具一般由显示屏、音响设备等组成,而人机交互界面的输入部分最常见的就是输入键盘接口。 键盘作为人机交互界面中十分重要的工具,在各种嵌入式系统中得到了广泛的应用。对于一个具备人机交互功能的嵌入式系统来说,小的有2~3个键盘,复杂的可能具有几十个键盘输入的键盘阵列。此外,对于单片机最小系统的一些基本构成也需要用到按键输入,例如电源开关和复位按钮等等。本章以AT89S51单片机为基础,详细讲解单片机系统的键盘输入接口设计方法与经验技巧。 7.1 键盘接口电路设计 键盘是嵌入式系统中人机交互界面不可缺少的外围设备,客户或使用者可以通过键盘进行数据输入、命令控制、程序生成等操作,是人机会话中一个十分重要的输入工具。本节将详细讲解键盘的工作原理,键盘按键的识别方法,以及各种不同键盘与单片机的接口技术。 7.1.1 键盘基本原理 基本的键盘都是不同按键开关的组合,可以向单片机系统输入不同的数字量。目前常用的大部分按键都是机械式按键,利用了机械触点的通断作用,通过机械触点的闭合与断开,实现了电压信号高低的输入。由于机械式开关在闭合与断开的瞬间均有抖动过程,因此通过机械式开关输入的电压信号也会出现相应的抖动,这种抖动的时间一般为5~25ms,不同的开关由于不同的机械特征具备不同的抖动时间常数,在键盘设计中必须要考虑键盘抖动的问题,通过硬件或软件的措施来进行键盘输入消抖,保证输入的可靠性。 7.1.2 按键确认 按键闭合与断开,对应的是电压输入的高电平信号或低电平信号,因此要判断键盘是否被按下,就必须对输入电信号的电平进行检测。一般常用的有两种不同结构的按键接口:上拉式接口与下拉式接口。 7.1.3 按键消抖 一个按键开关在闭合与断开时,由于按键的机械特性,其机械触点不能够立刻完全的闭合或断开,因此会产生一系列的电平抖动信号,如果没有对按键进行消抖处理,很可能将一次按键操作识别成多次按键操作,造成系统的不确定性与不可靠性,因此必须要对按键开关输入进行消抖处理。 按键的输入的抖动是由按键开关的机械特性造成的,当按键被按下时,其受力可以用如下的公式进行表示: 在这个公式里,m为按键开关的质量,Kd为按键开关的摩擦系数,K为弹性系数,通过摩擦系数和弹性系数可以计算出按键开关的阻尼系数: 7.1.4 键值的读取 除了进行确认与消抖处理以外,键盘还能够正确地读出所按下的键值,为嵌入式系统的控制程序提供准确的输入参考值。对于扫描式键盘,更应该编制完善的键盘扫描程序,准确读取按键值。 7.1.5 对重键的处理 重键是指用户操作时几个键同时被按下的现象,一般要对重建输入进行相应的处理,最常用的一种处理方法就是,当有多个键同时被按下时,只响应第一个被按下的键。 7.1.6 直接式键盘接口电路设计 直接式键盘接口就是各按键开关单独连接到一个单片机的输入引脚上,每个按键占用一个单片机的I/O端口,每个I/O端口的状态不会影响到其他端口的工作状态,如图7.7所示,为采用上拉接口方式的直接式键盘接口。 直接式键盘接口电路配置灵活,结构简单,例如可以使用一个8位的并行端口接入8路按键开关输入,这种接口最大的优点就是可以用软件识别所有256(28)不同可能的开关组合状态。其缺点是占用的I/O口过多,在按键数目比较多的时候,需要单片机具有较多的I/O端口资源才能够满足要求,因此只适用于输入按键数目比较小的情况。 7.1.7 阵列式键盘接口电路设计 针对直接式键盘接口的缺点和不足,可以采用阵列式键盘接口电路。在阵列式键盘接口电路中,按键开关被组合成了行和列的矩阵,单片机的I/O口一部分作为行线,一部分作为列线,按键布置在行线和列线的交叉点上,行列式键盘中的按键数量可以达到行线线数与列线线数的乘积。例如一个8位的I/O端口最多可以布置的按键数为4×4=16个,阵列式键盘接口的最大优点就是可以用最少的I/O端口资源,实现最多的按键输入。于直接式键盘接口相比,要节省很多单片机的I/O端口,适合应用于按键数目较多的场合。 7.1.8 中断键盘接口电路设计 当键盘工作于扫描状态时,无论是采用程序扫描方式,还是采用定时扫描方式,都不可避免地要占用微处理器的资源对键盘状态进行查询,无论当前是否有按键按下,这样的方式也统一称为查询模式的键盘输入接口。 此外,查询模式的键盘输入接口只有在程序对键

文档评论(0)

经管专家 + 关注
实名认证
文档贡献者

各类文档大赢家

版权声明书
用户编号:6055234005000000

1亿VIP精品文档

相关文档