电子产业一站式赋能平台

PCB联盟网

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

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

[复制链接]

395

主题

395

帖子

2304

积分

三级会员

Rank: 3Rank: 3

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

pgifkwmzxkq6409967750.png

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

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

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

s03qrrb0yas6409968052.png
; J# e0 G3 S6 j# a/ Y6 s4 h
第四节 MDK代码  
. K8 ~7 y+ b: Q, F) G- j- ?

3os2wpk2tky6409968153.png

3os2wpk2tky6409968153.png

1 H: T- j4 F5 y  m6 U4 }& }& Z. V结合上图,可以看出需要20ms的消抖时间。所以MDK代码如下:
0 s; A: s2 R' b2 S5 {! A

ers3ltwtisu6409968253.png

ers3ltwtisu6409968253.png
5 l) h- Z9 r, x' D, B- P
# @% F5 d- @$ d& e& p

4rok4eokeff6409968353.png

4rok4eokeff6409968353.png

# }! Y2 L$ }/ ?3 ]  G
" y# E1 y5 H$ @  a# ]

mj53vnpvqeb6409968453.png

mj53vnpvqeb6409968453.png

0 x+ L* |, f3 }* d% O8 _) K6 A
2 j: t3 d# K& x% F. f+ C1 f  q

j1yjzzffx0p6409968554.png

j1yjzzffx0p6409968554.png
8 h* m, y7 u+ a% {# n6 |) V+ H
$ h% R- N# ^- i5 c, k( j0 v8 M5 }. {

ujsmm4paekr6409968654.png

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

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

nq44gubpk4b6409968854.png
回复

使用道具 举报

发表回复

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

本版积分规则


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