单片机44键盘设计.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  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文档。上传文档
查看更多
矩阵键盘是单片机编程中所使用的键盘 . 1.矩阵式键盘的结构与工作原理 在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式,如图 1 所示。在矩 阵式键盘中, 每条水平线和垂直线在交叉处不直接连通, 而是通过一个按键加以连接。 这样, 一个端口 (如 P1 口)就可以构成 4*4=16 个按键, 比之直接将端口线用于键盘多出了一倍, 而且线数越多, 区别越明显, 比如再多加一条线就可以构成 20 键的键盘,而直接用端口线则只能多出一键( 9 键)。由此可见,在需要 的键数比较多时,采用矩阵法来做键盘是合理的。 矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源, 并将行线所接的单片机的 I/O 口作为输出端,而列线所接的 I/O 口则作为输入。这样,当按键没有按下时, 所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这 样,通过读入输入线的状态就可得知是否有键按下了。具体的识别及编程方法如下所述。 2 、矩阵式键盘的按键识别方法 确定矩阵式键盘上何键被按下介绍一种 行扫描法“ ”。 行扫描法 行扫描法又称为逐行 (或列)扫描查询法, 是一种最常用的按键识别方法, 如上图所示键盘, 介绍过程如下。 1 、判断键盘中有无键按下 将全部行线 Y0-Y3 置低电平,然后检测列线的状态。只要有一列的电平为 低,则表示键盘中有键被按下,而且闭合的键位于低电平线与 4 根行线相交叉的 4 个按键之中。若所有列 线均为高电平,则键盘中无键按下。 2 、判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将 行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐 行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 下面给出一个具体的例子: 图仍如上所示。 8031 单片机的 P1 口用作键盘 I/O 口,键盘的列线接到 P1 口的低 4 位,键盘的行线 接到 P1 口的高 4 位。列线 P1.0-P1.3 分别接有 4 个上拉电阻到正电源 +5V ,并把列线 P1.0-P1.3 设置为输 入线,行线 P1.4-P .17 设置为输出线。 4 根行线和 4 根列线形成 16 个相交点。 1 、检测当前是否有键被按下。 检测的方法是 P1.4-P1.7 输出全 “0,”读取 P1.0-P1.3 的状态,若 P1.0-P1.3 为全 “1,则无键闭合,否则有键闭合。” 2 、去除键抖动。当检测到有键按下后,延时一段时间再做下一步的检测判断。 3 、若有键被按下,应识别出是哪一个键闭合。方法是对键盘的行线进行扫描。 P1.4-P1.7 按下述 4 种 组合依次输出: P1.7 1 1 1 0 P1.6 1 1 0 1 P1.5 1 0 1 1 P1.4 0 1 1 1 在每组行输出时读取 P1.0-P1.3 ,若全为 “1,则表示为” “0这一行没有键闭合,否则有键闭合。由此得” 到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值 4 、为了保证键每闭合一次 CPU 仅作一次处理,必须却除键释放时的抖动。 键盘扫描程序: 从以上分析得到键盘扫描程序的流程图如图 2 所示。程序如下 SCAN: MOV P1,#0FH MOV A,P1 ANL A,#0FH CJNE A,#0FH,NEXT1 SJMP NEXT3 NEXT1: ACALL D20MS MOV A,#0EFH NEXT2: MOV R1,A MOV P1,A MOV A,P1 AN

文档评论(0)

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

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

1亿VIP精品文档

相关文档