Ansteuern eines LCD 5x7 Dotmatrix mit zwei Leitungen


Das Problem:
Ein solches Display benötigt mindestens 6 Datenports zu einem Mikrocontroller. Da die meisten Mikrocontroller häufig jedoch nur sehr wenige Datenports besitzen würde man häufig gerne einen Teil der 6 vom LC-Display benötigten Ports für andere Sachen benutzen.

Die Lösung:
Einfach die Daten seriell mit einem Mikrocontroller ausgeben und danach mittels zwei CMOS 4015 die Daten wieder für den parallelen Eingang des LC-Displays umwandeln. Mit der folgenden Schaltung funktioniert dies:

Der Schaltplan
Die Schaltung benötigt einen externen Takt (Dauertakt)- Schaltung siehe weitere Schaltungen. Die Taktgeschwindigkeit sollte so gewählt sein, dass das Display innerhalb von 2 Takten die Daten an den Eingängen übernehmen kann.
Aus dem Display können mit dieser Schaltung leider keine Daten gelesen werden, dies gilt auch für das Busy Flag. Daher ist der R/W Eingang grundsätzlich auf Masse gelegt. Vor dem Senden des nächstem Befehls muss mindestens genügend Zeit für 8 Takte und genügend Zeit für das abarbeiten des Display Befehls vergangen sein.
Die LED blinkt jedes mal kurz auf, sobald ein Befehl vollständig übertragen wurde. (Zur Kontrolle und eventuelle Fehlersuche empfehlenswert.)

Funktionsweise der Schaltung:
Die Schaltung ist so ausgelegt, dass das Display im 8Bit Modus betrieben werden kann.
Ein senden eines Befehls funktioniert wie folgt:
  1. Es muss eine 1 an den Dateneingang angelegt werden.
  2. Es wird ein Puls an den Takt Eingang gegeben. Damit wird die 1 in das erste Register übernommen.
  3. Die nächsten 2 Bits sind beliebig. Es reichen also 2 weitere Pulse am Takt Eingang.
  4. Nun beginnt der eigentliche Display Befehl. An den Dateneingang muss der Wert für den RS Eingang des Displays gelegt werden. Dann wieder ein Puls an den Takt Eingang.
  5. An dem Dateneingang muss der Wert für den Display Eingang DB7 angelegt werden. Wieder Puls auf den Takteingang.
  6. An Dateneingang Wert für DB6 und dann ein Puls auf Takt.
  7. Punkt 6 wiederholen mit DB5, DB4, DB3, DB2, DB1 und zuletzt DB0.
  8. Mindestens 8 Takte des Dauertakts warten bis der nächste Befehl, beginnend mit Punkt 1, gesendet werden kann.
Nach dem Senden des letzten Bits (DB0), wird nach 2 Takten an dem Dauertakt Eingang der Display Eingang E auf 0 gezogen und so zum Bearbeiten des Befehls gebracht. Nach einem weiterem Takt wird die LED eingeschaltet und nach noch einem Takt die Eingänge RS, DB0 - DB7 auf 0 gesetzt(Reset der beiden Schieberegister).

Hinweise:

Die Funktionsweise eines solchen LC-Displays und die der Schieberegister (CMOS 4015) kann in Suchmaschinen gefunden werden.
Die Stromversorgung beträgt 5 Volt, sie wurde in der oben zeigten Schaltung nicht eingezeichnet. Die beiden ICs und das Display müssen natürlich jedoch mit ihr versorgt werden.
Auch wenn die Schaltung bei mir funktioniert hat, garantiere ich nicht dafür, dass sie fehlerfrei ist und wo anders auch läuft.
Inzwischen habe ich die Schaltung wieder auseinander genommen, da ich das LC-Display jetzt in meiner Schaltung IR LCD verwende.


Zur Startseite

zuletzt aktualisiert: 10.04.2005