5 - Dot-Matrix Anzeige
Kurzinformation
Kurzinformation
Mit Hilfe einer Dot Matrix Anzeige mit ihren 5x7 LEDs lassen sich beliebig viele Zeichen definieren und darstellen; sie erweitert die Möglichkeiten gegenüber einer 7-Segment Anzeige.
Der in dieser Übung vorliegende Dot-Matrix Anzeige Typ Kingbright TC07-11HWA kann nur dann richtig angesteuert werden, wenn man die interne Beschaltung der LEDs kennt. Über das Datenblatt vom Hersteller bekommt man diese Informationen.
Für die folgenden Übungen wurden die Bezeichnungen aus dem Datenblatt übernommen, ergänzt um die Daten, die sich aus dem speziellen Aufbau und dem benutzten Controller ATmega8A ergeben..
Mit Hilfe der Zeilenpins des PORTD lassen sich bestimmte Zeilen ein- bzw. ausschalten. Wird zum Beispiel
gesetzt und sind alle anderen Portpins von PORTD auf 0 gesetzt, dann ist nur R1 HIGH und damit lässt sich jede der fünf LEDs in der Reihe R1 ein- bzw. ausschalten. Mit
wird zum Beispiel die zweite LED in der ersten Reihe eingeschaltet, wenn gleichzeitig alle anderen Portpins von PORTB auf 1 gesetzt sind.
Die Spaltenleitungen C1 ... C5 fassen die Kathoden aller 7 LEDs einer Spalte und die Zeilen R1 ... R7 die Anoden aller fünf LEDs einer Zeile zusammen. Abb. 2 ist zu entnehmen, dass die LEDs nur dann durchschalten, wenn an der Reihenzeile Rn eine 1 und an der Spaltenzeile Cm eine 0 liegt.
Um uns mit der Adressierung der einzelnen LEDs besser vertraut zu machen, wird in einer Vorübung versucht, bestimmte LEDs innerhalb der Matrix einzuschalten.
Verbindet man alle Zeilenanschlüsse R1 - R7 mit PORTD und alle Spalten C1 - C5 mit PORTB eines ATmega8A, dann lassen sich über ein entsprechend gestaltetes Programm alle LEDs einer Dot-Matrix Anzeige einzeln ansteuern.
Sobald PORTD.n auf 1 gelegt wird mit n = {0, 1, 2, 3, 4, 5, 6} und PORTB.m auf 0, mit m = {0, 1, 2, 3, 4}, geht die entsprechende LED in der Dot-Matrix Anzeige an.
Verschiedene LEDs in einer Dot-Matrix Anzeige einschalten | |
Material |
|
Aufgaben |
Der Vorwiderstand für alle LEDs beträgt 1 kOhm. Abb. 4 zeigt die Verdrahtung auf dem Steckbrett. |
Schaltungsaufbau für Teilaufgabe 1
Schaltungskizze für Teilaufgabe a
In Abb. 4 kann man ablesen, dass jede der drei LEDs genau dann anfängt zu leuchten, wenn das Bit PD.3 auf 1 und das zugehörige Kathodenbit in PORTB auf 0 gesetzt wird. Der Abb. 4 ist ebenfalls zu entnehmen, dass PORTB für die Spalten und PORTD für die Reihen der Dot-Matrix Anzeige zuständig ist.
Programm dotMatrix_ue2a.bas
Die Lösung zur Teilaufgabe 2 überlasse ich dem Leser. Man kann sich an Lösung a orientieren und kommt damit sicher zum Ziel. Was aber viel wichtiger ist, es übt, sich mit etwas komplexeren Verdrahtungen auseinanderzusetzen und eine Lösung zu finden.
Schwieriger wird es bei Teilaufgabe 3, da hier gleich drei Zeilen von der Ausgabe betroffen sind.
Schaltungsaufbau für Teilaufgabe 3
Programm dotMatrix_ue2c.bas
Die Figur wird auf dem Dot-Matrix Display zeilenweise aufgebaut. Insgesamt besteht die Figur aus drei Zeilen; in Programmzeile 22 werden die Bits für die erste Zeile gesetzt. Dabei entspricht einer 1, dass die LED nicht leuchtet und eine 0, dass sie leuchtet.
Im Kapitel über 7-Segment-Anzeigen haben wir bereits eine Lookup-Tabelle benutzt. In ihr lassen sich alle Bitmuster zur Darstellung eines bestimmten Zeichens hinterlegen und später in einem Programm aufrufen. Das nutzen wir in dieser Übung bei der Darstellung des Pfeiles aus.
Aufgabe
Zur weiteren Orientierung benutzen wir die folgende Darstellung, in der das Pfeilsymbol bereits eingetragen ist.
Die Ablauffolge des Programmes soll so erfolgen, dass Zeile für Zeile (von PD.0 nach PD.6) die jeweilige Bitkombination von PORTB an die Dotmatrix-Anzeige übertragen wird. Das sehe für das vorliegende Pfeilbild aus Abb. 5 dann wie folgt aus:
Das Programm dotMatrix_ue3.bas
Aufgabe
Codierung des Symbols
Die Codierung erfolgt über die Darstellung des Symbols in der 5x7 Matrix. Jeder gefärbte Kreis entspricht einer leuchtenden LED und wird mit 0 codiert; jeder weiße Kreis mit 1.
Dann ergeben sich für die Zeilen R1 bis R7 folgende Codierungen:
Die Dot-Matrix Anzeige verfügt nur über 5 Bitstellen (5 LEDs pro Zeile), die restlichen 3 Bitstellen des jeweiligen Bytes einer Zeile wurden mit Einsen aufgefüllt. Ganz rechts steht die zur Binärzahl entsprechend umgerechnete Dezimalzahl.
Damit stehen die Spalten-Datenwerte für die Lookup-Tabelle fest. Die Zeilen-Datenwerte ergeben sich dadurch, dass von oben nach unten die Zeilen mit PD.0 - PD.6 verbunden sind und nacheinander auf 1 gesetzt werden müssen.
Das Programm dotMatrix_Pfeil.bas
Um den griechischen Buchstaben Omega darstellen zu können, muss sein Aussehen erst einmal an Hand einer Papiervorlage der Dot-Matrix Anzeige entworfen werden. Alle Punkte sind farbig markiert, die später durch leuchtende LEDs wiedergegeben werden.
Finde selbst eine Lösung für die Darstellung des griechischen Buchstabens auf der Dot-Matrix Anzeige.
Weiter geht´s mit dem Kapitel Entladung Kondensator - Kapazitätsmessung