当前位置: 首页 > news >正文

单片机矩阵键盘

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、什么是矩阵键盘?
    • 1.独立键盘
    • 2.矩阵键盘
      • 变化1
      • 变化2
      • 变化3
    • 3. 通过变型,举一反三,就可以实现4*4的矩阵键盘扫描
  • 二、使用步骤
    • 2.读入数据
  • 总结


前言

学了了独立键盘之后,发现使用一个按键就要浪费一个GPIO,有没有一种节约GPIO的方法,比如要用16个键盘,怎么样才能节省IO口

一、什么是矩阵键盘?

1.独立键盘

在这里插入图片描述在这里插入图片描述

sbit key0= P1^0;  //
if(key0==0{delay(20);//按键消抖if(key0==0{led0=1;}}

独立键盘,接一个按键,就会浪费一个IO口

在这里插入图片描述
独立键盘的程序非常好写,就在上面程序的基础上,添加引脚和判断

sbit key0= P1^0;  //
sbit key1= P1^1;  //
if(key0==0{delay(20);//按键消抖if(key0==0{led0=1;}}if(key1==0{delay(20);//按键消抖if(key1==0{led1=1;}}

2.矩阵键盘

就是由独立键盘组成的?

在这里插入图片描述

变化1

在这里插入图片描述

变化2

在这里插入图片描述

sbit key0= P1^0;  //
sbit key1= P1^1;  //
sbit key2= P1^2;  //
sbit key3= P1^3;  //sbit lie0=P1^4;
while(1)
{lie0=0;if(key0==0{delay(20);//按键消抖if(key0==0{led0=1;}}if(key1==0{delay(20);//按键消抖if(key1==0{led1=1;}}if(key0==0{delay(20);//按键消抖if(key2==0{led0=1;}}if(key3==0{delay(20);//按键消抖if(key1==0{led1=1;}}}

变化3

在这里插入图片描述

sbit key0= P1^0;  //
sbit key1= P1^1;  //
sbit key2= P1^2;  //
sbit key3= P1^3;  //sbit lie0=P1^4;
sbit lie1=P1^5;while(1)
{lie0=0;lie1=1;// 判断第一列if(key0==0{delay(20);//按键消抖if(key0==0{led0=1;//按键0}}if(key1==0{delay(20);//按键消抖if(key1==0{led1=1;1}}if(key0==0{delay(20);//按键消抖if(key2==0{led0=1;2}}if(key3==0{delay(20);//按键消抖if(key1==0{led1=1;3}}}lie0=1;lie1=0;// 判断第一列if(key0==0{delay(20);//按键消抖if(key0==0{led0=1;4}}if(key1==0{delay(20);//按键消抖if(key1==0{led1=1;5}}if(key0==0{delay(20);//按键消抖if(key2==0{led0=1;6}}if(key3==0{delay(20);//按键消抖if(key1==0{led1=1;7}}}

3. 通过变型,举一反三,就可以实现4*4的矩阵键盘扫描

二、使用步骤

2.读入数据

总结

从独立键盘到矩阵键盘,由浅入深

http://www.lryc.cn/news/205560.html

相关文章:

  • 横坐标日期等间隔绘图 python示例代码
  • photoshop2024免费插件Portraiture3
  • NewStarCTF2023week4-More Fast(GC回收)
  • 和鲸赞助丨第16届中国R会议暨2023 X-AGI大会通知
  • Python第三方库 - Flask(python web框架)
  • c# sqlite 修改字段类型
  • [Pytorch] 保存模型与加载模型
  • AES解密报错,Input length must be multiple of 16 when decrypting with padded cipher
  • 电子学会C/C++编程等级考试2023年05月(三级)真题解析
  • 【2023_10_21_计算机热点知识分享】:机器学习中的神经网络
  • app开发者提升第四季度广告收入的方法
  • #电子电器架构 —— 车载网关初入门
  • 系统工程利用计算机作为工具
  • MathType7.4绿色和谐版数学公式编辑器
  • JAVA代码审计-纵向越权漏洞分析
  • 【PG】PostgreSQL逻辑备份(pg_dump)
  • JVM、JRE、JDK
  • Latex 插入矢量图
  • git:删除上一次 commit 中的某个文件,并重新提交
  • proxy解决跨域问题
  • Ubuntu源码编译samba
  • conda虚拟环境配置
  • 如何制作自己的数字人
  • JAVA毕业设计103—基于Java+Springboot+vue的药店管理系统(源码+数据库)
  • LeetCode66——加一
  • CV计算机视觉每日开源代码Paper with code速览-2023.10.23
  • C语言 sizeof 函数内部进行计算
  • 导致爬虫无法使用的原因有哪些?
  • paddlepaddle使用实践过程中的问题记录
  • MySQL数据库 #3