关于单片机蓝桥杯——按键与矩阵按键

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 11:20   520   0

蓝桥杯的独立按键包含在矩阵按键里,由按键右侧的跳线帽决定。

这是按键的原理图,一开始我以为是一个3*4的矩阵按键和四个独立按键,其实并不是这样,s4~s7这四个独立按键也是矩阵按键的一部分,它是一个4*4的矩阵。

对于这个矩阵按键,我们需要注意:

1.原理图中标注的P3^6,P3^7口实际接的是P4^4,P4^2;

2.如果我们用的是<reg52.h>这个头文件,我们要注意,52是没有P4口的,因此我们要自己定义P4口:

sfr P4=0xc0;


然后,对于这个矩阵按键,有一种看起来很蠢但是很好理解的方法,就是把它当做独立按键来用。

我们可以先将i/o定义好;

sbit R1=P3^0;
sbit R2=P3^1;
sbit R3=P3^2;
sbit R4=P3^3;
sbit C1=P4^4;
sbit C2=P4^2;
sbit C3=P3^5;

sbit C4=P3^4;

然后把R1置0,R2,R3,R4,C1,C2,C3, C4 置1;这样,我们就把第一排的4个按键当成了4个独立按键,当第一排的按键被按下时,对应的C1,C2, C3, C4将会置低。

R1=0;
R2=R3=R4=1;
C1=C2=C3=C4=1;
if(C1==0)
{
while(C1==0);
n=0;
}
if(C2==0)
{
while(C2==0);
n=1;
}
if(C3==0)
{
while(C3==0);
n=2;
}
if(C4==0)
{
while(C4==0);
n=3;

}

其余3排复制稍加修改就好了。虽然emmmmm从逻辑上将挺蠢得,但是方便理解也不需要去算,毕竟蓝桥杯是限时的比赛,能越快做出来越好。


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP