- /*
- 【Arduino】66種傳感器模塊系列實驗(47)
- 實驗四十七:七段LED數碼管模塊 之三
- */
- int pinDigitron = 2; //管腳D2連接到數碼管的A腳,D3連B... D9連h
-
- void setup() {
- for(int x=0; x<8; x++)
- pinMode(pinDigitron+x, OUTPUT); //設置各腳為輸出狀態
- }
-
- //在數碼管中顯示數字的函數
- void displayDigit(unsigned char digit) {
- //定義一個數組表:不同數字的abcdefgh各段的取值
- unsigned char abcdefgh[][8] = {
- {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,0,1,1,1,0}, //A
- {0,0,1,1,1,1,1,0}, //b
- {1,0,0,1,1,1,0,0}, //C
- {0,1,1,1,1,0,1,0}, //d
- {1,0,0,1,1,1,1,0}, //E
- {1,0,0,0,1,1,1,0}, //F
- };
-
- if ( digit >= 16 ) return;
- for (unsigned char x=0; x<8; x++)
- digitalWrite( pinDigitron + x, abcdefgh[digit][x] );
- }
-
- void loop() {
- //在數碼管中顯示0-9,A-F各個數字
- for (int x=0; x<16; x++) {
- displayDigit(x); //調用displayDigit()子函數,顯示數字
- delay(1000); //等待1000毫秒
- }
- }
復制代碼
|