
arduino驱动数码管3461BS,4段数码管.
网上资料很多,但arduino实验实例不祥。本次做个详细的驱动实验。
先学习一下基本引脚。看好型号。这是一个 四位共阳极数码管。
强调一下。
3461BS这是一个 四位共阳极数码管。位控制端(1-4)给高电平使能相应的位,段位控制端(A-G、DP)给低电平可点亮对就led段。
【记得要加限流电阻!以免烧坏led】
按图把UNO板子引脚连接到数码管对应引脚。记得在1-4引脚上接限流电阻。
接线方法
UNO引脚-->数据码
3-->1
4-->2
5-->3
6-->4
7-->A
8-->B
9-->C
10-->D
11-->E
12-->F
13-->G
////////////////////////
//数码管显示0 到 9 ,对应的段位 数组。
A B C D E F G
{0, 0, 0, 0, 0, 0, 1}, //0,当G段灭,其它都亮时,就显示0,其它原理一样。
{1, 0, 0, 1, 1, 1, 1}, //1
{0, 0, 1, 0, 0, 1, 0}, //2
{0, 0, 0, 0, 1, 1, 0}, //3
{1, 0, 0, 1, 1, 0, 0}, //4
{0, 1, 0, 0, 1, 0, 0}, //5
{0, 1, 0, 0, 0, 0, 0}, //6
{0, 0, 0, 0, 1, 1, 1}, //7
{0, 0, 0, 0, 0, 0, 0}, //8
{0, 0, 0, 0, 1, 0, 0} //9
//根据上面接线及段位数据,完成基本程序
int dat = {
{0, 0, 0, 0, 0, 0, 1}, //0
{1, 0, 0, 1, 1, 1, 1}, //1
{0, 0, 1, 0, 0, 1, 0}, //2
{0, 0, 0, 0, 1, 1, 0}, //3
{1, 0, 0, 1, 1, 0, 0}, //4
{0, 1, 0, 0, 1, 0, 0}, //5
{0, 1, 0, 0, 0, 0, 0}, //6
{0, 0, 0, 0, 1, 1, 1}, //7
{0, 0, 0, 0, 0, 0, 0}, //8
{0, 0, 0, 0, 1, 0, 0} //9
};
void setup() {
// put your setup code here, to run once:
for (int i = 3; i <= 13; i++) { //初始化3 到 13引脚。
pinMode(i, OUTPUT);
digitalWrite(i, LOW);
}
}
void loop() {
// put your main code here, to run repeatedly:
for (int j = 6; j >= 3; j--) {//1 到 4 使能引脚 高电平
digitalWrite(j, HIGH);
}
for (int k = 0; k <= 9; k++) { //0到9数字显示
for (int i = 7; i <= 13; i++) {
digitalWrite(i, dat[k][i-7]);//数码段数组对应依次输出。让数字从0 显示到 9.
}
delay(300);
}
}
