按键电路设计

1.按键消抖
与按键并联的电容是为了消除案件抖动。
所谓按键抖动就是指按键中的机械触点在接触或者断开的瞬间,在很小的时间片段上,处于一种似连非连,似断非断的状态。这个时片段往往几毫秒,虽然按下按键的我们完全无法感知,但对于处理速度在us级的单片机而言却是很长的一段时间。
按键电路设计_第1张图片
因而,与按键相连的GPIO口会收到一段非常抖动的电平信号,高高低低,起起伏伏,令单片机程序无法正确分辨当前的电平。与按键并联的电容可以有效缓冲抖动的电平信号从而在硬件上消除按键抖动。
按键电路设计_第2张图片

2. 上拉电阻
这里,PB12是用来获取KEY1按键状态的GPIO引脚,当按键没有按下时,按键电路处于断路状态,我们将其隐去。此时,PB12直接通过电阻连接到3.3V的电源上,因为此时设置的是GPIO浮空输入模式(GPIO内部处于高阻态,即在芯片内部相当于有个巨大的电阻)。由电阻串联分压原理知:10K的电阻几乎分不到多少电压,压降为0。所以,PB12处也就是3.3V。
使用电源将GPIO口处的电平拉高的操作,我们将其称作上拉。由于上拉操作通常都需要一个电阻来配合,因而称这个电阻为上拉电阻(限流,防止电源与GND直接相连而短路)
按键电路设计_第3张图片
当按键按下时,PB12直接与GND连通,因而PB12读取到的就是GND的电平,即0V。
按键电路设计_第4张图片
按键电路设计_第5张图片

2.下拉电阻
将上拉电路中的3.3V与GND进行交换,便得到了下拉的按键电路。其对于GPIO口读取电平的影响与上拉正好相当反。
按键电路设计_第6张图片
注:图片来自B站视频UP:keysking

你可能感兴趣的:(单片机,嵌入式硬件)