Debunce

Debunce

const int buttonPin = 7;     //声明按钮的针脚   button按钮,按键 pin 针脚
const int ledPin =  13;      // 声明Led发光二极管的针脚pin  ,13号是arduino的内置针脚

int buttonState = 0;         //声明按钮button的状态state ,0代表没有按下,1代表按下
int presstime = 0;          //声明一个变量,用来记录按键的按下的次数
int beforeState = 0;        //声明一个变量,用来记录按钮前一次的状态

void setup() {
  
  pinMode(ledPin, OUTPUT);  //声明针脚ledPin也就是 13,为输出

  pinMode(buttonPin, INPUT); //声明针脚buttonPin也就是 7,为输入

  Serial.begin(9600);   //开启串口监控(序列铺)
}

void loop() {
 
  buttonState = digitalRead(buttonPin);  //digitalRead()读取  buttonPin按钮针脚的状态

  
  if (buttonState==1 and beforeState==0) {  //如果buttonState当前按钮状态为1 and 并且,beforeState之前按钮状态为0
    presstime=presstime+1;        //按钮次数+1
    Serial.print("按钮按下去了");  //打印"按钮按下去了"不换行
    Serial.print(presstime);    //打印presstime不换行
    Serial.println("次");       //打印"次"换行
    delay(20);                  //延时20ms毫秒,防止按钮bunce粘连   

  } 
  beforeState=buttonState;    //本次循环结束之前,把按钮状态记录到beforeState,下次读取时,就是上一次按钮的状态了
  delay(1);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值