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,延迟防抖,松开后防抖。

相关推荐
兰_博16 小时前
51单片机驱动1602液晶显示
单片机·嵌入式硬件·51单片机
相醉为友18 小时前
在开发嵌入式系统时,尤其是处理大数时,会遇到取值范围的问题。51单片机通常没有内建大整数支持,因此我们需要采用不同的方法来解决这一问题
单片机·嵌入式硬件·51单片机
JaneZJW1 天前
Proteus仿真——《51单片机AD和DA转换器的设计》
单片机·嵌入式硬件·51单片机·proteus
灵槐梦2 天前
【速成51单片机】2.点亮LED
c语言·开发语言·经验分享·笔记·单片机·51单片机
新晨单片机设计2 天前
【087】基于51单片机智能宠物喂食器【Proteus仿真+Keil程序+报告+原理图】
嵌入式硬件·51单片机·proteus·宠物·ad原理图
单片机学习之路2 天前
【C语言】结构
c语言·开发语言·stm32·单片机·51单片机
森旺电子2 天前
51单片机仿真摇号抽奖机源程序 12864液晶显示
单片机·嵌入式硬件·51单片机
gantengsheng3 天前
基于51单片机和OLED12864的小游戏《贪吃蛇》
单片机·嵌入式硬件·游戏·51单片机
析木不会编程3 天前
【小白51单片机专用教程】protues仿真独立按键控制LED
单片机·嵌入式硬件·51单片机
IT_阿水6 天前
51单片机之RTC电子钟
嵌入式硬件·51单片机·数码管·rtc电子钟