- /*
- 【Arduino】66种传感器模块系列实验(47)
- 实验四十七:七段LED数码管模块 之四
- */
- const int a = 7; //a连接到数字引脚7
- const int b = 6; // b连接到数字引脚6
- const int c = 5; //c 连接到数字引脚5
- const int d = 11; //d连接到数字引脚11
- const int e = 10; //e 连接到数字引脚 10
- const int f = 8; //f 连接到数字引脚 8
- const int g = 9; //g 连接到数字引脚 9
- const int dp = 4; //dp 连接到数字引脚 4
- void setup()
- {
- //从4到11循环,并将它们全部初始化为 输出
- for (int thisPin = 4; thisPin <= 11; thisPin++)
- {
- pinMode(thisPin, OUTPUT);
- }
- digitalWrite(dp, LOW); //从4到11循环,并将它们全部输出
- }
- /*********以下为数码管 1-f 的显示函数*********/
- void digital_1(void) //显示 1 函数
- {
- digitalWrite(c, HIGH); //数码管c段为高电平
- digitalWrite(b, HIGH); //数码管b段为高电平
- for (int j = 7; j <= 11; j++) //数码管其余段为低电平
- digitalWrite(j, LOW);
- }
- void digital_2(void)
- {
- digitalWrite(b, HIGH);
- digitalWrite(a, HIGH);
- for (int j = 9; j <= 11; j++)
- digitalWrite(j, HIGH);
- digitalWrite(c, LOW);
- digitalWrite(f, LOW);
- }
- void digital_3(void)
- {
- unsigned char j;
- digitalWrite(g, HIGH);
- digitalWrite(d, HIGH);
- for (j = 5; j <= 7; j++)
- digitalWrite(j, HIGH);
- digitalWrite(f, LOW);
- digitalWrite(e, LOW);
- }
- void digital_4(void)
- {
- digitalWrite(c, HIGH);
- digitalWrite(b, HIGH);
- digitalWrite(f, HIGH);
- digitalWrite(g, HIGH);
- digitalWrite(a, LOW);
- digitalWrite(e, LOW);
- digitalWrite(d, LOW);
- }
- void digital_5(void)
- {
- unsigned char j;
- for (j = 7; j <= 9; j++)
- digitalWrite(j, HIGH);
- digitalWrite(c, HIGH);
- digitalWrite(d, HIGH);
- digitalWrite(b, LOW);
- digitalWrite(e, LOW);
- }
- void digital_6(void)
- {
- unsigned char j;
- for (j = 7; j <= 11; j++)
- digitalWrite(j, HIGH);
- digitalWrite(c, HIGH);
- digitalWrite(b, LOW);
- }
- void digital_7(void)
- {
- unsigned char j;
- for (j = 5; j <= 7; j++)
- digitalWrite(j, HIGH);
- for (j = 8; j <= 11; j++)
- digitalWrite(j, LOW);
- }
- void digital_8(void)
- {
- unsigned char j;
- for (j = 5; j <= 11; j++)
- digitalWrite(j, HIGH);
- }
- void digital_9(void)
- {
- unsigned char j;
- for (j = 5; j <= 9; j++)
- digitalWrite(j, HIGH);
- digitalWrite(d, LOW);
- digitalWrite(e, LOW);
- }
- void digital_A(void)
- {
- unsigned char j;
- for (j = 5; j <= 10; j++)
- digitalWrite(j, HIGH);
- digitalWrite(d, LOW);
- }
- void digital_b(void)
- {
- unsigned char j;
- for (j = 7; j <= 11; j++)
- digitalWrite(j, HIGH);
- digitalWrite(a, LOW);
- digitalWrite(b, LOW);
- }
- void digital_C(void)
- {
- digitalWrite(a, HIGH);
- digitalWrite(b, LOW);
- digitalWrite(c, LOW);
- digitalWrite(d, HIGH);
- digitalWrite(e, HIGH);
- digitalWrite(f, HIGH);
- digitalWrite(g, LOW);
- }
- void digital_d(void)
- {
- unsigned char j;
- digitalWrite(a, LOW);
- digitalWrite(f, LOW);
- digitalWrite(b, HIGH);
- digitalWrite(c, HIGH);
- digitalWrite(j, HIGH);
- for (j = 9; j <= 11; j++)
- digitalWrite(j, HIGH);
- }
- void digital_E(void)
- {
- unsigned char j;
- digitalWrite(b, LOW);
- digitalWrite(c, LOW);
- for (j = 7; j <= 11; j++)
- digitalWrite(j, HIGH);
- }
- void digital_F(void)
- {
- unsigned char j;
- digitalWrite(b, LOW);
- digitalWrite(c, LOW);
- digitalWrite(d, LOW);
- for (j = 7; j <= 10; j++)
- digitalWrite(j, HIGH);
- }
- void loop()
- {
- digital_1();//显示1
- delay(1000);//延时1秒
- digital_2();//显示2
- delay(1000);
- digital_3();//显示3
- delay(1000);
- digital_4();//显示4
- delay(1000);
- digital_5();//显示5
- delay(1000);
- digital_6();//显示6
- delay(1000);
- digital_7();//显示7
- delay(1000);
- digital_8();//显示8
- delay(1000);
- digital_9();//显示9
- delay(1000);
- digital_A();//显示a
- delay(1000);
- digital_b();//显示b
- delay(1000);
- digital_C();//显示c
- delay(1000);
- digital_d();//显示d
- delay(1000);
- digital_E();//显示e
- delay(1000);
- digital_F();//显示f
- delay(1000);
- }
复制代码
|