按键中断控制led灯代码
时间: 2024-11-11 14:10:17 浏览: 12
protues C51单片机 按键中断控制LED灯
5星 · 资源好评率100%
按键中断控制LED灯的代码通常是在嵌入式系统中,如Arduino或单片机开发环境下的C/C++编写。这里以Arduino Uno为例,假设我们有一个按钮连接到数字引脚2,并且一个LED连接到数字引脚3:
```cpp
// 导入所需的库
#include <Keypad.h>
// 定义键盘矩阵配置
const byte ROWS = 4; // 数字键行数
const byte COLS = 4; // 数字键列数
// 创建键盘对象
Keypad keypad = Keypad(makeKeymap(ROWS, COLS), ROWS, COLS, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9});
// LED引脚
int ledPin = 3;
void setup() {
pinMode(ledPin, OUTPUT); // 设置LED为输出模式
attachInterrupt(digitalPinToInterrupt(2), handleButtonPress, FALLING); // 设置按钮中断,下降沿触发
}
void loop() {
// 主程序循环,这里不做处理
}
void handleButtonPress() {
if (keypad.getKey()) { // 判断是否有按键按下
digitalWrite(ledPin, HIGH); // 灯亮
} else {
digitalWrite(ledPin, LOW); // 灯灭
}
}
```
在这个例子中,当用户按下按钮时,会触发`handleButtonPress`函数,LED灯的状态会被切换。如果按下的是其他键,则不会改变LED状态。
阅读全文