Ansteuern eines HD44780 mit zwei Leitungen
Der folgende Aufbau löste das Problem 2003 diskret, inzwischen wäre
stattdessen eine Lösung durch einen weiteren Mikrocontroller zu empfehlen.
Das Problem
Ein HD44780 Display benötigt mindestens 6 Datenports zu einem
Mikrocontroller. Nicht immer sind jedoch ausreichend viele IO Pins frei.
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:
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
nützlich.)
Funktionsweise der Schaltung
Die Schaltung ist so ausgelegt, dass das Display im 8Bit Modus
betrieben werden kann.
Ein senden eines Befehls funktioniert wie folgt:
Ein senden eines Befehls funktioniert wie folgt:
- Es muss eine 1 an den Dateneingang angelegt werden.
- Es wird ein Puls an den Takt Eingang gegeben. Damit wird die 1 in das erste Register übernommen.
- Die nächsten 2 Bits sind beliebig. Es reichen also 2 weitere Pulse am Takt Eingang.
- 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.
- An dem Dateneingang muss der Wert für den Display Eingang DB7 angelegt werden. Wieder Puls auf den Takteingang.
- An Dateneingang Wert für DB6 und dann ein Puls auf Takt.
- Punkt 6 wiederholen mit DB5, DB4, DB3, DB2, DB1 und zuletzt DB0.
- Mindestens 8 Takte des Dauertakts warten bis der nächste Befehl, beginnend mit Punkt 1, gesendet werden kann.
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 mit ihr versorgt werden.
Inzwischen wurde die Schaltung wieder auseinander genommen, da
das LC-Display jetzt für das IR LCD Projekt
verwendet wird.