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
! ~- 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
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
: J' W6 B# u2 T( _9 B3 E" A第四节 MDK代码
$ F& ]" P \! N; N4 d# f% @
3os2wpk2tky6409968153.png
6 m v. g O" p# z) n2 A1 r- P
结合上图,可以看出需要20ms的消抖时间。所以MDK代码如下:
J9 M& o( R8 _" A$ q! {: J
ers3ltwtisu6409968253.png
1 e9 `. ?2 r V8 z0 s3 K" N5 c4 O/ M+ ~$ U& D/ b4 ?
4rok4eokeff6409968353.png
1 L/ e2 Y1 D" D
5 _9 g- `7 X6 d5 p
mj53vnpvqeb6409968453.png
) E5 H2 ~' e+ u$ e6 H9 I% o# I: ~, w6 O- D7 q! ?
j1yjzzffx0p6409968554.png
& z6 Z; `8 ^/ n0 Q' f) _ j2 D4 p
5 m7 Z# T% y6 q0 G
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
. r; ~) y6 E, P) V2 Z
: z. H6 h/ M0 ~' M- i5 {
?/ x0 p. ^: Y7 X$ G# g
nq44gubpk4b6409968854.png
|