0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

扩展模块之矩阵键盘

撞上电子 2023-07-31 22:06 次阅读

第一节硬件解读

扩展模块和ADC模块是一模一样的,是插在主板上面的,主板的扩展口在ADC章节讲解了,我们完全可以回顾一下:

7aafd846-2fab-11ee-bbcf-dac502259ad0.png

主板上扩展板引脚的关系:

扩展板序号

主板引脚

1

5V

2

PB6

3

GND

4

PB7

5

PB1

6

GND

7

PB0

8

PA8

9

VDD_NODE

10

PB4

我们来看看矩阵键盘的引脚的定义:

7acc6592-2fab-11ee-bbcf-dac502259ad0.png

所以我们可以得到引脚关系如下:

扩展板序号

矩阵键盘模块引脚

2

ROW1

3

GND

4

ROW2

5

COLUMN1

6

GND

7

COLUMN2

8

COLUMN3

我们综合一下:

扩展板序号

主板引脚

矩阵模块引脚

1

5V

2

PB6

ROW1

3

GND

GND

4

PB7

ROW2

5

PB1

COLUMN1

6

GND

GND

7

PB0

COLUMN2

8

PA8

COLUMN3

9

VDD_NODE

10

PB4

说完了引脚的关系,来说说矩阵键盘的原理,以蓝桥杯物联网的矩阵键盘模块为例,先给ROW1和ROW2一个电平,注意:ROW1或者ROW2一定是只允许其中一个引脚在某一时刻为低电平,除该引脚外,其他引脚必定为高电平,因为我们是通过低电平来判断按键被按下的。然后单片机不断读取COLUMN1,COLUMN2和COLUMN3的引脚。如果在ROW1为低电平,ROW2为高电平的情况下,读取COLUMN2为低电平,则代表B2被按下。

注意:在CubeMX配置和MDK代码中,我们是先给COLUMN1,COLUMN2和COLUMN3一个电平,然后读取ROW1和ROW2的电平。

7aebb85c-2fab-11ee-bbcf-dac502259ad0.png

第二节 CubeMX配置

第一步:配置PA8【注意:PA8和OLED的引脚重复】,PB0,PB1为输出模式,初始化为低电平,并配置用户标签,如下图:

7b16572e-2fab-11ee-bbcf-dac502259ad0.png

第二步:配置PB6(ROW_1)和PB7(ROW_2)为输入模式,上拉,并配置用户标签,如下图:

7b4bc1f2-2fab-11ee-bbcf-dac502259ad0.png


注意:主板上使用了矩阵键盘模块,将在CubeMX中取消ADC模块的配置,在MDK代码中也要删除,否则会报错;另外,PA8是矩阵键盘的引脚,同样也是OLED的引脚,所以,矩阵键盘和OLED不会同时在一个项目中,除非矩阵键盘摒弃PA8,让PA8为OLED引脚。

第三节 MDK代码

第一步:以下是矩阵键盘的读按键函数,如下图:

7b5d83c4-2fab-11ee-bbcf-dac502259ad0.png

7b8ff868-2fab-11ee-bbcf-dac502259ad0.png

7ba66d14-2fab-11ee-bbcf-dac502259ad0.png

7bdf01ec-2fab-11ee-bbcf-dac502259ad0.png

第三步:读取按键键值,如下图:

7c17f8da-2fab-11ee-bbcf-dac502259ad0.png

第四节 实验现象

注意:

1,请用USB线连接电脑与开发板。

2,请选择A开发板。

现象:

1,继电器K1和K2吸合。

2,LED灯LD5亮。

3,按下矩阵键盘,串口(波特率9600,HEX模式)发送键值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2740

    浏览量

    47830
  • adc
    adc
    +关注

    关注

    99

    文章

    6538

    浏览量

    546020
  • 矩阵
    +关注

    关注

    0

    文章

    425

    浏览量

    34671
