矩阵键盘模块

目录

1.矩阵键盘介绍

2.扫描的概念

数码管扫描(输出扫描)

矩阵键盘扫描(输入扫描)

矩阵按键采用逐行扫描:

3.矩阵键盘代码

第一步:

第二步:

第三步:

第四步:

第五步:

第六步:

第七步:

4.矩阵键盘密码锁

第一步:

第二步:

第三步:

第四步:

第五步:


1.矩阵键盘介绍

在矩阵中按键数量较多时,为了减少I/O口的占用,通常将按键排列矩阵形式

采用逐行或逐列的"扫描",就可以读出位置按键的状态

2.扫描的概念

数码管扫描(输出扫描)

原理:显示第1位→显示第2位→显示第3位→......,然后快速循环这个过程,最终实现所有数码管同时显示的效果

矩阵键盘扫描(输入扫描)

原理:读取第1行(列)→读取第2行(列) →读取第3行(列) → ......,然后快速循环这个过程,最终实现所有按键同时检测的效果

以上两种扫描方式的共性:节省I/O口

矩阵按键采用逐行扫描:

因为P15连接到步进电机的BZ,而BZ连接到蜂鸣器,为了让他们不冲突,所以不能逐行扫描,所以矩阵按键要逐列扫描。

逐行扫描:给0就代表扫描,其他给1(没选中),一次只能扫描一行;P10-P13给0表示按下,给1表示没按下

按列扫描也一样思路

3.矩阵键盘代码

第一步:

将延迟的和LCD1602(液晶显示)的代码复制到工程目录下

第二步:

添加到keil中(选中文件右键,Add filess to Grop---)

第三步:

引用头文件使用(前面知识,要先初始化才能用)

补充:如果不想看警告就去掉警告,不显示

补充:快速生成常用格式代码

设置,完成后双击就可以生成了

第四步:

扫描矩阵按键代码,可以选中图片右键浏览,这样看模糊:(局部变量要赋初始值)

第五步:

第一列判断是否被按下代码

第六步:

那一列检测那一列置0,再检测列的第几个按下(其他的列复制过来改下)

头文件声明

第七步:

main函数调用

矩阵按键函数其他列如下

4.矩阵键盘密码锁

第一步:

将矩阵键盘代码复制过来到工程目录下(复制功能模块点C和点H文件)在主函数引入头文件

第二步:

第三步:

乘以10和+=操作理解

矩阵键盘密码锁

第四步:

显示密码超出范围(大于int类型函数显示值),解决方法Count,计数

11按键确认键

第五步:

取消键12

相关推荐
WD1372980155720 小时前
WD5030A,24V降5V,15A 大电流,应用于手机、平板、笔记本充电器
stm32·单片机·嵌入式硬件·智能手机·汽车·电脑·51单片机
萧技电创EIIA2 天前
基于wifi摄像头与单片机的串口透传及二次开发
单片机·51单片机·硬件工程·个人开发
hazy1k2 天前
51单片机基础-矩阵按键
嵌入式硬件·矩阵·51单片机
易享电子2 天前
基于单片机大棚浇水灌溉控制系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·fpga开发·51单片机·proteus
小莞尔3 天前
【51单片机】【protues仿真】基于51单片机温度测量系统
c语言·单片机·嵌入式硬件·物联网·51单片机
易享电子4 天前
基于单片机智能台灯(调光,时钟)系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·fpga开发·51单片机·proteus
hazy1k4 天前
51单片机基础-动态数码管显示
stm32·单片机·嵌入式硬件·51单片机
F133168929574 天前
WD5030A,24V降5V,15A 大电流,应用于手机、平板、笔记本充电器
stm32·单片机·嵌入式硬件·51单片机·硬件工程·pcb工艺
易享电子4 天前
基于单片机电器断路器保护器系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·fpga开发·51单片机·proteus
小莞尔5 天前
【51单片机】【protues仿真】基于51单片机全自动洗衣机系统
c语言·单片机·嵌入式硬件·物联网·51单片机