蓝桥杯系列之矩形按键

目录

一.代码解析

二.代码解析 

       ① 列扫描 :

        ② 行扫描 :

三.任务

        1.矩阵键盘密码锁 


        附:密码锁代码

一.代码解析

        矩阵键盘和独立按键差不多,区别在于独立按键一边接GND,一边接引脚作接收端;而矩阵键盘两边都接引脚,在进行列扫描和行扫描切换时,两端引脚发送接收功能也跟着改变。

图1 矩阵键盘原理图

二.代码解析 

u8 mykeys()
{
	u8 keynum=0;
	
	P3=0xf0;P4=0xff;	//列扫描,低四位输出0,读取高四位的值
	if(P44==0) keynum=4;
	if(P42==0) keynum=8;
	if(P35==0) keynum=12;
	if(P34==0) keynum=16;

	P3=0x0f;P4=0x00;	//行扫描,高四位输出0,读取低四位的值
	if(P33==0) keynum=keynum + 0;
	if(P32==0) keynum=keynum + 1;
	if(P31==0) keynum=keynum + 2;
	if(P30==0) keynum=keynum + 3;
	
	return keynum;
}

       ① 列扫描 :

                P3=0xf0;P4=0xff;//P34,35,42,44处于高电平,P30,31,32,33处于低电平

        拿第一列举例:左端P44高电平作输入端,右端P30,31,32,33低电平作输出端,如果按下S7,那么P44读取到低电平0,keynum被赋值。说明你按的那个键位就一定在第一列中的四个键位里面选。

        ② 行扫描 :

                P3=0x0f;P4=0x00;//P30,31,32,33处于高电平,P34,35,42,44处于低电平

        拿第一行举例:左端P34,35,42,44高电平作输入端,右端P30低电平作输出端,如果按下S7,那么P30读取到低电平0,keynum+3=7。说明你按下的键就是S7。

三.任务

        1.矩阵键盘密码锁 

        参考资料:【51单片机入门教程-2020版 程序全程纯手打 从零开始入门】https://www.bilibili.com/video/BV1Mb411e7re?p=16&vd_source=e0a0e92e7fbcb4d0ff760d75fb57a403以及手头例程

        通过网盘分享的文件:矩阵键盘 密码锁.zip
链接: https://pan.baidu.com/s/1FXKPFod3lcdO-H3C1i7oeA?pwd=NICE 提取码: NICE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值