收藏 人收藏

    评论

    相关推荐

    AN-660:XY矩阵键盘与MicroConverter的接口

    电子发烧友网站提供《AN-660:XY矩阵键盘与MicroConverter的接口.pdf》资料免费下载
    发表于 01-13 16:02 0次下载
    AN-660:XY<b class='flag-5'>矩阵</b><b class='flag-5'>键盘</b>与MicroConverter的接口

    TCA8418用来做键盘扩展,有时候设备开关机或进入睡眠状态,启动或唤醒会出现键盘失灵现象,怎么解决?

    在TCA8418旁边有13.56MHZ的读卡模块,TCA8418用来做键盘扩展,有时候设备开关机,或进入睡眠状态,启动或唤醒会出现键盘失灵现象。8418是什么原因受干扰,有什么办法避
    发表于 01-03 08:04

    希姆计算的RISC-V矩阵扩展开源项目已升级至0.5版本,支持向量+矩阵的实现

    希姆计算的RISC-V矩阵扩展开源项目已升级至0.5版本-----支持向量+矩阵的实现范福杰博士&陈炜博士项目背景Background为了解决RISC-V在人工智能领域中指令碎片化
    的头像 发表于 11-12 01:08 1162次阅读
    希姆计算的RISC-V<b class='flag-5'>矩阵</b><b class='flag-5'>扩展</b>开源项目已升级至0.5版本,支持向量+<b class='flag-5'>矩阵</b>的实现

    【xG24 Matter开发套件试用体验】物联网密码柜驱动矩阵键盘和OLED显示器

    简介 笔者在提交试用申请时填写的项目计划是制作一个物联网密码柜,本阶段的主要目标是驱动矩阵键盘和Oled显示器,为后续完整的物联网密码柜项目打下基础。采用Thonny编辑器
    发表于 08-04 23:04

    LM8325-1扩展器和键盘控制器数据表

    电子发烧友网站提供《LM8325-1扩展器和键盘控制器数据表.pdf》资料免费下载
    发表于 07-04 09:45 0次下载
    LM8325-1<b class='flag-5'>扩展</b>器和<b class='flag-5'>键盘</b>控制器数据表

    基于51单片机矩阵键盘音乐电子琴电路图proteus仿真及程序

    本资源内容概要:       这是基于51单片机矩阵键盘音乐电子琴电路图proteus仿真及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开
    发表于 06-21 14:32 4次下载

    三菱fx系列plc扩展模块怎么配置

    三菱FX系列PLC是工业自动化领域中非常受欢迎的一种控制器,具有高度的可靠性和灵活性。为了满足不同的应用需求,FX系列PLC可以通过扩展模块来增加其功能和性能。本文将详细介绍三菱FX系列PLC扩展
    的头像 发表于 06-20 10:20 3481次阅读

    键盘矩阵规格设计图

    键盘矩阵规格设计图
    发表于 06-19 14:29 0次下载

    用STM8L152使用一个矩阵键盘,信号一直处于低电平状态的原因?

    想用STM8L152 使用一个矩阵键盘,根据的是行列扫描的方法,但是代码调试过程中只能检测到列的信号(高低电平)的变化,信号一直处于低电平状态,这是怎么一回事?哪里出问题了?
    发表于 05-15 08:31

    单片机接矩阵键盘GPIO应该怎么设置?是用上拉输出或输入模式吗?

    单片机接矩阵键盘GPIO应该怎么设置?是用上拉输出或输入模式吗?
    发表于 05-11 08:38

    stop mode下怎么实现按下矩阵键盘的任意键将系统唤醒呢?

    请问有没有大佬知道stop mode下怎么实现按下矩阵键盘的任意键将系统唤醒呢?用WAKEUP 能实现吗?
    发表于 05-06 07:08

    ZCAN总线ZMIO310扩展模块应用指南

    ZMIO310系列扩展模块是立式总线扩展模块,可支持EtherCAT和CAN两种总线方式扩展数字量IO、模拟量AD和DA。 当控制器本体的I
    发表于 04-27 02:45 417次阅读
    ZCAN总线ZMIO310<b class='flag-5'>扩展</b><b class='flag-5'>模块</b>应用指南

    采用NT33510显示屏,如何通过矩阵键盘更改显示屏上的数字内容?

    我想实现一个这样的功能:我的LCD当前显示的是:新年快乐!2018! 想通过矩阵键盘将2018更改成2019,这个过程首先通过矩阵键盘上的左键移动到数字“8”上,然后在通过
    发表于 04-24 08:10

    stm32cubeMX如何配置4*4矩阵键盘

    stm32cubeMX如何配置4*4矩阵键盘,求大佬给代码指导一下,看了太多代码,自己迷乱了
    发表于 03-28 09:27

    stm32模拟IIC总线驱动pcf8574t扩展矩阵键盘,运行一段时间后出现获取到的键值不对的原因?

    stm32模拟IIC总线驱动pcf8574t扩展矩阵键盘,驱动调试成功,正常测试时没有问题,运行一段时间后出现获取到的键值不对,从此之后获取到的键值一直不对。一开始认为是程序逻辑问题,下载程序重新
    发表于 03-12 07:25