全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

扩展模块之矩阵键盘

时间:2023-07-31 22:06

人气:

作者:admin

标签: 矩阵  adc  模块 

导读:第一节硬件解读扩展模块和ADC模块是一模一样的,是插在主板上面的,主板的扩展口在ADC章节讲解了,我们完全可以回顾一下:主板上扩展板引脚的关系:扩展板序号主板引脚15V2PB63GN...

第一节硬件解读

扩展模块和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模式)发送键值。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信