51单片机——矩阵键盘

server/2024/10/9 15:14:56/

一、矩阵键盘原理图

 

 78879e56f1d542d6bc37434e81bd5582.jpg

我们发现:

P17,P16,P15,P14控制行,

P13,P12,P11,P10控制列。

所以我们如果要选择第四列,只需要把整个P1先给高电位1,再把P10给低电位0。

二、代码

P1=0xFF;

P10=0;

if(P17==0){Delay(20);while(P17==0);Delay(20);KeyNumber=4;}

 if(P16==0){Delay(20);while(P16==0);Delay(20);KeyNumber=8;}

 if(P15==0){Delay(20);while(P15==0);Delay(20);KeyNumber=12;}

 if(P14==0){Delay(20);while(P14==0);Delay(20);KeyNumber=16;}

先把P1给高电位,再把P10给低电位。选择第四列。

当按下4号按钮时,P17这一行低电位0,延迟防抖,松开后防抖。


http://www.ppmy.cn/server/126356.html

相关文章

MySQL基础篇 - 多表查询

01 多表关系 【1】概念:项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各表结构之间也存在着各种联系,基本上分为三种…

数据结构-3.8.栈在括号匹配中的应用

一.括号匹配问题: 1.例一: 把左括号依次压入栈中,越往后压入栈的左括号越先被匹配即被弹出栈->先进后出,后进先出 2.例二: 当遇到左括号就压入栈中,当遇到右括号就把栈顶的左括号弹出,检查…

void类型

编程语言中的void类型是一种特殊的数据类型,它表示不存在任何值。void, 无或者空类型。大部分编程语言支持void, 用做函数无返回值类型。最早ALGOL 68引入void类型。 void的特别使用 经典C缺乏void类型,函数可以不指定返回值,默认是整型int.…

MacOS多桌面调度快捷键

单桌面调度快捷键 可能是我用着妙控鼠标用着不习惯,所以追求快捷键操作,看起来也比较酷。而且在Windows上,我基本不使用多桌面,但是看着同事用Mac的多桌面用的飞起,炫酷程度不亚于win7的Windows键Tab。在不使用多桌面的…

MySQL基础练习题49-低质量的问题

目录 题目 准备数据 分析数据 总结 题目 找出 低质量 问题的 ID 集合。如果一个力扣问题的喜欢率(喜欢数除以总投票数)严格低于 60% ,则该问题为低质量问题。 按 problem_id 升序排列返回结果表。 准备数据 Create table If Not Exis…

创建Vue项目的时出现:无法加载文件 E:\software\node\node_global\vue.ps1,因为在此系统上禁止运行脚本

创建Vue项目的时出现的问题:出现:无法加载文件 E:\software\node\node_global\vue.ps1,因为在此系统上禁止运行脚本 解决方法: .PowerShelll的执行政策阻止了该操作,用 get-ExecutionPolicy 查看执行策略的状态为受限 输入Set-ExecutionPo…

Java面试——操作系统篇

1.进程线程的区别 定义: 进程:进程是操作系统进行资源分配和调度的一个独立单位。它是应用程序运行的实例,拥有独立的内存空间。线程:线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程自身基本上不拥有…

element-ui 通过按钮式触发日期选择器

element ui 写在前面1. 自定义的日期时间组件CustomDatePicker.vue2. 页面效果总结写在最后 写在前面 需求:elementui中日期时间选择器,目前只能通过点击input输入框触发日期选择器,我希望能通过其他方式触发日期选择器同时把input输入框去掉…