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

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

3天内不再提示

【蓝桥杯物联网】第四章 按键

撞上电子 2022-05-26 10:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第一节基本原理

键盘在单片机应用系统中能够实现向单片机输入数据、传送命令的功能,是人工干预单片机的主要手段。下面介绍键盘的工作原理、键盘按键的识别过程和识别方法以及键盘与单片机的接口编程

在进行键盘使用之前,需要先了解一下键盘的工作原理。以下将分三个部分介绍键盘的工作原理。

1.键盘输入的特点键盘实质上是一个按键开关的集合。通常键盘的开关为机械弹性开关,利用的是机械触点的合断特性。一个电信号通过机械触点的断开、闭合过程,其行线电压输出波形如图所示。

1c49ec7c-da90-11ec-b80f-dac502259ad0.png

图中t1和t3是键闭合和断开过程中的抖动期,抖动时间长短和机械特性有关,一般为5~10ms;t2为稳定的闭合期,时间由按键动作所决定;一般为十分之几到几秒;t0、t4为断开期。

2.按键的确认按键的闭合与否反映在行线输出电压是高电平还是低电平上,如果高电平表示断开,则低电平表示键闭合,通过对行线电平的检测从而判断是否有按键被按下。

3.消除按键抖动消除按键的抖动通常有软件和硬件两种方法。硬件消抖一般采用双稳态消抖电路,如下图所示。图中两个与非门构成一个RS触发器。b点的抖动电压波形通过RS触发电路后变成正规的正弦波,这一点很容易从RS触发器的工作过程得到验证。

1c9b6886-da90-11ec-b80f-dac502259ad0.png 

在按键较多时,硬件消抖无法胜任,因此常用软件消除键盘的抖动,在第一次检测到键按下时,延时10ms的时间再确认该键的电平是否继续保持闭合状态的电平,如果继续保持为闭合状态的电平,则确认有键按下,从而消除抖动的影响。

第二节 硬件解读

蓝桥杯嵌入式主板上面是有5个按键的,其中4个用户按键,一个复位按键,本章的实验就是用户按键来控制LED灯。先看看下图的原理图吧:

1cc4a9d0-da90-11ec-b80f-dac502259ad0.png    上图就是4个独立按键的原理图,我们以左上角的为例,按键一端连接到GND,另外一端连接到VDD,也就是说,PB1平时是高电平的状态,一旦按键被按下,就与GND相连,变成低电平了。至于其他的消抖等等不再详述,都学习stm32了,想必51应该学过了。

第三节 环境配置

1,打开stm32cubeMX,选择“File-New Project ...”。

1cffca6a-da90-11ec-b80f-dac502259ad0.png

2,如图,在方框中搜索“stm32g431rb”(可大写,可小写)。然后选择LQFPN64的封装的芯片。

1d4b9ce2-da90-11ec-b80f-dac502259ad0.png3,选中“A-Z”,查看蓝桥杯嵌入式芯片stm32g431rb的所有功能。

1d77d8c0-da90-11ec-b80f-dac502259ad0.png

4,选中“SYS”,在Debug项目中选择“Serial Wire”,可以看见PA13与PA14引脚变成绿色,分别用作SYS_SWDIO和SYS_SWCLK。

1da4dcbc-da90-11ec-b80f-dac502259ad0.png

5,选中“PD2-GPIO_Output”,“PC8-GPIO_Output”,“PC9-GPIO_Output”,“PC10-GPIO_Output”,“PC11-GPIO_Output”,“PC12-GPIO_Output”,“PC13-GPIO_Output”,“PC14-GPIO_Output”和“PC15-GPIO_Output”,这样就可以让芯片的PD2和PC8~PC15作为输出引脚了。

1dc6a306-da90-11ec-b80f-dac502259ad0.png

6,选中“PA0-GPIO_Input”,“PB0-GPIO_Input”,“PB1-GPIO_Input”,“PB2-GPIO_Input”,这样就可以让芯片的PA0和PB0~PB2作为输入引脚了,也据说用户按键引脚。

1e1314f2-da90-11ec-b80f-dac502259ad0.png

