4x4矩阵键盘扫描
4x4矩阵键盘扫描🕹️ 硬件优化方案:markdown
复制
下载
[接线图]:P1.0~P1.3 → 行线(接上拉电阻)P1.4~P1.7 → 列线(扫描输出)
⚡ 状态机扫描代码:c
复制
下载
unsigned char Key_Scan() { static unsigned char key_state = 0; unsigned char col, row; P1 = 0xF0; // 列线全低,行线上拉 if((P1 & 0x0F) != 0x0F) { // 有按键按下 switch(key_state) { case 0: key_state = 1; break; // 消抖 case 1: col = P1 & 0x0F; P1 = 0x0F; // 反转扫描方向 row = (~P1 >> 4) & 0x0F; return (row << 4) | col; } } else { key_state = 0; } return 0xFF; // 无按键}
📊 性能对比:
方案扫描速度抗干扰性
传统逐行扫描慢差
状态机扫描快3倍优秀
页:
[1]