Forum: Mikrocontroller und Digitale Elektronik Frage zur Siebensegmentanzeige


von Judgin F. (einsteiger777)


Lesenswert?

Hallo Leute,

ich melde mich nochmal heute, bloß jetzt geht es um eine 
Siebensegmentanzeige, die ich in mein Projekt miteinbinden will.

Kurze Erläuterung zur Arbeitsweise der Siebensegmentanzeige:

Die Siebensegmentanzeige wird über ein Multiplexverfahren angesteuert. 
Die Leitungen PC[3...0] sind an einem Multiplexer angeschlossen, von dem 
wiederrum jeweils eine Leitung zu einer LED-Matrix führt. Diese Leitung 
ist mit der Anode der 7Segementanzeige verbunden.
Ist Input auf high, dann schaltet der Ausgangstransistor durch und die 
Stellen sind somit aktiv.
Wenn jetzt zusätlich einer der Portleitungen PD[7...0] auf low sind, 
dann fließt Strom und somit ist das jeweilige Digit an.

Ich habe folgenden Codeausschnitt dazu:

void LED_mux (void)
{ static unsigned char digit = 0;           // Speicher für aktuelle 
Ziffer
  PORTD = 0x0FF;                            // Segmente aus
  PORTC = (PORTC&0xF0)| (1<<digit);         // nächste Ziffer aktivieren
  PORTD = segmenttab[ziffernspeicher[digit]]; // Segmente setzen
  digit++;                                  // für nächste Stelle
  digit = digit & 0x03;      // ????????????????????????
}

was macht die Zeile mit den vielen ???????????????

Grüsse

von Krapao (Gast)


Lesenswert?

Die ???????????? Zeile begrenzt den Wertebereich für digit auf die 
Werte 0,1,2,3
Bitmanipulation

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.