数码管显示学号后两位程序
时间: 2023-10-22 15:09:28 浏览: 128
好的,以下是一个简单的数码管显示学号后两位的程序:
```c
// 定义数字 0~9 的编码
byte numCode[] = {
0b00111111, // 0
0b00000110, // 1
0b01011011, // 2
0b01001111, // 3
0b01100110, // 4
0b01101101, // 5
0b01111101, // 6
0b00000111, // 7
0b01111111, // 8
0b01100111 // 9
};
void setup() {
// 设置数码管的引脚
pinMode(2, OUTPUT); // 数码管第一位
pinMode(3, OUTPUT); // 数码管第二位
pinMode(4, OUTPUT); // 数码管第三位
pinMode(5, OUTPUT); // 数码管第四位
}
void loop() {
int studentID = 20210001; // 学号
int lastTwoDigits = studentID % 100; // 取学号后两位
int secondDigit = lastTwoDigits / 10; // 取十位数字
int thirdDigit = lastTwoDigits % 10; // 取个位数字
// 在数码管上显示学号后两位
digitalWrite(2, LOW); // 第一位数码管关闭
digitalWrite(3, HIGH); // 第二位数码管打开
digitalWrite(4, numCode[secondDigit]); // 显示十位数字
digitalWrite(5, numCode[thirdDigit]); // 显示个位数字
delay(1000); // 延迟 1 秒
digitalWrite(3, LOW); // 第二位数码管关闭
digitalWrite(4, LOW); // 十位数字关闭
digitalWrite(5, LOW); // 个位数字关闭
delay(500); // 延迟 0.5 秒
}
```
这个程序可以在 Arduino 上运行,通过数字引脚控制数码管的显示。程序中定义了数字 0~9 的编码,通过改变引脚状态来控制数码管显示相应的数字。在 `loop()` 函数中,首先取学号后两位的数字,然后分别显示在数码管的第三位和第四位上,每隔一秒更新一次。
阅读全文