1.按键介绍
按键:按键是一个常见的输入设备,按下导通,松手断开
按键抖动:按键抖动现象就是,由于按键内部使用机械式弹簧片来进行通断,所以在按下和松手的瞬间会伴随一连串的抖动。由下图1-1可以看到,按键没按下时候是高电平,按下了就是低电平,在按下的瞬间,信号由高电平变为低电平时,会有来回的抖动,抖动的时间会比较快,一般在5~10ms之间。由于我们使用的是STM32单片机,10ms也是一个较漫长的时间,所以我们需要对按键进行过滤,否则会出现按键按一下,单片机却反映多次的现象。在松开按键的时候也会有产生抖动,所以我们在程序中也需要注意过滤。
过滤的方法:加一段时间的延时,把抖动的时间耗过去,就可以解决这个按键抖动的问题了。
图1-1 按键的延时抖动
2.LED.c文件和LED.h文件
LED.c文件
#include "stm32f10x.h" // Device header
void LED_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//开启外设时钟
GPIO_InitTypeDef GPIO_InitStruct; //GPIO结构体
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; /