C51学习归纳4 --- 矩阵键盘

一、开发板原理图

        我们可以看到这个键盘是4*4的,行可以由4个数据接口接收(P1_4~7),列可以由4个数据接口接收(P1_0~3)。

        所以我们可让行作为扫描方向,或者列作为扫描方向,进行按键扫描。如何扫描?让4个端口输入,4个端口接收,如果接收到了输入的数据则代表按键按下,电路连通。

        比如,我们初始化P2=0xFF,即所有的P2_x都是高电平。然后让P1_0 = 0,去检测P1_4~7哪一个是低电平,这样就完成了最后一列的扫描。

        所以,这个很简单的只需要对,端口直接操作即可。

二、矩阵按键按下返回数字

        这里需要我们用LCD1602进行显示,看到我们的数据。(或者你也可以用串口输出,都是ok的,只是一种验证的方法)。LCD1602是一个显示器,可以直接找到它的.c.h 文件,直接使用就可。

        我们先看列扫描的代码

#include <REGX52.H>
#include "Delay.h"

/**
  * @brief  矩阵键盘读取按键键码
  * @param  无
  * @retval KeyNumber 按下按键的键码值
			如果按键按下不放,程序会停留在此函数,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值