电子产业一站式赋能平台

PCB联盟网

搜索
查看: 248|回复: 0
收起左侧

【蓝桥杯嵌入式】第四章 按键控制LED

[复制链接]

397

主题

397

帖子

2459

积分

三级会员

Rank: 3Rank: 3

积分
2459
发表于 2023-9-26 21:11:00 | 显示全部楼层 |阅读模式

pgifkwmzxkq6409967750.png

pgifkwmzxkq6409967750.png
. `8 y% S" w2 t  {

  w" N9 n- |' w) J5 E9 s# d. v第一节 按键的基本知识
& W9 }0 ]) x7 n0 w. P3 R按键的最基本的知识就是消抖,它分为软件消抖和硬件消抖。其中,软件消抖流程为:当检测到按键按下时,启动一个延时,持续一段时间(通常几毫秒);在延时结束后,再次读取按键状态;如果按键仍然处于按下状态,那么可以确定按键的状态为按下;否则,可以确定按键的状态为释放;软件消抖通过延时等待按键电平的稳定来避免误触发。如下图:" b; H) k/ V$ @8 h4 ^4 V+ g6 }
         
/ c) V' z+ I8 G) x1 H

vdgtz5t2jlt6409967851.png

vdgtz5t2jlt6409967851.png
! ~- s/ d, ^' u+ a5 b" J
         
5 `' a: i+ k$ C9 E硬件的消抖方案有很多种:在按键引脚与微控制器之间添加外部电路元件,如电容、电阻或Schmitt触发器等,这些电路元件可以滤除按键的电气噪音,提供更稳定的电平信号。2 l4 @. I3 Y( I5 H, F4 Y
蓝桥杯嵌入式开发板并没有在硬件上处理,所以只能通过软件的方式来消抖。" Y. \/ _0 V% D
第二节 硬件解读  
' W% J) }  i8 R

gamdbimxywq6409967951.png

gamdbimxywq6409967951.png
3 M3 K3 D4 `+ p+ X
从图中我们可以看出,一共有4个按键,每一个按键的原理图都是一样的,我们举一个例子吧,以PA0为例,当按键被按下,按键的1,2和3,3导通,按键的3,4接地,导致PA0也接地,所以PA0也就是低电平。由此我们知道,当按键按下时,PA0为低电平;反之为高电平。% w9 l( `' y' {
以下是按键和引脚的关系:
  `6 I; l( c. g
按键
* E8 y8 p. [' ~/ X
引脚' c6 c! F2 p/ A: s+ R
B1
) V: f+ p. ~: p: P
PB05 g9 O* C3 L$ ?: }
B2
' |) R1 v4 J+ ~3 U
PB1- U* T* H6 W1 H+ j, T) S% E# c8 o8 X6 G
B3
' r! a" y0 p) ~) b8 ]( R5 t
PB2  |3 t  i" R: I3 A9 s; W
B47 Q3 ]/ x9 H) U. v; }, L9 ^/ u
PA0
% G3 z8 D% Z8 U5 n" C8 o
         
: R  l( b4 @7 |% R0 |第三节 CubeMX配置  配置PB0,PB1,PB2,PA0为输入模式,并配置上拉和标签。【注意:配图有误,配图为输出模式,正常是输入模式】9 l/ @* w5 ~# @# V* t- A; k

s03qrrb0yas6409968052.png

s03qrrb0yas6409968052.png

: J' W6 B# u2 T( _9 B3 E" A第四节 MDK代码  
$ F& ]" P  \! N; N4 d# f% @

3os2wpk2tky6409968153.png

3os2wpk2tky6409968153.png
6 m  v. g  O" p# z) n2 A1 r- P
结合上图,可以看出需要20ms的消抖时间。所以MDK代码如下:
  J9 M& o( R8 _" A$ q! {: J

ers3ltwtisu6409968253.png

ers3ltwtisu6409968253.png

1 e9 `. ?2 r  V8 z0 s3 K" N5 c4 O/ M+ ~$ U& D/ b4 ?

4rok4eokeff6409968353.png

4rok4eokeff6409968353.png
1 L/ e2 Y1 D" D
5 _9 g- `7 X6 d5 p

mj53vnpvqeb6409968453.png

mj53vnpvqeb6409968453.png

) E5 H2 ~' e+ u$ e6 H9 I% o# I: ~, w6 O- D7 q! ?

j1yjzzffx0p6409968554.png

j1yjzzffx0p6409968554.png

& z6 Z; `8 ^/ n0 Q' f) _  j2 D4 p
5 m7 Z# T% y6 q0 G

ujsmm4paekr6409968654.png

ujsmm4paekr6409968654.png

1 U4 U  u. G2 W" E. W, N: O8 c. _第五节 实验现象   注意:请用USB线连接电脑与开发板,注意是CN2口。  G# ^/ s8 f$ t0 K: F, D
现象:LED闪烁一次,按下按键,对应的LED翻转一次。
/ U1 h+ Z) D, v  D来源:撞上电子微信公众号0 I3 j" Z( C& M$ i- \* T* R
版权:东莞市东城墨竹公子电子工作室) I% w; ^, g2 r3 V$ P+ e7 P
日期:2023.08.30, O9 m6 a0 ~0 E2 M/ H  i
==========) ?/ B, C* w) e( K
往期回顾:【蓝桥杯嵌入式】第三章 LED流水灯
! l. d1 m4 O8 d5 g! U% a& a5 w【蓝桥杯嵌入式】第二章 软件安装
4 Z: {+ d9 }9 D1 n3 K; Z: n【蓝桥杯嵌入式】第一章 大赛概述
3 J6 e' b/ x# c- w. j3 A==========9 ?$ o2 j4 E1 H9 d9 C

trgf2zgitsl6409968754.png

trgf2zgitsl6409968754.png
. r; ~) y6 E, P) V2 Z
: z. H6 h/ M0 ~' M- i5 {

  ?/ x0 p. ^: Y7 X$ G# g

nq44gubpk4b6409968854.png

nq44gubpk4b6409968854.png
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表