飞卡单片机与嵌入式系统实践第5章-3讲述.ppt

飞卡单片机与嵌入式系统实践第5章-3讲述.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
飞卡单片机与嵌入式系统实践第5章-3讲述

2015年6月 《单片机与嵌入式系统实践》 第五章 嵌入式系统人机接口技术 目录 5.3 键盘接口 5.3.1 键盘结构与按键识别 5.3.2 按键抖动与消除方法 5.3.3 键操作与键值处理 5.3.4 项目实践 矩阵式键盘的使用 5.3.1 键盘结构与按键识别 通常人们把按压式或触摸式常开型按钮开关称为按键,而键盘则是一组按键的集合。在常态情况下,键盘每个按键的触点处于断开状态,只有当按下时才闭合形成回路 (1)键盘的分类 编码键盘 和 非编码键盘 独立式键盘 和 矩阵式键盘 5.3.1 键盘结构与按键识别 (2)独立式键盘接口 独立式连接是指每一个按键单独占用一根I/O接口线,因而每根I/O接口线上按键的工作状态不会影响其他I/O接口线的工作状态,电路如下图所示。在嵌入式系统中当使用按键数量较少的时候,经常使用这种连接的独立式非编码键盘。 5.3.1 键盘结构与按键识别 (3)矩阵式键盘接口 以行列形式连接的非编码键盘又称为矩阵式键盘,其结构的特点是用I/O接口线组成行、列结构,行、列线不相通,通过一个按键设置在行、列交叉点上控制行线和列线的连通,电路结构如下所示。在按键数量较多时,这种连接方式可以减少占用I/O口线。 5.3.1 键盘结构与按键识别 (4) 按键识别 在键盘操作中当确认有按键按下后有一个非常重要的步骤来确定到底是哪一个按键被按下,这个操作就称为“按键识别”。按键识别常用的方法有两种:逐行扫描法和行列反转法。 1)逐行扫描法 单片机每次向矩阵式键盘的某一行Xi (i=1~4)输出扫描信号,即使其为0,然后通过读取列线Yj (j=1~4)的状态来确定键闭合的位置。列线Yj通过上拉电阻接置+5V。当无按键按下时,行线Xi和列线Yj断开,列线Y1~Y4呈现高电平。当某一按键闭合时,该键所在行、列线短接。若该行线输出为0,则该列线的电平被拉成0(其余3根列线电平仍为1),此时单片机就可以此判断出闭合按键所在的行、列及键值。 5.3.1 键盘结构与按键识别 2)行列反转法 行列反转法的操作步骤是:操作时,单片机先输出行有效信号,读入此刻列线的状态得到前半个特征字;然后再输出列有效信号,读入此刻行线的状态得到后半个特征字;经过组合、处理得到按键的特征字。所谓的“行列反转”其实是指行线和列线的输入、输出状态切换,由于在该方法中任意一个按键的特征字只需一次行列反转就可唯一确定,因而在识别效率上要优于前面介绍的逐行扫描法,尤其是当矩阵键盘行列数量较大时本方法具有明显的优势。 5.3.2 按键抖动与消除方法 在键盘应用中,为了降低成本,不论是独立式键盘还是矩阵式键盘,通常都采用触点式机械弹性按键,由于触点具有弹性作用,在按键闭合和释放的瞬间均有一连串抖动过程,不会马上稳定地接通或断开,这就是“按键抖动”。 5.3.2 按键抖动与消除方法 由于按键抖动的存在,一次按键操作常常会引起被误读多次。为确保按键的一次闭合或弹开仅作一次处理必须采取措施去除键抖动,这就是“按键消抖”。 消除抖动的方法有硬件消抖和软件消抖两种。 所谓硬件消抖就是采用专门的硬件消抖电路来消除抖动的影响, 软件消抖就是在键盘处理程序中,采用延时的办法多次判断按键当前状态来消除抖动的影响。 5.3.2 按键抖动与消除方法 (1)硬件消抖 在键数较少时可用硬件方法消除键抖动,如下图所示的RS触发器为常用的硬件去抖。图中两个“与非”门构成一个RS触发器。当按键未按下时,输出为1;当键按下时,输出为0。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),中要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。 5.3.2 按键抖动与消除方法 (2)软件消抖 如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,一般为5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。在软件消抖过程中延时和检测程序可能需要多次重复操作,确保在键闭合稳定时再读取键的状态,并且必须判别到键释放稳定后再作后续处理。 5.3.3 键操作与键值处理 (2)同时按键处理 同时按键即两个或多个按键在同一时刻被按下的情况又称“串键”,可以采用不同的方法来处理。最常用的方法为n键锁定技术,即只处理一个键,对任何其他按下又松开的键不进行处理。n键锁定技术又分为“先入有效”

文档评论(0)

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

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

1亿VIP精品文档

相关文档