1. 程式人生 > 實用技巧 >Arduino 學習之數碼管計數

Arduino 學習之數碼管計數

單個共陰極數碼管實現0~9,9~0計數

int a = 7;
int b = 6;
int c = 5;
int d = 10;
int e = 11;
int f = 8;
int g = 9;
int p = 4;

void setup() {
  for (int i=4; i<=11; i++) {
    pinMode (i,OUTPUT);
  }  
}

int numTable[18][8] = {
  //a b c d e f g p
  { 1,1,1,1,1,1,0,0 }, //0
  { 0,1,1,0,0,0,0,0 }, //1
  { 1,1,0,1,1,0,1,0 }, //2
  { 1,1,1,1,0,0,1,0 }, //3
  { 0,1,1,0,0,1,1,0 }, //4
  { 1,0,1,1,0,1,1,0 }, //5
  { 1,0,1,1,1,1,1,0 }, //6
  { 1,1,1,0,0,0,0,0 }, //7
  { 1,1,1,1,1,1,1,0 }, //8
  { 1,1,1,1,0,1,1,0 }, //9
  { 1,1,1,1,1,1,1,0 },
  { 1,1,1,0,0,0,0,0 },
  { 1,0,1,1,1,1,1,0 },
  { 1,0,1,1,0,1,1,0 },
  { 0,1,1,0,0,1,1,0 },
  { 1,1,1,1,0,0,1,0 },
  { 1,1,0,1,1,0,1,0 },
  { 0,1,1,0,0,0,0,0 },
};

void loop() {
  for (int j=0; j < 18; j++) {
    digitalWrite(a,numTable[j][0]);
    digitalWrite(b,numTable[j][1]);
    digitalWrite(c,numTable[j][2]);
    digitalWrite(d,numTable[j][3]);
    digitalWrite(e,numTable[j][4]);
    digitalWrite(f,numTable[j][5]);
    digitalWrite(g,numTable[j][6]);
    digitalWrite(p,numTable[j][7]);    
    delay(1000);
  }
}