ebps.de.vu > Schaltungen > AVR > 16-Bit-Anzeige
Diese Schaltung dient dazu, ein Binärwort mit (bis zu) 16 Bit auf Siebensegmentanzeigen darzustellen. Ändert sich das Binärwort, wird die Anzeige sofort aktualisiert. Sollen weniger als 16 Bit angezeigt werden, können die ungenutzten Eingänge einfach mit Masse verbunden werden. Mit einem Taster kann zwischen sechs verschiedenen Anzeigemodi umgeschaltet werden:
Die Einstellung wird im EEPROM gespeichert und wird beim Einschalten wieder eingestellt, dabei wird kurz der gewählte Modus angezeigt. Auch nach einem Druck auf den Taster wird der nun gewählte Modus kurz angezeigt. In den Hexadezimal-Anzeigemodi wird dem Wert ein kleines h vorangestellt, damit eine Hexadezimalzahl ohne Buchstaben von einer Dezimalzahl unterschieden werden kann.
Für die Eingänge sind die internen Pullup-Widerstände des Controllers aktiviert, deshalb wird im Standard-Modus (dezimal ohne Vorzeichen, nicht invertiert) bei offenen Eingängen der Wert 65535 angezeigt (alle Eingänge high).
Die Schaltung basiert auf einem ATMega8-Microcontroller. Da der Controller nicht genug Portpins hat, wurden einige Pins mehrfach belegt. Um ein Flackern der Anzeige zu verhindern, während das Schieberegister mit neuen Daten gefüllt wird, wurde der Output-Enable-Eingang verwendet. Bevor neue Daten geschoben werden, wird dieser Eingang zurückgesetzt und erst nach dem Schieben der Daten und der Auswahl der richtigen Anzeige wieder gesetzt. Des Weiteren kommt der bei der 8-Bit-Anzeige bereits ausführlich beschriebene Trick mit der Diode an der gemeinsamen Kathode einer der Anzeigen zum Einsatz. Für die Anzeige habe ich alte Doppelanzeigen aus der DDR verwendet, von der "halben" Stelle der 1,5-stelligen Anzeige wird nur das Minuszeichen verwendet. Um nicht sechs Stellen multiplexen zu müssen, wurde das Minuszeichen als achtes Segment der ersten vollen Anzeigestelle angeschlossen.