电子产业一站式赋能平台

PCB联盟网

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

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

[复制链接]

395

主题

395

帖子

2304

积分

三级会员

Rank: 3Rank: 3

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

x25py4bvp5f6402624247.png

x25py4bvp5f6402624247.png
" L2 v% A0 ?* f; n; c) ]

; ?+ H; b( T& k第一节 按键的基本知识 ( T# t" {9 g  Q% ~8 M0 x  R
按键的最基本的知识就是消抖,它分为软件消抖和硬件消抖。其中,软件消抖流程为:当检测到按键按下时,启动一个延时,持续一段时间(通常几毫秒);在延时结束后,再次读取按键状态;如果按键仍然处于按下状态,那么可以确定按键的状态为按下;否则,可以确定按键的状态为释放;软件消抖通过延时等待按键电平的稳定来避免误触发。如下图:) R: q# v; R! p  c6 N0 k* U
         7 u" Y3 r2 j1 R

3fp1tcoalfy6402624347.png

3fp1tcoalfy6402624347.png

, b  T$ ?- |$ T8 `         
; f& D' i" f$ S6 s硬件的消抖方案有很多种:在按键引脚与微控制器之间添加外部电路元件,如电容、电阻或Schmitt触发器等,这些电路元件可以滤除按键的电气噪音,提供更稳定的电平信号。' c; o5 X7 d( h# ?
蓝桥杯嵌入式开发板并没有在硬件上处理,所以只能通过软件的方式来消抖。1 v; {0 u7 Q& F9 `
第二节 硬件解读  ) F$ Z% W! W  }; ^/ s1 u

sbcnjsom3tk6402624448.png

sbcnjsom3tk6402624448.png
% E4 Q9 l3 y% n) t" |2 ]! _4 t
从图中我们可以看出,一共有4个按键,每一个按键的原理图都是一样的,我们举一个例子吧,以PA0为例,当按键被按下,按键的1,2和3,3导通,按键的3,4接地,导致PA0也接地,所以PA0也就是低电平。由此我们知道,当按键按下时,PA0为低电平;反之为高电平。
' q" q0 R8 E3 [" W以下是按键和引脚的关系:9 ~, N! ~. `# w: V
按键( P) n: I0 S# t0 I  C4 G: C/ l
引脚
: n: M# h0 W# m- z1 i# j7 q% V
B1
+ x8 t$ r, M% b) q. X) r
PB0
3 h3 n9 q5 S# u: v. T# D( o. _
B2
3 J% l4 q0 B+ X# N
PB1+ A. {7 B- \0 {& w* p3 A
B3
: l% x* g7 r* m2 J: O5 \
PB2
& f7 S5 p# w1 i$ d* p( O
B44 }6 \2 C: m0 P3 y1 A1 [' `' r8 S6 A
PA0
9 @+ Q3 H, q% K6 g0 n
         
" r( L5 x4 b0 T+ d% U第三节 CubeMX配置  配置PB0,PB1,PB2,PA0为输入模式,并配置上拉和标签。【注意:配图有误,配图为输出模式,正常是输入模式】
/ H8 ^: h& w( X% t- v

hc0ifwidcvp6402624548.png

hc0ifwidcvp6402624548.png
) _1 R' w5 d# ^0 _* i% c; b
第四节 MDK代码  2 a) E; i! g: |9 ?! _

sppykn1huoo6402624648.png

sppykn1huoo6402624648.png
. }* J9 ]& u, Y+ a  t+ U, h) U* B
结合上图,可以看出需要20ms的消抖时间。所以MDK代码如下:4 E6 m' K4 J- f: k1 d; T% Q! M

tmdsqv0jtva6402624748.png

tmdsqv0jtva6402624748.png
5 O- r5 H0 R% e: D: d: W

: k& v9 ?% Q" p1 b1 }! W

nxdtt0gwuv26402624848.png

nxdtt0gwuv26402624848.png

7 x9 R' r6 c$ e5 }( o7 J* j7 e8 y1 A# d

gqhs2em05wy6402624948.png

gqhs2em05wy6402624948.png

2 V; U( h2 M- {# Q8 j
( y, Y- b% w$ B+ b! u2 x9 G

kb2lr0zjfgn6402625049.png

kb2lr0zjfgn6402625049.png
0 \6 F1 H  {  ~2 Q
( f0 I* ?( u% w. l5 u: F

xxitahjhv1b6402625149.png

xxitahjhv1b6402625149.png
$ K( I$ a* N, N& }5 |! X+ k
第五节 实验现象   注意:请用USB线连接电脑与开发板,注意是CN2口。: d# w& ~7 j4 g8 p" [4 f: e2 m
现象:LED闪烁一次,按下按键,对应的LED翻转一次。
* L% N& d* h2 e; o; I2 U来源:撞上电子微信公众号/ @) y5 V0 r5 Y* v- r
版权:东莞市东城墨竹公子电子工作室* c5 z) E, @' }' p
日期:2023.08.30( b+ ]  H" c0 r5 y' C& |7 H8 Z" O( K/ O
==========
9 z+ ?% V+ X# Z6 ]往期回顾:【蓝桥杯嵌入式】第三章 LED流水灯
& r0 n& |' G) p' U! e& U0 P【蓝桥杯嵌入式】第二章 软件安装
% _* C; D/ \3 R8 [( b" C【蓝桥杯嵌入式】第一章 大赛概述
0 M- `' @8 T1 ~1 c! B4 ?4 R1 p* R==========# N  j& h. ^& D# t

newnyjcl4ah6402625249.png

newnyjcl4ah6402625249.png

3 e. d, E: i! e7 [
3 F/ a' f" N/ s7 `& n. i* a/ h- U1 Q' G" f8 I( `6 f+ Q4 z

1u04frqbl246402625349.png

1u04frqbl246402625349.png
回复

使用道具 举报

发表回复

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

本版积分规则


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