7,选中“Project Manager-Project”。在Project Name中填写项目的名字(尽可能不要用中文),在Project Location中选择项目保存的路径,在Toolchain/IDE中选择编译器,蓝桥杯嵌入式比赛用的是MDK5,所以我们选择MDK-ARM V5。

1e3d5302-da90-11ec-b80f-dac502259ad0.png

8,点击GENERATE CODE生成代码。

1e6e3620-da90-11ec-b80f-dac502259ad0.png

9,点击”CLOSE”,关闭stm32cubeMX,代码生成成功。

1ebb7ebc-da90-11ec-b80f-dac502259ad0.png

第四节 程序编写

1,用MDK5打开stm32cubeMX生成的工程。

2,点击“Rebuild”,进行代码的编译,可以看出代码没有任何问题,证明我们利用stm32cubeMX生成代码很成功。

1f051b6c-da90-11ec-b80f-dac502259ad0.png

3,在main.c文件中添加下面定义:

1f5e847c-da90-11ec-b80f-dac502259ad0.png 

4,在main.c文件中加入以下封装好了的函数:

1f8871ba-da90-11ec-b80f-dac502259ad0.png

1fbdb5aa-da90-11ec-b80f-dac502259ad0.png

1febed30-da90-11ec-b80f-dac502259ad0.png

5,将封装好的函数在main.h中声明:

202ab560-da90-11ec-b80f-dac502259ad0.png

6,在mian函数中初始化LED:

2062c41e-da90-11ec-b80f-dac502259ad0.png

7,编写while里面的函数:

20a1d474-da90-11ec-b80f-dac502259ad0.png

8,编译代码。

20db3584-da90-11ec-b80f-dac502259ad0.png

9,点击”Options for Target...“。

211a2bfe-da90-11ec-b80f-dac502259ad0.png

10,点击”Debug“,然后选择下载器”CMSIS-DAP Debugger“,并点击”OK“。

2154441a-da90-11ec-b80f-dac502259ad0.png

11,选择“Settings”。

219a43b6-da90-11ec-b80f-dac502259ad0.png

12,选择”Flash Downlosd”,勾选”Reset and Run”并点击”OK”。

21d1bb48-da90-11ec-b80f-dac502259ad0.png

13,点击”Download“,开始下载程序。

222b861e-da90-11ec-b80f-dac502259ad0.png

14,程序下载成功。

第五节 注意事项与实验现象

实验注意事项:

1,程序语句需要位于程序的BEGIN与END之间。

2,利用USB线将电脑USB口与开发板CN2口连接。

3,J6,J7,J8需要用跳线帽连接,否则无法下载程序。

实验现象:

LD9和LD11常亮。按下B1,LD1亮;按下B2,LD2亮:按下B3,LD3亮;按下B4,LD4亮。

宗旨:

免费的服务,永远的开源

说明:

1.本教程免费,开源,禁止用于任何商业用途,违者必究。

