文章目录
前言
学习矩阵按键前需要理解独立按键工作原理及扫描原理
一、独立按键工作原理
开发板所有io口默认全是高电平即 1;
独立按键外接GND,当独立按键K1按下,产生强下拉,将开发板P3_1或P3_0置0,这里置0是连通施密特触发器造成的,当松开按键,断路后恢复原先连通即 维持高电平 1
因此,独立按键能够反复工作
二、矩阵按键
1.原理图
P1=0xFF; //总线初始化操作P1_3=0; if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=1;}if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=5;}if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=9;}if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=13;}P1=0xFF;P1_2=0;//总线初始化操作原因if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=2;}if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=6;}if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=10;}if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=14;}
其中P1_0—P1_3 负责扫描 做强GND 需置0
当P14-P17其中一个连通时 ,连通施密特触发器 ,造成暂时性低电平 以此检测0信号
总结
理解51单片机弱上拉模式