// 一位共阴极数码管显示

int led_a=2;// 连接a 段数码管
int led_b=3;// 连接b 段数码管
int led_c=4;// 连接c 段数码管
int led_d=5;// 连接d 段数码管
int led_e=6;// 连接e 段数码管
int led_f=7;// 连接f 段数码管
int led_g=8;// 连接g 段数码管
int led_dp=9;// 连接dp 段数码管

void setup() {
  int i;//定义变量
  for(i=2;i<=9;i++)
  {
    pinMode(i,OUTPUT);//设置2~9 引脚为输出模式
  }
}

void loop() {

    digital_0();//显示数字0
    delay(1000);//延时1s
    digital_1();//显示数字1
    delay(1000);//延时1s
    digital_2();//显示数字2
    delay(1000); //延时1s
    digital_3();//显示数字3
    delay(1000); //延时1s
    digital_4();//显示数字4
    delay(1000); //延时1s
    digital_5();//显示数字5
    delay(1000); //延时1s
    digital_6();//显示数字6
    delay(1000); //延时1s
    digital_7();//显示数字7
    delay(1000); //延时1s
    digital_8();//显示数字8
    delay(1000); //延时1s
    digital_9();//显示数字9
    delay(1000); //延时1s

}

void clearAll() 
{
  for(int j=2;j<=9;j++)//熄灭所有段
    digitalWrite(j,LOW);
}

void digital_0(void) //显示数字0
{
  clearAll();
  digitalWrite(led_a,HIGH);
  digitalWrite(led_b,HIGH);
  digitalWrite(led_c,HIGH);
  digitalWrite(led_d,HIGH);
  digitalWrite(led_e,HIGH);
  digitalWrite(led_f,HIGH);
}

void digital_1(void) //显示数字1
{
  clearAll();
  digitalWrite(led_b,HIGH);
  digitalWrite(led_c,HIGH);
}

void digital_2(void) //显示数字2
{
  clearAll();
  digitalWrite(led_a,HIGH);
  digitalWrite(led_b,HIGH);
  digitalWrite(led_d,HIGH);
  digitalWrite(led_e,HIGH);
  digitalWrite(led_g,HIGH);
}

void digital_3(void) //显示数字3
{
  clearAll();
  digitalWrite(led_a,HIGH);
  digitalWrite(led_b,HIGH);
  digitalWrite(led_c,HIGH);
  digitalWrite(led_d,HIGH);
  digitalWrite(led_g,HIGH);
}

void digital_4(void) //显示数字4
{
  clearAll();
  digitalWrite(led_b,HIGH);
  digitalWrite(led_c,HIGH);
  digitalWrite(led_f,HIGH);
  digitalWrite(led_g,HIGH);
}

void digital_5(void) //显示数字5
{
  clearAll();
  digitalWrite(led_a,HIGH);
  digitalWrite(led_c,HIGH);
  digitalWrite(led_d,HIGH);
  digitalWrite(led_f,HIGH);
  digitalWrite(led_g,HIGH);
}

void digital_6(void) //显示数字6
{
  clearAll();
  digitalWrite(led_a,HIGH);
  digitalWrite(led_c,HIGH);
  digitalWrite(led_d,HIGH);
  digitalWrite(led_e,HIGH);
  digitalWrite(led_f,HIGH);
  digitalWrite(led_g,HIGH);
}

void digital_7(void) //显示数字7
{
  clearAll();
  digitalWrite(led_a,HIGH);
  digitalWrite(led_b,HIGH);
  digitalWrite(led_c,HIGH);
}

void digital_8(void) //显示数字8
{
  clearAll();
  digitalWrite(led_a,HIGH);
  digitalWrite(led_b,HIGH);
  digitalWrite(led_c,HIGH);
  digitalWrite(led_d,HIGH);
  digitalWrite(led_e,HIGH);
  digitalWrite(led_f,HIGH);
  digitalWrite(led_g,HIGH);
}

void digital_9(void) //显示数字8
{
  clearAll();
  digitalWrite(led_a,HIGH);
  digitalWrite(led_b,HIGH);
  digitalWrite(led_c,HIGH);
  digitalWrite(led_d,HIGH);
  digitalWrite(led_f,HIGH);
  digitalWrite(led_g,HIGH);
}
            
在编辑器中运行


相关文章

ESP32 使用DAC模拟输出完成两路呼吸灯

ESP32的DAC函数可以实现真正的模拟输出。


在 ESP32 上使用 LEDC (PWM)

ESP32 没有Arduino输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC 来实现PWM功能。


Arduino UNO R4 WiFi 官方介绍文档

本文档作为UNO R4 WiFi的技术概览,您将找到一系列资源和指南链接,帮助您开始下一个项目。


OneButton: 用于使用单个按钮进行多用途输入的Arduino库

Arduino OneButton库是一个用于简化按钮操作的库,它可以轻松地处理按钮的单击、双击和长按等操作。适用于Arduino开发板以及ESP32等其他基于Arduino的开发板。

相关创作
基于 Wio Terminal的 LoRa GPS定位追踪器,来满足多个不同场景下的定位追踪需求。
热度:20
最新资源
小鹏STEM教研服务

专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。