Informatikunterricht

am Gymnasium Kirchenfeld

Benutzer-Werkzeuge

Webseiten-Werkzeuge


digitalelektronik:seven-segment-count

Dies ist eine alte Version des Dokuments!


Zählen mit einer Siebensegmentanzeige

Dieses Programm zählt von 0 bis 9 und stellt die Ziffer auf einer Siebensegmentanzeige dar.

Die Siebensegmentanzeige wird wie folgt angeschlossen:

Segment Pin Bit
a 8 6
b 7 5
c 6 4
d 5 3
e 4 2
f 3 1
g 2 0
const int DELAY_MS = 1000;
const int PIN[] = { 9, 8, 7, 6, 5, 4, 3, 2 };
const int PIN_COUNT = 8;
const byte DIGIT[] = {
//    abcdefg
    B01111110, // 0
    B00110000, // 1
    B01101101, // 2
    B01111001, // 3
    B00110011, // 4
    B01011011, // 5
    B01011111, // 6
    B01110000, // 7
    B01111111, // 8
    B01111011  // 9
};
 
byte number;
 
void setup() {
    int i = 0;
    while (i < PIN_COUNT) {
        pinMode(PIN[i], OUTPUT);
        i = i + 1;
    }
 
    number = 0;
}
 
void showByte(byte b) {
    byte i = 0;
    byte mask = 1;
    while (i < 8) {
        if ((b & mask) != 0) {
            digitalWrite(PIN[i], HIGH);
        }
        else {
            digitalWrite(PIN[i], LOW);
        }
 
        i = i + 1;
        mask = mask << 1;
    }
}
 
void loop() {
    showByte(DIGIT[number]);
    number = (number + 1) % 10;
    delay(DELAY_MS);
}
digitalelektronik/seven-segment-count.1425543127.txt.gz · Zuletzt geändert: 2020/10/13 14:25 (Externe Bearbeitung)