arduino八段數碼管使用


一:八段數碼管的使用

 

 

控制要求:0-9的計時數據

實物連接圖:

 

 

 

 

 

控制代碼:

//智慧自動化2018.6.11

int a=7;//定義數字接口7 連接a 段數碼管

int b=6;// 定義數字接口6 連接b 段數碼管

int c=5;// 定義數字接口5 連接c 段數碼管

int d=10;// 定義數字接口10 連接d 段數碼管

int e=11;// 定義數字接口11 連接e 段數碼管

int f=8;// 定義數字接口8 連接f 段數碼管

int g=9;// 定義數字接口9 連接g 段數碼管

int dp=4;// 定義數字接口4 連接dp 段數碼管

void digital_0(void) //顯示數字5

{

  unsigned char j;

  digitalWrite(a,HIGH);

  digitalWrite(b,HIGH);

  digitalWrite(c,HIGH);

  digitalWrite(d,HIGH);

  digitalWrite(e,HIGH);

  digitalWrite(f,HIGH);

  digitalWrite(g,LOW);

  digitalWrite(dp,LOW);

}

void digital_1(void) //顯示數字1

{

  unsigned char j;

  digitalWrite(c,HIGH);//給數字接口5 引腳高電平,點亮c 段

  digitalWrite(b,HIGH);//點亮b 段

  for(j=7;j<=11;j++)//熄滅其余段

  digitalWrite(j,LOW);

  digitalWrite(dp,LOW);//熄滅小數點DP 段

}

void digital_2(void) //顯示數字2

{

  unsigned char j;

  digitalWrite(b,HIGH);

  digitalWrite(a,HIGH);

  for(j=9;j<=11;j++)

  digitalWrite(j,HIGH);

  digitalWrite(dp,LOW);

  digitalWrite(c,LOW);

  digitalWrite(f,LOW);

}

void digital_3(void) //顯示數字3

{

  digitalWrite(g,HIGH);

  digitalWrite(a,HIGH);

  digitalWrite(b,HIGH);

  digitalWrite(c,HIGH);

  digitalWrite(d,HIGH);

  digitalWrite(dp,LOW);

  digitalWrite(f,LOW);

  digitalWrite(e,LOW);

}

void digital_4(void) //顯示數字4

{

  digitalWrite(c,HIGH);

  digitalWrite(b,HIGH);

  digitalWrite(f,HIGH);

  digitalWrite(g,HIGH);

  digitalWrite(dp,LOW);

  digitalWrite(a,LOW);

  digitalWrite(e,LOW);

  digitalWrite(d,LOW);

}

void digital_5(void) //顯示數字5

{

  unsigned char j;

  digitalWrite(a,HIGH);

  digitalWrite(b, LOW);

  digitalWrite(c,HIGH);

  digitalWrite(d,HIGH);

  digitalWrite(e, LOW);

  digitalWrite(f,HIGH);

  digitalWrite(g,HIGH);

  digitalWrite(dp,LOW);

}

void digital_6(void) //顯示數字6

{

  unsigned char j;

  for(j=7;j<=11;j++)

  digitalWrite(j,HIGH);

  digitalWrite(c,HIGH);

  digitalWrite(dp,LOW);

  digitalWrite(b,LOW);

}

void digital_7(void) //顯示數字7

{

  unsigned char j;

  for(j=5;j<=7;j++)

  digitalWrite(j,HIGH);

  digitalWrite(dp,LOW);

  for(j=8;j<=11;j++)

  digitalWrite(j,LOW);

}

void digital_8(void) //顯示數字8

{

  unsigned char j;

  for(j=5;j<=11;j++)

  digitalWrite(j,HIGH);

  digitalWrite(dp,LOW);

}

void digital_9(void) //顯示數字5

{

  unsigned char j;

  digitalWrite(a,HIGH);

  digitalWrite(b,HIGH);

  digitalWrite(c,HIGH);

  digitalWrite(d,HIGH);

  digitalWrite(e, LOW);

  digitalWrite(f,HIGH);

  digitalWrite(g,HIGH);

  digitalWrite(dp,LOW);

}

void setup()

{

  int i;//定義變量

  for(i=4;i<=11;i++)

  pinMode(i,OUTPUT);//設置4~11 引腳為輸出模式

}

void loop()

{

  while(1)

  {

    digital_0();//顯示數字1

    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();//顯示數字8

    delay(1000); //延時1s

  }

}
控制代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM