STM32-Stduino小白练习第四弹--按键控制LED灯闪灭按键去抖

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

STM32-Stduino小白练习第四弹--按键控制LED灯闪灭按键
去抖
2020/01/06 星期一作者:Astilbe
问题:如何利用Stduino通过按键控制LED灯亮灭。

我们已经学习过怎么点亮一颗LED灯,那么怎么用按键来控制它亮和灭呢?
简化一下我们需要达到的目标:
即按键按下LED灯亮,再按一次,LED灯灭。

那么只要让处理器知道按键状态,再调整LED灯的引脚输出电平(LOW还是HIGH)即可。

话不多说:
int Button = 9;//设置按键为数字引脚9
int LED =13;//设置LED灯为数字引脚13
int Button_State=0;
void setup() {
// put your setup code here, to run once:
pinMode(Button,INPUT);//数字输入初始化,不拉高,得加电阻pinMode(LED,OUTPUT);//数字输出初始化
}
void loop() {
// put your main code here, to run repeatedly:
Button_State = digitalRead(Button) ;//读取当前按键状况
if(Button_State){
digitalWrite(LED,HIGH);
}else{
digitalWrite(LED,LOW);
}
}
一般按键按下时,往往会出现所按的按键在闭合和断开位置之间跳几下,才稳定在闭合状态——这就是按键抖动。

这可能会导致按下或松开时电路不正常工作。

据此,在按下按键时,延时10MS,就可消除抖动。

抖动持续时间不一,一般不会大于10MS。

在loop()中第一行加入
delay(10);
即可。

相关文档
最新文档