- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
键盘检测原理及技巧实现
第四讲 键盘检测原理及应用实现 4.1 键盘的分类 4.2 独立键盘检测 4.3 矩阵键盘检测 4.1 键盘的分类 键盘分编码键盘和非编码键盘。 键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘. 而靠软件编程来识别的称为非编码键盘; 在单片机组成的各种系统中,用的最多的是非编码键盘。 4.2 独立键盘检测 单片机系统常见按键,按下接通,弹起断开 消除按键抖动的方法(一) 软件消抖:判断到有键按下后,延时一段时间再读取键盘来消除抖动的编程方法 优点:不需要额外的硬件电路 缺点:必须编程实现,且需要选取合适的延时时间 软件消抖程序流程 消除按键抖动的方法(二) 硬件消抖:方法较多,可采用RS触发器实现消抖 独立键盘与单片机连接图 独立键盘编程举例 例1 用数码管的前两位显示一个十进制数,范围从00~59,开始时显示00。每按下S1键一次,数值加1;每按下S2键一次,数值减1;每按下S3键一次,数值归0;按下S4键第一次,利用定时器使数值开始自动每秒加1,再次按下S4,数值停止自动加1,保持原值不变。 4.3 矩阵键盘检测 若按键较多,则独立式键盘会占用过多的单片机I/O口资源,为充分利用其有限的I/O口资源,引入矩阵键盘(行列式键盘) 下面以4*4键盘为例说明矩阵键盘的功能 单片机与4*4矩阵键盘电路 矩阵键盘检测按键原理 扫描法:先输出送一行为低电平,其余行均为高电平,然后输入检测一次各列是否为低电平,若检测到某一列为低电平,则可确认当前哪一行哪一列有键按下,没有键按下则继续,同样方法轮流送各行一次低电平,则可检测完所有按键。 矩阵键盘应用举例 例2 开始数码管不显示,顺序按下矩阵键盘后,在数码管上依次显示0~F,6个数码管同时显示 switch-case语句 多重分支编程常用该语句,常用于判断条件便于用常量表示的场合,此时switch-case语句比if-else if语句使用起来要简洁。 switch-case语句格式 switch(表达式) { case 常量表达式1 ://此处是冒号 语句1; break;//若没有break,则会顺序往下执行 case 常量表达式2 : 语句2; break; ……………… default : 语句n+1; break; } 例3 键盘显示综合应用(秒表) 数码管前三位显示一个秒表,从0.00到9.99之间以1%秒速度运行,用矩阵键盘第二行作为按键。当按下第一个键时秒表停止,松开手后秒表继续运行。(用定时器设计表)。 用同一行另外三个键实现按下第二个时计时停止,按下第三个时计时开始,按下第四个时计数值清零从头开始。 总 结 键盘是单片机最重要的输入设备,对控制系统的编程往往最复杂的就是对按键功能的设定 键盘一般除了字符键以外,还有各不相同的功能键(切换、加、减等) 练 习 按下16个矩阵键盘依次在数码管上显示1-16的平方。如按下第一个显示1,第二个显示2... * * 弹性小按键 自锁式小按键 按键在闭合和断开时,触点会存在抖动现象: 按键抖动电压变化 抖动时间 <10ms 开关动作时间 >50ms “ 1 ” “ 0 ” <10ms 延时等待10ms 仍有按键信号? Y 有按键信号? N Y N 键盘处理 按键释放? N Y & I/O 接 口 & +5v +5v 消除抖动电路 开关 单片机 S R Q Q 不变 不变 1 1 0 1 0 1 1 0 1 0 1 1 0 0 Q Q R S 真值表
文档评论(0)