51单片机——矩阵键盘

一、矩阵键盘原理图

我们发现:

P17,P16,P15,P14控制行,

P13,P12,P11,P10控制列。

所以我们如果要选择第四列,只需要把整个P1先给高电位1,再把P10给低电位0。

二、代码

P1=0xFF;

P10=0;

if(P17==0){Delay(20);while(P17==0);Delay(20);KeyNumber=4;}

if(P16==0){Delay(20);while(P16==0);Delay(20);KeyNumber=8;}

if(P15==0){Delay(20);while(P15==0);Delay(20);KeyNumber=12;}

if(P14==0){Delay(20);while(P14==0);Delay(20);KeyNumber=16;}

先把P1给高电位,再把P10给低电位。选择第四列。

当按下4号按钮时,P17这一行低电位0,延迟防抖,松开后防抖。

相关推荐
xxwxx__4 天前
51单片机智能家居系统:从零实现温湿度监测、蓝牙遥控与PWM风扇调速
嵌入式硬件·51单片机·智能家居
xxwxx__4 天前
51单片机电机控制全攻略:直流电机、舵机与步进电机
c语言·单片机·嵌入式硬件·51单片机
Lumos6fly5 天前
51单片机从零到实战(15)——数字时钟温度计
单片机·嵌入式硬件·51单片机
Ameilide6 天前
51单片机学习 day1
嵌入式硬件·学习·51单片机
wuyk5557 天前
59.嵌入式C语言高级宏定义实战:多行宏、字符串化与符号拼接
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·51单片机
BW.SU7 天前
瑞佑RUI--工业UI,拖拽即成
stm32·单片机·51单片机·gui·人机界面·单片机可视化设计
2401_8275012813 天前
51单片机(二):GPIO、中断、定时器与PWM
单片机·嵌入式硬件·51单片机
2401_8275012813 天前
51单片机(四)DS18B20 数字温度传感器
c语言·51单片机
2401_8275012813 天前
51单片机(三)串口通信(UART)、Modbus协议
单片机·嵌入式硬件·51单片机
智者知已应修善业14 天前
【51单片机实现初始化数码管不显示按启动从0秒计时到60按暂停一次显示当前秒按2次恢复原始状态】2024-6-11
c语言·c++·经验分享·笔记·嵌入式硬件·算法·51单片机