//2024.3.5
#define LED 12    //定义LED2引脚
#define button 9  //定义按键信号引脚
int key_ok = 0;   //定义项目所需的数据变量
int LED_en = 0;
void setup() {
  Serial.begin(9600);
  pinMode(button, INPUT);  //设置按键引脚为输入
  pinMode(LED, OUTPUT);    //设置按键引脚为输入
}

void loop() {
  //  判断是否有按钮被按下，读取按钮的电平
  if (digitalRead(button)) {
    if (key_ok)  //判断按钮是否被按下
    {
      key_ok = 0;
      if (LED_en) LED_en = 0;  //确定最后一个标志位是否建立
      else LED_en = 1;
    }
  } else {
    delay(20);  //延时20毫秒
    if (!digitalRead(button)) key_ok = 1;
  }

  //当按下按键时，LED灯输出引脚的电平反转
  if (LED_en) digitalWrite(LED, HIGH);
  else digitalWrite(LED, LOW);
}
