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


zurück zu Elektronik, Homepage


9. Demonstrationsbeispiel 3

Das folgende Beispiel dient nur zur Demonstration, und zeigt eine mögliche Einbindung der im vorigen Abschnitt beschriebenen Unterprogramme.

In diesem Beispiel soll eine einfache Uhr mit Minuten und Sekunden erzeugt werden. Zusätzlich soll ein Sekundentakt mit Hilfe von zwei Leuchtdioden (LEDs) erzeugt werden, und zur Demonstration soll auch die Helligkeit mit einem Taster verändert werden.

nach oben

9.1. Hardware

Schaltung zum Demonstrationsbeispiel 3

Bei diesem Demonstrationsbeispiel werden die beiden Dot-Matrix-Anzeigen (LD1 und LD2) "liegend" verwendet. Daher muss für beide unbedingt der Typ TA07-11HWA verwendet werden. (Siehe auch Demonstrationsbeispiel 2)

Neu sind bei diesem Demo die beiden Leuchtdioden D4 und D5. Diese sind an Pin 5 (Digit 6) von IC3 angeschlossen, da dieser Digit für die Dot-Matrix-Anzeigen nicht benötigt wird.

Neu ist auch der Taster S1 mit R1 als Pull-Up-Widerstand. Dieser Taster dient hier zur Veränderung der Helligkeit der Anzeigen. Als externer Widerstand für die Helligkeit dient wieder ein 10k-Widerstand (R3 und R4), wie schon beim Demonstrationsbeispiel 1

Als Mikrocontroller (IC1) dient auch hier ein PIC12F629. Auch hier ist die Anwendung nicht zeitkritisch, so dass der interne Oszillator verwendet werden kann.

Achtung:
Die Portbelegung zur Ansteuerung der beiden MAX7219 unterscheidet sich zu den Demonstrationsbeispielen 1 und 2, und muss auch in der Software berücksichtigt werden. (Die Steuerleitungen DIN und CLK wurden beim layouten vertauscht.)

nach oben

9.2. Anmerkungen zur Software

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

Die Software besteht bei diesem Demonstrationsbeispiel aus drei Dateien. Die in Abschnitt 8. Software (in C mit mikroC) besprochenen Unterprogramme zur Kommunikation mit dem MAX7219 befinden sich in der Datei MAX7219.C und werden hier daher nicht mehr näher erläutert. Die Datei MAX7219.H beinhaltet die dazugehörigen Funktionsprototypen und die Portdefinitionen für den MAX7219.

Die Anwendung, also das "eigentliche" Demonstrationsbeispiel befindet sich in der Datei max7219_demo3.c und hat folgende Aufgaben:

  1. Den Mikrocontroller (hier den PIC12F629) initialisieren
  2. Jede Sekunde das Sekundenregister erhöhen und daraus die Uhrzeit (Minuten und Sekunden) ermitteln. Diese Uhrzeit mit Hilfe von Tabellen so an die beiden MAX7219 senden, dass aus der Uhrzeit lesbare Ziffern entstehen, die die Uhrzeit wiedergeben. Zusätzlich noch einen Sekundentakt an den beiden Leuchtdioden (D4 und D5) ausgeben.
  3. In regelmäßigen Abständen (hier ca. alle 10 ms) überprüfen, ob der Taster (S1) gedrückt wurde, und wenn ja die Helligkeit der Anzeigen erhöhen. (Also das Register Intensity, des MA7219) um eins erhöhen und an die beiden MAX7219 senden. Nach der maximalen Helligkeit, wieder mit der minimalsten Helligkeit beginnen.

Die Software besteht daher aus den folgenden Programmteilen, die im Quellcode ausreichend kommentiert sind:

Ein kleiner Nachteil beim mikroC-Compiler ist, dass die Konfigurationsbits in der IDE gesetzt werden müssen (und leider nicht im Quellcode). Hier sind die notwendigen Einstellungen für dieses Demonstrationsbeispiel:

nach oben


zurück zu Elektronik, Homepage

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