矩阵键盘原理

 
单片机引脚高电平是路端电压是5V,低电平是地0V,为什么不会发生短路呢。     
玻璃丝包线  因为脚高电平电压5V不是电源的5V,是经过了一个上拉电阻后的5V,当高低电平端接是,高电平端就被接地,就有电流流过上拉电阻,所以不短路。单片机IO口电路其实就是一个NPN三极管,集电极与电源之间接一个上拉电阻。你所提到的高电平所测到的电压是集电极电压。不知道楼主明白没有呢
矩阵键盘在单片机中就是两个端口短接,都变为低电平,再取查询判断低电平的位置,得知是哪个键按下,再取执行相应的程序
呵呵,是有点尴尬,搞了这么几年,到现在竟然矩阵键盘都不会!不过也不意外,毕竟之前并不能把所有的知识都学到!比如串口,本科的时候就没仔细研究过,后来做GSM,没办法,还是一点一点的去深入理解它,才毕竟通了!矩阵键盘也是一样,现在实习有个项目,要用到矩阵键盘,就现在熟悉下原理,哈哈!
按键数目比较多、I/O资源有限的情况下,有几种方法实现多按键检测:
显示器挂架
 端口扩展:采用端口扩展芯片实现单片机I/O口的扩展;
使用专门的键盘芯片;
FOSY
使用矩阵键盘。mesh设备
      其中矩阵键盘是一种比较常用的方法。矩阵键盘的电路图如下:
 
    矩阵式键盘由行线列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,单片机通过检测行或列线上的电平变化可以确定哪个按键被按下。
二代身份证验证系统
鸡蛋托盘    矩阵键盘不仅在连接上比单独式按键复杂,它的按键识别方法也比单独式按键复杂。
    矩阵键盘的检测方法有多种,常见的有:逐点扫描法、逐行扫描法、全局扫描法。
    在本实例中我们采用逐行扫描法来实现按键检测,其中PD0-PD3作为列线,PD4-PD7作为行线。识别过程如下:
    1、判断键盘中是否有键按下。设置所有行线为输出口,并输出低电平;设置列线为输入口,读取列线上的电平状态,只要有一列的电平为低,就表示有按键按下,并且被按下的键位于电平为低的列线与4跟行线相交叉的4个按键中,若所有列线都为高电平,表示没有按键按下;
    2、判断被按下按键所在的位置。在确认有键按下后(进行按键消抖处理后),接下来就是确定具体哪个案件被按下,方法是:依次将每根行线设置为输出口,并输出低电平(同
时剩余行线输出高电平),然后逐列检查每根列线的电平状态,若某列为低电平,则该列线与设置为输出低电平的行线交叉处的按键就是被按下的按键。
      3、按键位置确定后,接下来就要给矩阵键盘中的每个按键进行编号,也就是进行按键编码,程序设计中常用计算法和查表法两种方式对按键进行编码,本实例采用计算法编码。
 
     从上面的电路图中我们可以看到,键盘的所有行线和列线都接了上拉电阻,这是为了确保在没有按键按下的时候,I/O口的电平状态始终为高电平,从而消除外界干扰。
       对于AVR单片机来说,我们已经知道在I/O口输入状态下,可以使能其内部上拉电阻,所以上面电路图中连接4根列线的上拉电阻可以不用,直接使能内部上拉电阻即可。

本文发布于:2024-09-22 03:56:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/329793.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:按键   列线   键盘   高电平   行线   矩阵   低电平   输出
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议