Bauplan Schaltplan Atmel Mega 7 Segment Hexadezimal Anzeige in Assembler

7-Segment Anzeige für Atmel Mega 16
Auch wenn inzwischen fast jedes moderne Gerät mit einem hochauflösenden Farbdisplay ausgestattet ist und per 'Touchscreen' bedienbar ist, gibt es für die klassische Siebensegment Anzeige durchaus noch Anwendungsfälle, für die diese Art der Darstellung besonders gut geeignet ist.

Soll zum Beispiel ein einfacher Messwert schnell aus grösserer Entfernung abgelesen werden können, ist diese Art der Anzeige nach wie vor oft die beste Lösung. Und auch wenn man ein klassisches 80er Jahre Actionfilm Zeitzünder- Feeling für seine Uhr benötigt, gibt es einfach keine bessere Wahl.

Auch technisch stellt die klassische LED Siebensegmentanzeige nur sehr wenige Anforderungen, sie kann praktisch mit jedem Mikrocontroller realisiert werden. Je nach gewünschter Stellenanzahl wird man sich dabei üblicherweise einer Technik namens Multiplexing bedienen.

Das heisst, die Anzeige stellt in schnellem Wechsel hintereinander die einzelnen Ziffern dar, so schnell dass das menschliche Auge den Wechsel nicht wahrnehmen kann und sich somit ein stabiles Bild ergibt. Der Vorteil dieser Ansteuerungsart ist, dass man erheblich weniger Steuerleitungen benötigt.

Vor kurzem habe ich das oben abgebildete interessante AVR Demoboard von Sure Elektronics aus China erhalten, welches neben etlichen anderen Zutaten auch eine vierstellige LED Siebensegment-Anzeige beinhaltet.

Hierfür habe ich eine kleine Assembler Software geschrieben (hier herunterladen), mit welcher diese auf einfache Weise angesteuert werden kann.

Die gesamte Darstellung läuft dabei in einem Timer Interrupt, so dass sich eine stabile Multiplex-Darstellung ergibt. Die Software ist dabei so ausgelegt, dass die 4 hexadezimale Ziffern von 0-f automatisch auf das Display schreibt. Diese 4 Ziffern stehen in 4 aufeinanderfolgenden SRAM Speicherzellen ab der Adresse 'LED_DATA'. Durch den periodisch aufgerufenen Timer Interrupt wird jeweils eine Stelle aus dem Speicher gelesen und mit Hilfe einer Tabelle im Flash Rom die zugehörigen Segmente ausgelesen, welche die Darstellung des Zeichens bilden.

Somit kann man dieses Programm recht einfach für eigene Zwecke nutzen, wenn man Hexadezimal-Daten auf einem LED Display darstellen möchte. In dem hier gezeigten Quellcode ist zusätzlich noch ein einfacher 16Bit Softwarezähler eingebaut, der die Anzeige in schneller Folge einfach hochzählt, um etwas Dynamik in die Sache zu bringen.

Bauteile für dieses Projekt - Anzeigen:
Aktive Bauelemente

Passive Bauelemente


Weitere Informationen,Grundlagen,Bauanleitung,Schaltplan, Links zum Thema
Anzeigen:

Neueste Artikel
Anzeigen:
Aktuelle Newsbeiträge
Sie sind Besucher Nr. 1212703