5x7-Dot-Matrix-Ansteuerung mit dem MAX7219 (für PIC-Mikrocontroller, Elektronik)


zurück zu Elektronik, Homepage


5. Demonstrationsbeispiel 1

Das folgende Beispiel dient nur zur Demonstration. Es zeigt eine mögliche Einbindung der beschriebenen Unterprogramme.
In diesem Beispiel soll eine 5x7-Dot-Matrix so angesteuert werden, dass ein Buchstabe mit 5 Spalten und 7 Zeilen angezeigt wird.

nach oben

5.1. Hardware

Schaltung zum Demonstrationsbeispiel 1

Als Dot-Matrix-Anzeige (LD1) wird der Typ TC07-11HWA verwendet. Die 5 Spalten der Dot-Matrix-Anzeige (C1 bis C5) werden mit den DIGIT-Ausgängen des MAX7219 (IC2) verbunden und die 7 Zeilen der Dot-Matrix-Anzeige (R1 bis R7) werden mit den SEGMENT-Ausgängen A bis G des MAX7219 verbunden.

Als Mikrocontroller (IC1) dient hier ein PIC12F629. Auffällig beim Mikrocontroller ist die fehlende Oszillatorschaltung. Diese ist hier auch nicht notwendig, da diese Anwendung nicht zeitkritisch ist und daher der interne Oszillator verwendet werden kann.

Zur Erzeugung des Reset (für den Mikrocontroller) wurde eine einfache Standardlösung bestehend aus einem Widerstand (R1) und einem Elektrolyt-Kondensator (C1) gewählt. Zusätzlich kann auch ein Reset mit dem Taster S1 erfolgen. Da der Reseteingang des Mikrocontrollers (MCLR, Pin 4) auch gleichzeitig die Programmierspannung (ca. 13V) bei der ICSP-Programmierung ist, darf während einer Programmierung kein Reset ausgelöst werden. Durch die Schottky-Diode D2 ist ein Reset durch das RC-Glied (R1 und C1) während einer Programmierung via ICSP nicht möglich.

Die Schottky-Diode D1 ist notwendig, damit beim Programmieren des Mikrocontroller (IC1) das Programmiergerät nicht die gesamte Hardware versorgt, sondern nur den Mikrocontroller.

Die Kommunikation des Mikrocontroller mit dem MAX7219 erfolgt über die drei Portpins GP5 (DIN), GP4 (CLK) und GP2 (LOAD).

Der Widerstand R2 bestimmt die maximale Helligkeit der Anzeige.

Der Kondensator C2 dient zur Entkoppelung der Betriebsspannung für den Mikrocontroller. Für diesen Koppelkondensator sollte ein Keramiktyp verwendet werden. Dieser muss möglichst nahe an diesen IC angebracht werden.

Die ICSP-Schnittstelle (K1) dient zur Programmierung des Mikrocontrollers (IC1), wobei bei dieser Methode der Mikrocontroller nicht aus der Schaltung entfernt werden muss.

Diese ICSP-Schnittstelle beinhaltet folgende Leitungen:

Die Kondensatoren C3 und C4 dienen zur Entkoppelung der Betriebsspannung für den MAX7219. Für C4 sollte ein Keramiktyp verwendet werden. Dieser muss möglichst nahe an diesen IC angebracht werden.

Als Betriebsspannung muss eine stabile 5-V-Spannungsquelle verwendet werden.

nach oben

5.2. Anmerkungen zur Software

Die Software zum Demonstrationsbeispiel befindet sich im Download-Bereich auf dieser Seite

Die Software besteht im Wesentlichen aus einem kurzen Hauptprogramm, die im Abschnitt 4. (Software in Assembler). besprochenen Unterprogramme zur Erzeugung des Protokolls für den MAX7219, und einem Unterprogramm AUSGABE.

Das Hauptprogramm besteht nach der Initialisierung des Mikrocontrollers (Unterprogramm INIT) und der Initialisierung des MAX7219 (Unterprogramm MAX7219_INIT) nur mehr aus dem Unterprogramm AUSGABE und einer Endlosschleife.

Das Unterprogramm INIT dient zur Initialisierung des Controllers. Hier werden die Ports konfiguriert (Port dient hier als Ausgang) und die Comparatoreingänge auf digitale Ausgänge umgestellt. Dieses Unterprogramm ist vom Controllertyp abhängig und je nach Anwendung mehr oder weniger umfangreich. Siehe auch (Unterprogramm INIT)

Das Unterprogramm AUSGABE soll hier noch näher betrachtet werden. Dieses Unterprogramm hat hier die Aufgabe das Zeichen, welches am MAX7219 dargestellt werden soll, hier der Buchstabe Q, in seine Spalten zu zerteilen und diese Bytes nacheinander in die Digit-Register 0 bis 4 zu schreiben (siehe Listing).

Wichtig im Unterprogramm MAX7219_INIT ist, dass hier das Register 0Bh (Scan Limit des MAX7219) mit dem Wert 04h geladen wird.

nach oben


zurück zu Elektronik, Homepage

Autor: Buchgeher Stefan
Erstellt: 6. April 2006
Letzte Änderung: 25. September 2008