4*4的键盘矩阵

本文介绍了一个4*4键盘矩阵的实现方法,包括逐行扫描和全扫描两种方式。逐行扫描通过检查行线和列线的交点来确定按键位置,全扫描则先将列线设为低再判断行线,通过两次扫描确定具体按键。同时,文章提供了一个用于存储扫描值的数组和相关函数以辅助识别按键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一个4*4的键盘矩阵,可以采用逐行扫描或全扫描的方式实现按键的读取。

行列扫描

若行线和列线加驱动后空载时为高电平,逐行扫描的方法为逐行使行线的每位为低,再判断列线的返回信号,如果没有键按下,返回的信号全为高;如果返回的信号中有列线为低,那么肯定是有按键按下,根据列线和行线的交点可以判断按键的具体位置。

可以设置一个数组,存放从1F对应的16个代码,比如将P2_0P2_7的交点处定为0,那么数组第0个元素则为0X7E(二进制0111 1110),当正确求出P2对应的数值时与数组对照便可求得按键的值。

uchar keyboard[16]={0x7e,0x7d,0x7b,0x77,0xbe,0xbd,0xbb,0xb7,0xde,

0xdd,0xdb,0xd7,0xee,0xed,0xeb,0xe7},这个数组就是对应键盘扫描值的0~F

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值