arduino按键控制数码管显示0到9,每按一次数字加1,9之后再按就从0开始的代码
时间: 2024-05-09 09:17:33 浏览: 18
可以使用如下代码实现:
```
#include <Arduino.h>
int count = 0; // 计数器,用于存储要显示的数字
void setup() {
// 初始化数码管引脚
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
// 初始化按键引脚
pinMode(9, INPUT_PULLUP);
}
void loop() {
// 检测按键是否按下
if (digitalRead(9) == LOW) {
delay(50); // 延时去抖动
count++; // 计数器加1
if (count >= 10) {
count = 0; // 超过9重置为0
}
// 显示数字
displayNumber(count);
delay(200); // 延时避免连续按键
}
}
// 显示一个数字的函数
void displayNumber(int number) {
int segments[10][7] = {
{1, 1, 1, 1, 1, 1, 0}, // 0
{0, 1, 1, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1}, // 2
{1, 1, 1, 1, 0, 0, 1}, // 3
{0, 1, 1, 0, 0, 1, 1}, // 4
{1, 0, 1, 1, 0, 1, 1}, // 5
{1, 0, 1, 1, 1, 1, 1}, // 6
{1, 1, 1, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1}, // 8
{1, 1, 1, 0, 0, 1, 1} // 9
};
for (int i = 2; i <= 8; i++) {
digitalWrite(i, segments[number][i - 2]);
}
}
```
希望对你有所帮助!