51单片机入学第七课——矩阵键盘

小介绍


在上一课中我学到了独立键盘的工作原理和编写代码的技巧(如何软件消抖和按下松手检测),并且在上一节中介绍了独立键盘和矩阵键盘的特点和区别,这一节就主要学习矩阵键盘。

矩阵键盘电路分析


矩阵键盘相对于独立键盘的电路较为复杂,但是依然有迹可循,电路中将P3组所有IO口分为两组,可以将其视为四乘四的网格,十六个按键就分布在网格上。
采用列扫描和行扫描可以确定矩阵键盘上哪一个按键被按下。具体来说,列扫描时先把接在列上面的所有IO口拉高,接在行上的所有IO置低。当其中有一列内任何一个按键按下那么整条列线都会被拉低。这样,就可以确认是那一条列线被触发,并得到当时P3口的十六进制值。紧接着进行行扫描,将行的IO拉高,列的置底,再次检测到P3口的数值,由于十六进制表现为0x**,进行列扫描时获得了第一个*的值,行扫描时获取了第二个*的值,两者叠加就会产生十六种独一无二的值,这样我们得以判断是那个按键被触发。
在这里插入图片描述

一丢丢的C语言基础


C语言三大结构分别为分支,顺序,选择。要想判断十六个值,

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值