2.本教程版权所属为东莞市东城墨竹公子电子工作室,盗版必究。

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

    关注

    2939

    文章

    47339

    浏览量

    408185
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    学习联网怎么入门?

    随着联网技术的不断发展,越来越多的人开始关注学习这一领域。但是对于初学者来说,联网似乎是一个庞杂的概念,学习起来很困难。因此,从哪里开始学习
    发表于 10-14 10:34

    【「DeepSeek 核心技术揭秘」阅读体验】--全书概览

    讲解Deepseek的使用方法 第三 深入剖析Deepseek-V3的模型架构、训练框架、推理阶段优化、后训练优化等关键技术 第四章关于DeepSeek-R1的技术剖析 第五 从宏观角度分析
    发表于 07-21 00:04

    福田欧曼闪耀墨西哥Súper Copa第四届超级

    在近日举办的墨西哥Súper Copa第四届超级上,福田汽车携旗下欧曼卡车实力亮相赛场,在竞争激烈的牵引车类别中崭露头角。车手Santiago Tovar和Michel Jourdain驾驶欧曼
    的头像 发表于 06-26 16:35 543次阅读

    初级工程师PCB设计技巧(PPT版)

    目录第一:PCB 概述第二:PCB 设计流程及PCB Layout 设计第三: PROTEL 常用操作第四章: PCB Layout 技巧 获取完整文档资料可下载附件哦!!!!
    发表于 06-26 15:50

    电源设计中功率因数校正讲解

    不同的临界导电模式拓扑(恒定输出和跟随升压版本)的设计指南、讨论和显著的效果。 第四章包括两种不同的临界导电模式拓扑(传统的CCM升压和CCM隔离反激)的设计指南、讨论和显著的效果。 第五提供从相同
    发表于 06-25 15:58

    【「# 运算放大器参数解析与LTspice应用仿真」阅读体验】+全书概览与第一阅读分享

    拿到本书之后,看到本书不厚 但是翻开目录可以看到,实际内容还是很丰富的。 第一介绍了运放的基础知识 第二介绍了运放的参数解析 第三介绍了专用放大器 第四章介绍了模拟电路
    发表于 05-22 23:18

    第四章 什么是寄存器

    本篇文章我们讲解了寄存器的概念、地址映射和寄存器操作等内容,内容比较干,大家有个概念即可,不要求全部熟记掌握,有需要时可重复查阅观看。下一篇我们将开始进行实操内容,通过控制单片机的GPIO来点亮一颗LED,敬请期待!
    的头像 发表于 05-21 14:23 1151次阅读
    <b class='flag-5'>第四章</b> 什么是寄存器

    第四章 定时任务】手把手教你玩转新版正点原子云

    第四章 定时任务】手把手教你玩转新版正点原子云 承接上篇,除了报警联动这个功能,原子云还有一个特色功能也是各开发者喜欢用的,定时任务功能。 【正点原子】云平台:原子云(点击登录原子云) 前言
    发表于 03-13 10:19

    汽车电路初识

    第一 汽车电路分析基础第二 汽车电路图识读第三 典型汽车电器电路分析第四章 汽车电路检修第五 汽车电子电路图识读
    发表于 03-10 18:04 7次下载

    蓝桥中GPIO输入之按键实验

    第一节按键的基本知识按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关灯;另一类是无触点式开关按键,如电气式按键
    的头像 发表于 01-09 21:02 1350次阅读
    <b class='flag-5'>蓝桥</b><b class='flag-5'>杯</b>中GPIO输入之<b class='flag-5'>按键</b>实验

    蓝桥联网需要安装哪些软件?

    蓝桥联网比赛需要安装的软件有如下几种,需要大家自己在练习的时候自行安装。下面是安装教程。以下是需要安装的软件,本教程会一一带领大家安装,【注意:一定要按照顺序安装】没有安装包的话,
    的头像 发表于 12-23 21:02 1463次阅读
    <b class='flag-5'>蓝桥</b><b class='flag-5'>杯</b><b class='flag-5'>物</b><b class='flag-5'>联网</b>需要安装哪些软件?

    瑞萨电子荣获维科·OFweek 2024联网行业优秀开发平台奖

    近日,由高科技行业门户OFweek维科网主办、OFweek联网承办的“OFweek 2024(第九届)联网产业大会”暨“维科·OFwe
    的头像 发表于 12-23 11:45 937次阅读

    蓝桥联网开发板硬件组成

    第一节开发板简介联网设计与开发竞赛实训平台由蓝桥大赛技术支持单位北京梯科技有限公司设计和生产,该产品可用于参加
    的头像 发表于 12-22 21:30 2190次阅读
    <b class='flag-5'>蓝桥</b><b class='flag-5'>杯</b><b class='flag-5'>物</b><b class='flag-5'>联网</b>开发板硬件组成

    蓝桥该如何备赛?

    蓝桥联网已经换了三次开发板了,每次换板子,题目难度都会降低不少,所以说,蓝桥
    的头像 发表于 12-19 21:02 2131次阅读
    <b class='flag-5'>蓝桥</b><b class='flag-5'>杯</b>该如何备赛?

    大华股份第四届创新大会暨首届“大华”技术创新大赛圆满落幕

    近日,由浙江省发明协会指导,大华股份主办的大华股份第四届创新大会暨首届“大华”技术创新大赛圆满落下帷幕。
    的头像 发表于 12-11 11:00 873次阅读