第十二讲键盘设计.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文档。上传文档
查看更多
第十二讲键盘设计

第十二讲 键盘设计 本讲要求: 理解键盘去抖动的原理 掌握独立式键盘的设计方法 掌握行列式键盘的工作原理 一、按键的可靠输入 键盘消除抖动的方法 方法:硬件消除 软件消除 二、常用键盘结构 三、独立式键盘设计实例 例1:在独立式键盘中,利用开关控制LED不同状态,按K1键时,LED单一灯左轮流亮;按K2键时,LED单一灯右轮流亮;按K3键时,LED从中间分开单一灯点亮;按K4键时,LED从两边向中间单一灯亮。 硬件设计 硬件设计 软件设计 1、流程图 2、程序清单 四、矩阵式键盘设计 四、矩阵式键盘设计 三、矩阵式键盘设计实例 例2:设计4×4矩阵式键盘,共有16个按键,通过扫描方法读取键值,当按键时,在LED数码管上显示该键值。 2)硬件电路图 软件设计 1、参数设置:R1——键值(码指针) R3——行扫描值 R4——读取的P1口的值 R5——列扫描循环次数 2、程序清单 * * 抖动时间 <10ms 开关动作时间 >100ms “ 1 ” “ 0 ” <10ms 一次按键过程: 机械触点,抖动: 干扰: 按键的可靠输入:消除抖动的影响 键按下 软件消除方法: 仍有有效信号?确认为有键盘按下一次 无有效信号?认为不是有效输入,是干扰,不予处理 延时: 采集到有效信号 ?延时10ms ?再次采集信号 ? 每个按键单独占有一根I/O接口引线。 每根I/O接口输入的信号对应一个按键。 P1.0 P1.1 P1.7 +5v 独立式键盘 0 1 1 P1.0 P1.1 P1.2 P2.0 P2.1 P2.2 P2.3 行列式键盘 由多条I/O接口引线组成矩阵式键盘。 一般键盘数量大于8个则选用行列式键盘。 行列式键盘 独立式键盘 解: 1、硬件设计 1)电路图 2)将I/O口设置为输入的方法 2、软件设计 1)电路图 2)将I/O口设置为输入 方法:向对应的引脚写“1” 原理: A B BUF2 BUF1 P1.0内部结构 锁存器 P1.0 读锁存器 内部总线 写锁存器/输出 读引脚 ORG 0 MOV P1 , #0FFH MOV P2, #0FFH LOOP: MOV A , P2 CJNE A , #0FFH,LOOP1 SJMP LOOP LOOP1: ACALL DLY1 MOV A , P2 CJNE A , #0FFH,LOOP2 SJMP LOOP LOOP2: JNB P2.4,STAT1 JNB P2.5, STAT2 JNB P2.6, STAT3 JNB P2.7, STAT4 SJMP LOOP ;设置灯的初始状态 ;将P2口设置为输入 ;读取键盘状态 ;若键盘值等于0FFH,说明没有键按下,若不等于0FFH,说明有键按下 ;若没键按下,则转LOOP继续查询 ;延时10ms,消除键抖动 ;再次读取键值 ;是否还有效,若有效则跳LOOP2 ;若无效,说明是误操作,转LOOP继续查询 ;是K1,则转STAT1,不是则向下 ;是K2,则转STAT2,不是则向下 ;是K3,则转STAT3,不是则向下 ;是K4,则转STAT4,不是则向下 ;都不是,说明是误操作,转LOOP继续查询 STAT1: MOV R0 , #8 MOV A , #0FEH NEXT1:MOV P1 , A ACALL DELAY RL A DJNZ R0 , NEXT1 SJMP START STAT2: MOV R0 , #8 MOV A , #7FH NEXT2:MOV P1 , A ACALL DELAY RR A DJNZ R0 , NEXT2 SJMP START ;设置轮流次数 ; 左灯先亮 ;输出灯的初始值 ;延时1s ;灯值左移1位 ;8次未到跳到NEXT1改变灯的状态 ;流动完毕回开始 ;设置轮流次数 ; 右灯先亮 ;输出灯的初始值 ;延时1s ;灯值右移1位 ;8次未到跳到NEXT2改变灯的状

文档评论(0)

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

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

1亿VIP精品文档

相关文档