历史上的今天
今天是:2025年03月29日(星期六)
2020年03月29日 | 单片机小白学习之路(九)---矩阵按键在数码管上显示数字
2020-03-29 来源:eefocus
目标:矩阵按键在数码管上显示数字
矩阵按键模块:

矩阵按键模块
P0~3是一组,P4~7是一组
矩阵按键识别方法:
(1)逐行扫描
是种常见的方法,先把高四位全部置低电平,低四位置高电平,如果有按键按下那么低四位就会出现不全为1的情况,因为按键变不导通状态,之前是导通,这样就知道有按键按下了。
知道按键按下后就要判断具体是哪个按键按下的,于是把高四位和低四位变高电平,然后逐行逐列检测发现有行有个低电平,又发现个列有低电平,两个一交叉就知道是哪个按键按下的了
(2)行列扫描
通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位变不全为高电平,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下。
然后再反过来,高四位输出高电平,低四位输出低电平,然后根据接收到的高四位的值判断是那一行有按键按下,这样就能够确定是哪一个按键按下了。
矩阵按键可以变成独立按键吗?
独立按键以前说过,就是一端接地的区别,所以把列接地,就变成的独立按键,可以拿排针把高位接出来
代码:

代码
LSA, LSB, LSC是数码管位选,定义了两个全局变量
第一个if是让低四位置高电平,判断列,通过P1口数值的不同知道是那个列按下,给keyvlaue赋相应值,然后再判断行,行与行之间相差4,所以这里第四行与第一行差12,其它自行对比
那个while((a<50)&&(Butt!=0x0f))是判断按键是否松开,还能防止一直按着使cpu一直工作
史海拾趣
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 非专业人士在选购,安装空调冰箱时,面对众多名词概念,不少人会迷惑,这里做一点科普。 冷量:事实上,并没有冷量的定义,只有热量。可以理解为移走多少热量,就得到了多少“冷量”。 热量 ...… 查看全部问答> |
|
我是魔兽世界的玩家.我家的配置是赛扬2.4CPU.显卡是.七彩虹9550 内存768 主版是印泰的很老的版本.忘了型号.硬盘40G 不是别的.就是我在家玩魔兽世界时.不是特别卡.(有点卡,但是勉强能玩)但是网络延迟在老是在2000以上. 我先以为是电脑种毒了. ...… 查看全部问答> |
|
用的是友善之比的板子,有谁知道ARM9mini2440能驱动显示器吗,S3C2440的芯片能 怎么实现啊,显示器是一般的19寸液晶那种?求教啊 [ 本帖最后由 adam52 于 2010-11-29 00:11 编辑 ]… 查看全部问答> |
|
系统设计人员正面临越来越多的挑战,他们需要在不降低系统组件(例如:高速数据转换器)性能的情况下让其设计最大程度地节能。设计人员们可能会转而采用许多电池供电的应用(例如:某种手持终端、软件无线设 ...… 查看全部问答> |
|
Andrew Armutat 产品市场部 吉时利仪器公司 2601型单通道系统源表[1] 快速脚本。利用脚本和脚本处理器加速测试进程并非新鲜事物;它们很早就用于加速Web连接和管理各种批处理。然而,在测试测量仪器的自动化方面使用脚本和脚本处理器, ...… 查看全部问答> |
|
AD8603采用 1.8 V至5.0 V单电源 或 ±0.9 V至±2.5 V双电源供电。我这里的仿真采用的是5V双电源供电 电压放大20倍没失真可是当我采用5V单电源供电或者是±2.5 V双电源供电都有失真 这个是怎么回事啊? 恳请大神指点迷津!… 查看全部问答> |




