第十一章 ​扩展模块之矩阵按键模块

第一节 硬件解读
不说废话,我们直接看蓝桥杯物联网的扩展的按键模块的原理图:
由上面的图我们可以看出,这是一个2*3的矩阵键盘了,关于矩阵键盘的知识就不再重复了,大家都已经参加物联网的比赛了,这些基础知识也是废话。但是还是要给大家回顾一下,如果按键b3被按下,那就是row1和column3同时为低电平。同理得到,如果row1和column3同时为低电平时,就证明按键b3被按下。
再来看看row1,row2,column1等等连接到stm32l017kb的那个引脚,这时我们需要切换到开发板的原理图:
可以得到这种关系:
扩展版之按键
开发板主板
row1
pb6
row2
pb7
column1
pb1
column2
pb0
column3
pa8
明确了引脚的关系,基本上就可以写代码了。
第一节 环境配置
1,在上一章介绍了oled,我们本次的stm32cubemx的配置将在oled的历程上面修改。这是第一次修改历程,希望大家好好的学习。
2,打开比赛提供的历程,如下图:
3,官方没有勾选上“debug”。我们重新勾选中。
4,官方的下面的引脚都是没有用到的,我们把它取消选中。
5,勾选中扩展模块的按键模块用到的引脚。需要注意的是,pb6和pb7是输入模式,pb0,pb1是输出模式。还要注意的是,pa8是矩阵按键的引脚,也是oled的引脚,在处理矩阵键盘的时候,把pa8同样配置为输出模式。本次用的是赛点资料包的参考历程,oled是用的硬件iic,区别于我们oled的软件iic。【这里如果没有看明白,请大家添加我们公众号客服,一对一讲解】如下图:
6,时钟树等等配置不再重复。
第三节 编写代码
1,由于我们是在赛点资源包中修改的程序,大家的mdk的文件目录应该和公子一样。
2,声明数组,用于oled屏幕的显示。
3,下图中的代码分别是oled的电源使能函数,延迟函数(很重要,否则可能oled无法显示),oled初始化函数,oled清屏函数和最后两句让oled显示“key text”的函数。
4,接下来是矩阵键盘的函数了。由于部分代码是重复的,公子只注释了一部分,以下代码需要添加到while(1)中,用于扫描矩阵键盘:
5,下载器配置,编译代码,下载代码不再重复。
第四节 实验现象
实验注意事项:
1,程序语句需要位于程序的begin与end之间。
2,利用usb线将电脑usb口与开发板usb1口连接。
3,cn4所有拨码开关必须选择on dp档,否则无法下载程序。
4,oled模块与扩展版矩阵键盘模块的pa8引脚冲突,解决方案:oled配置为硬件iic,pab为输出模式。
实验现象:
ld1,ld4常亮。oled第一行显示“key text”。按下矩阵键盘模块,oled第二行显示键值。
宗旨:
免费的服务,永远的开源
说明:
1.本教程免费,开源,禁止用于任何商业用途,违者必究。
2.本教程版权所属为东莞市东城墨竹公子电子工作室,盗版必究。
3.资料下载请通过以下方式:
微信公众号:撞上电子
csdn:撞上电子
掘金:撞上电子
今日头条:撞上电子
--东莞市东城墨竹公子电子工作室
--墨竹公子
--2021.12.10

宽频带宽功率范围高效率的微波整流器设计
电池防爆组合盖帽
变频器滤波器工作时的原理?变频器滤波器有哪些作用?
苹果最新传感器专利细节曝光 魅族16S预计5月发布
NXP推出首款无偏置电压I2C总线缓冲器PCA9525和PCA9605
第十一章 ​扩展模块之矩阵按键模块
超声波运动检测器的电路图分享
新兴存储技术的详细知识分析
机器视觉让机器人能在储存箱中拾取小型零件
日清联合金士顿推出一款联名耳机 让人深感尬出天际
2020年汽车零部件企业双百强榜单及解读白皮书正式发布
随着疫情的爆发跟传播 智慧医疗也纷纷出力
LED显示屏技术方案
首款8G内存手机华硕ZenFone AR竟然这么火?HTC颤抖!
巴西加快发展人工智能,将致力于自然语言处理等领域的研究
高速拨号工作原理
弱电人需要懂的基础组网技术
生物医学领域的传感器的正确测量
维珍航空因冠状病毒的影响宣布退役了三架空客A340-600飞机
已获30多项专利及软著!象印科技获得数千万元Pre-A轮投资