arduino驱动3461BS4段数码管【原理及简单实验】

arduino驱动3461BS4段数码管【原理及简单实验】

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);

}

}