Ansteuerung eines alphanumerischen LC-Display (mit PIC-Mikrocontroller, Elektronik)


zurück zu Elektronik, Homepage


6. Demonstrationsbeispiel:

Das folgende Beispiel dient nur zur Demonstration. Es zeigt eine mögliche Einbindung der oben beschriebenen Unterprogramme.

nach oben

6.1. Hardware

Schaltung zur Demonstration der LCD-Routinen

Bei diesem Demonstrationsbeispiel soll ein Mikrocontroller (PIC16F84) einen beliebigen Text (z.B. Hallo, wie gehtís) am LC-Display ausgeben. Die Beschaltung des LC-Displays erfolgt gemäß Abschnitt 2.

Für die Takterzeugung dient eine Standardbeschaltung bestehend aus einem 4-MHz- Quarz (X1), zwei Kondensatoren (C4, C5) und einem Widerstand (R2).

Das RC-Glied (R1, C1) erzeugt einen definierten Reset beim Anlegen der Betriebsspannung.

nach oben

6.2. Anmerkungen zur Assembler-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 (Assembler) beschriebenen Unterprogramme und einem weiteren Unterprogramm namens AUSGABE.

Das Hauptprogramm besteht nach der Initialisierung des Controllers (Unterprogramm INIT) und des LC-Displays (Unterprogramm LCDINIT) nur mehr aus einer Endlosschleife. In dieser Endlosschleife wird ständig das Unterprogramm AUSGABE aufgerufen, und anschließend eine Zeitverzögerung von 15 ms.

Das Unterprogramm INIT dient zur Initialisierung des Controllers. Hier wird, in diesem Beispiel, nur der Port B als Ausgang konfiguriert. Das Unterprogramm LCDINIT initialisiert das LC-Display (siehe Abschnitt 4.3.1. Unterprogramm LCDINIT).

Nach der Initialisierung des LC-Displays (Unterprogramm LCDINIT) ist das LC-Display bereit Zeichen oder Werte anzuzeigen. Die Ausgabe der anzuzeigenden Zeichen übernimmt hier das Unterprogramm AUSGABE. Zuerst wird das Display gelöscht. Dazu wird die Anweisung 0x01 mit dem Unterprogramm LCDBEFEHL an das Display übergeben. (0x01 bedeutet Display löschen, siehe auch Tabelle im Abschnitt 3.1. Befehle zur Ansteuerung eines LC-Display). Durch das Löschen des Displays befindet sich auch gleichzeitig der Cursor an der ersten Stelle der ersten Zeile. Nun können die am Display darzustellenden Zeichen mit dem Unterprogramm LCDZEICHEN nacheinander an das Display gesendet werden. Für die Anzeige des Buchstaben H auf dem Display sind die beiden Anweisungen

                movlw       'H'
                call        LCDZEICHEN

notwendig.

Mit der Befehlsfolge

                movlw       0xC0
                call        LCDBEFEHL

gelangt der Cursor auf die erste Position der zweiten Zeile. Nun können die Zeichen an das Display übergeben werden welche in der zweiten Zeile erscheinen sollen.

nach oben

6.3. Anmerkungen zur C-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 5. Software (C) beschriebenen Unterprogramme und einem weiteren Unterprogramm namens AUSGABE.

Das Hauptprogramm besteht nach der Initialisierung des Controllers (Unterprogramm INIT) und des LC-Displays (Unterprogramm LCD_INIT) nur mehr aus einer Endlosschleife. In dieser Endlosschleife wird ständig das Unterprogramm AUSGABE aufgerufen, und anschließend eine Zeitverzögerung von 15 ms.

Das Unterprogramm INIT dient zur Initialisierung des Controllers. Hier wird, in diesem Beispiel, nur der Port B als Ausgang konfiguriert. Das Unterprogramm LCD_INIT initialisiert das LC-Display (siehe Abschnitt 5.3.1. Unterprogramm LCD_INIT).

Nach der Initialisierung des LC-Displays (Unterprogramm LCD_INIT) ist das LC-Display bereit Zeichen oder Werte anzuzeigen. Die Ausgabe der anzuzeigenden Zeichen übernimmt hier das Unterprogramm AUSGABE. Zuerst wird das Display gelöscht. Dazu wird die Anweisung 0x01 mit dem Unterprogramm LCD_BEFEHL an das Display übergeben. (0x01 bedeutet Display löschen, siehe auch Tabelle im Abschnitt 3.1. Befehle zur Ansteuerung eines LC-Display). Durch das Löschen des Displays befindet sich auch gleichzeitig der Cursor an der ersten Stelle der ersten Zeile. Nun können die am Display darzustellenden Zeichen mit dem Unterprogramm LCD_ZEICHEN nacheinander an das Display gesendet werden.

nach oben


zurück zu Elektronik, Homepage

Autor: Buchgeher Stefan
Erstellt: 19. Februar 2004
Letzte Änderung: 23. Februar 2011