pgifkwmzxkq6409967750.png
/ g! s3 }5 V/ y3 l
) t* U8 G0 ~3 j* i' C5 D0 V1 C+ i4 A第一节 按键的基本知识 7 s# C0 p# o y( x7 Y# Q
按键的最基本的知识就是消抖,它分为软件消抖和硬件消抖。其中,软件消抖流程为:当检测到按键按下时,启动一个延时,持续一段时间(通常几毫秒);在延时结束后,再次读取按键状态;如果按键仍然处于按下状态,那么可以确定按键的状态为按下;否则,可以确定按键的状态为释放;软件消抖通过延时等待按键电平的稳定来避免误触发。如下图:
, u- f# y7 p0 f6 C" D* d ; ]& H) ^6 `3 i+ R
vdgtz5t2jlt6409967851.png
& B: U8 ^/ }( t: X
' {. o, j! O( d* o硬件的消抖方案有很多种:在按键引脚与微控制器之间添加外部电路元件,如电容、电阻或Schmitt触发器等,这些电路元件可以滤除按键的电气噪音,提供更稳定的电平信号。
6 Y7 r: x1 i# M$ P蓝桥杯嵌入式开发板并没有在硬件上处理,所以只能通过软件的方式来消抖。
, F2 Q- w( K* Q5 ^1 ], ?第二节 硬件解读 1 M7 g4 g% L. C9 X" z' O- a
gamdbimxywq6409967951.png
4 V: A9 Q$ U4 e- d( p从图中我们可以看出,一共有4个按键,每一个按键的原理图都是一样的,我们举一个例子吧,以PA0为例,当按键被按下,按键的1,2和3,3导通,按键的3,4接地,导致PA0也接地,所以PA0也就是低电平。由此我们知道,当按键按下时,PA0为低电平;反之为高电平。# K+ I: h( f" m8 `8 Y1 V: Z0 d
以下是按键和引脚的关系:
! U% `8 X% y( O7 X按键+ b5 Z! R. S n1 B( c1 M* Z
| 引脚0 D! F% |- G! @0 G! J, ?/ K4 e7 z/ y' D
| B1
6 o- W$ L1 `% M1 t+ D | PB0+ x* U. q1 H- z, g
| B2
4 h9 T: @9 r/ F1 m3 o9 h# m | PB1
; [0 c* ]- Z9 E8 f | B31 i% o9 v& V5 i8 d* o
| PB2. N5 H- n, ?) ]& ?
| B48 c& M. `! p7 {( p, n8 h, l8 v* M F
| PA0- t& x/ W$ Z, A( g& }" ~- k5 f
|
9 V/ i3 `/ y% |0 I* h9 o7 K第三节 CubeMX配置 配置PB0,PB1,PB2,PA0为输入模式,并配置上拉和标签。【注意:配图有误,配图为输出模式,正常是输入模式】
7 b! M7 g9 P6 ~ }: a5 B1 L6 L( C
s03qrrb0yas6409968052.png
; J# e0 G3 S6 j# a/ Y6 s4 h
第四节 MDK代码
. K8 ~7 y+ b: Q, F) G- j- ?
3os2wpk2tky6409968153.png
1 H: T- j4 F5 y m6 U4 }& }& Z. V结合上图,可以看出需要20ms的消抖时间。所以MDK代码如下:
0 s; A: s2 R' b2 S5 {! A
ers3ltwtisu6409968253.png
5 l) h- Z9 r, x' D, B- P
# @% F5 d- @$ d& e& p
4rok4eokeff6409968353.png
# }! Y2 L$ }/ ?3 ] G
" y# E1 y5 H$ @ a# ]
mj53vnpvqeb6409968453.png
0 x+ L* |, f3 }* d% O8 _) K6 A
2 j: t3 d# K& x% F. f+ C1 f q
j1yjzzffx0p6409968554.png
8 h* m, y7 u+ a% {# n6 |) V+ H
$ h% R- N# ^- i5 c, k( j0 v8 M5 }. {
ujsmm4paekr6409968654.png
w/ X0 K5 |% ]% D* P
第五节 实验现象 注意:请用USB线连接电脑与开发板,注意是CN2口。- _7 z" `8 `# @0 `* X0 T
现象:LED闪烁一次,按下按键,对应的LED翻转一次。( K4 ?. E- i( \/ t0 b0 C0 D
来源:撞上电子微信公众号
! J! Q7 ^" j( R) a& b7 t+ [8 z版权:东莞市东城墨竹公子电子工作室
6 U7 T; t) V" M! J% v日期:2023.08.30' R( D, I, `7 b0 e; B" U t$ z( i
==========
+ ^; O3 P% G, O6 m& U/ Y往期回顾:【蓝桥杯嵌入式】第三章 LED流水灯
% y* T9 O4 x+ ` t% X! c1 H【蓝桥杯嵌入式】第二章 软件安装! l e/ a! i! c. S- Y3 Y& a
【蓝桥杯嵌入式】第一章 大赛概述4 p: M5 [1 ^" i, h# L' Y$ R
==========
3 b; q9 v0 ]$ s8 \2 ^5 R% T9 V
trgf2zgitsl6409968754.png
5 Q+ x1 W+ j/ L$ Z6 r
5 S( B9 F E8 `# _4 ]% D
5 |. L# ~' E& s$ k" b
nq44gubpk4b6409968854.png
|