4 - 7-Segment-LED Anzeige
Kurzinformation
Kurzinformation
Eine 7-Segment-Anzeige ist ein quaderförmiger Block mit 7 geometrisch angeordneten gleichlangen Leuchtdioden (Segmenten), die einzeln zum Leuchten gebracht werden können. Eine zusätzliche LED, kann als Dezimalpunkt ebenfalls genutzt werden.
Jedes Segment (a bis g) und der Punkt repräsentiert eine LED, die einzeln angesteuert werden kann. Die meisten Anschlusspins sind mit einer Zahl und einem Buchstaben, der für ein LED-Segment steht, gekennzeichnet. 5 - dp bezeichnet den Dezimalpunkt, der über Pin 5 des Bauteils angeschlossen wird. Pin 3 und 8 (common anode/cathode) sind die Kathoden-/Anodenanschlüsse für alle 8 Segmente (gemeinsame Kathode/Anode). Ein Blick in das Datenblatt gibt Aufschluss darüber, ob eine 7-Segment-Anzeige über eine gemeinsame Kathode oder Anode verfügt.
Eine 7-Segment Anzeige wird mit einem ATmega 8A verbunden; die Taktfrequenz beträgt 8 MHz.
Material
--------------------------------------
Aufgaben
Schaltskizze
Das Programm 7seg_01.bas
Wie arbeitet das Programm 7seg_01.bas?
Damit nur das Segment g der Anzeige blinkt, muss zunächst bestimmt werden, welcher Portpin des ATmega8A das Segment g ansteuert. Bei der vorliegenden Verdrahtung ist es PB1; er ist mit Pin 10 der 7-Segment-Anzeige verbunden, der das Segment g ansteuert. Damit gilt:
Die Ansteuerung des Portpin B.1 erfolgt über die Größe G (Programmzeile 16).
entsprechend gilt für
Als Folge davon blinkt das Segment g der 7-Segment-Anzeige.
Andere Segmente der 7-Segment-Anzeige lassen sich jetzt einfach ansprechen. Dazu muss nur in Zeile 16 der Alias geändert werden. Soll nur das Segment e blinken (es ist nach Abb. 1 mit PB.0 verbunden), muss die Programmzeile
lauten.
Was würde passieren, wenn man Programmzeile 19 aus dem Programm nehmen würde? Gib eine Erklärung.
Solltest du keine Lösung finden, kommentiere die Zeile aus und lasse dann das Programm noch einmal laufen. Der Unterschied ist deutlich.
Eine 7-Segment Anzeige wird mit einem ATmega 8A verbunden; die Taktfrequenz beträgt 8 MHz.
Der Aufbau ist identisch mit dem aus Übung 1.
Material
--------------------------------------
Aufgaben
Vorüberlegung
Für die Darstellung des Buchstaben A müssen die Segmente a, b, c, e, f und g auf 0 gesetzt werden und das Element d auf 1. Nach dem Schaltungsaufbau entsprechen den einzelnen Segmenten die folgenden Portanschlüsse des ATmega8A:
Sortieren wir die Tabelle nach den Portpin, dann bekommt sie das folgende Aussehen:
Es ist in der Liste sofort erkennbar, dass PB.5 nicht belegt worden ist. Da er nicht benötigt wird, setzen wir ihn auf 0. Die acht Bits des Port B lassen sich jetzt wie folgt schreiben:
wenn man PB.5, der nicht mit der Anzeige verbunden ist, ebenfalls auf 0 setzt. Der Doppelpunkt an PD.5 spielt hier keine Rolle, da er nicht angezeigt werden soll. Das funktioniert, wenn PORTD nicht als Ausgang deklariert wird; als Eingang ist er automatisch nach jedem Reset deklariert.
Mit diesem Wissen ist die Erstellung eines BASIC Programmes sehr einfach.
Programm 7seg_2.bas
Kurzinformation
Eine 7-Segment-LED Anzeige wird parallel vom ATmega8A angesteuert. Damit ist gemeint, dass der Kontroller über mehrere I/O Leitungen Daten (HIGH, LOW Informationen) an das Anzeigelement schickt. Bei einer 7-Segment-LED Anzeige sind dazu 8 I/O Anschlüsse notwendig, um alle Darstellungen auf dem Display vornehmen zu können.
Parallel Bus Die Verbindungsleitungen, über die die HIGH/LOW Signale vom ATmega8A zur 7-Segment-LED Anzeige übertragen werden, bezeichnet man summarisch als Parallel-Bus.
Eine 7-Segment Anzeige wird mit einem ATmega 8A verbunden; die Taktfrequenz beträgt 8 MHz.
Der Aufbau ist identisch mit dem aus Übung 1 und 2.
Material
--------------------------------------
Aufgaben
Vorüberlegungen
Zum Hoch- und Runterzählen der Zahlen von 0 bis 9 bedienen wir uns einer neuen Möglichkeit: es wird eine sogenannte Lookup-Tabelle erstellt, in der alle 10 Ziffern mit ihrer binären Codierung hinterlegt sind. Das Programm ruft nur noch die Werte aus der Lookup-Tabelle ab und zeigt die Entsprechung der Codierung als Zahl auf dem Display.
Die Bitposition PB.5 in der Codiertabelle ist mit keiner Elektrode der 7-Segment-Anzeige verbunden, deshalb ist der dort ausgewiesene Bitwert für alle Einstellungen beliebig und hier auf 0 gesetzt.
Codiertabelle
Die binär codierten Ziffern 0 ... 9 werden in eine Lookup-Tabelle am Ende des Programms geschrieben. Als Einsprungname wurde Ziffern: gewählt. Die Reihenfolge der codierten Ziffern in der Tabelle ist wichtig. Da von 0 fortlaufend bis 9 hochgezählt werden soll, sind die Eintragungen in dieser Reihenfolge vorzunehmen.
Das Programm 7seg_3.bas
Das vorliegende Programm leistet bis hier nur die Hälfte; es zählt aufwärts. Es bleibt jetzt deine Aufgabe, den Rest, das Abwärtszählen, zu ergänzen.
Weiter geht´s mit dem Kapitel Dot-Matrix Anzeige