数码管的a、b、c、d、e、f、g、dp引脚连接到Arduino的数字引脚 13、2、3、4、5、6、7、8
数码管d1 d2 d3 d4 接 Arduino的数字引脚 9、10、11、12
数码管图示
本实验使用的数码管为共阳极数码管,高电平无法点亮,低电平点亮。在实验过程,应当注意自己使用的数码管是共阳极还是共阴极。
注意事项:
/*
共阳极,正极供电
数码管低电平点亮,高电平熄灭
1号针脚无法正常输出低电平,换为13号脚。原因未知
*/
int digitPins[] = { 9, 10, 11, 12 }; // 数码管的阳极引脚连接到Arduino的数字引脚
int segmentPins[] = { 13, 2, 3, 4, 5, 6, 7, 8 }; // 数码管的a、b、c、d、e、f、g、dp引脚连接到Arduino的数字引脚
byte digits[10][8] = {
//a b c d e f g dp
{ 0, 0, 0, 0, 0, 0, 1, 1 }, // 0
{ 1, 0, 0, 1, 1, 1, 1, 1 }, // 1
{ 0, 0, 1, 0, 0, 1, 0, 1 }, // 2
{ 0, 0, 0, 0, 1, 1, 0, 1 }, // 3
{ 1, 0, 0, 1, 1, 0, 0, 1 }, // 4
{ 0, 1, 0, 0, 1, 0, 0, 1 }, // 5
{ 0, 1, 0, 0, 0, 0, 0, 1 }, // 6
{ 0, 0, 0, 1, 1, 1, 1, 1 }, // 7
{ 0, 0, 0, 0, 0, 0, 0, 1 }, // 8
{ 0, 0, 0, 0, 1, 0, 0, 1 } // 9
};
void setup() {
Serial.begin(9600); //初始化串口设置
for (int i = 0; i < 4; i++) {
pinMode(digitPins[i], OUTPUT); // 设置数码管的阳极引脚为输出模式
}
for (int i = 0; i < 8; i++) {
pinMode(segmentPins[i], OUTPUT); // 设置数码管的a、b、c、d、e、f、g、dp引脚为输出模式
}
}
void loop() {
//showDigit(8,3); //打印第4个数码管,数字为4
for (int i = 0; i <= 9999; i++) {
showNumber(i); // 显示数字1234
//delay(1000); // 延迟1秒
}
}
void showNumber(int number) {
Serial.print("打印:");
Serial.print(number);
Serial.println();
int digit;
for (int c = 0; c < 50; c++) { //每秒对4个数码管显示125次。每个数码管停顿2ms,一轮下来停顿8ms,则1s下来,要进行125轮
int temp = number;
for (int i = 3; i >= 0; i--) {
digit = temp % 10; // 获取个位数
temp = temp / 10; // 去掉个位数
showDigit(digit, i); // 显示当前位的数字
Serial.print(digit);
delay(2); // 延迟一小段时间,可调整亮度
}
Serial.print(" ");
}
Serial.println();
}
void showDigit(int digit, int com) {
for (int i = 0; i < 8; i++) {
digitalWrite(segmentPins[i], HIGH); //关闭所有数码管的段显,因为他们不会立即完全熄灭。关闭余晖 。低电平点亮,高电平熄灭
}
/*选择一个数码管打开*/
for (int i = 0; i < 4; i++) {
if (i == com) {
digitalWrite(digitPins[i], HIGH); //打开指定位的数码管
} else {
digitalWrite(digitPins[i], LOW); //关闭其他位的数码管
}
}
/*数码管显示数字,只有上文被选择的数码管会亮*/
for (int i = 0; i < 8; i++) {
digitalWrite(segmentPins[i], digits[digit][i]); // 根据数字的显示模式设置数码管的a、b、c、d、e、f、g引脚
}
}
https://www.bilibili.com/video/BV1Mz4y157s9/
本文链接:https://blog.nnwk.net/article/169
有问题请留言。版权所有,转载请在显眼位置处保留文章出处,并留下原文连接
Leave your question and I'll get back to you as soon as I see it. All rights reserved. Please keep the source and links
友情链接:
子卿全栈
全部评论