Ich schreibe gerade in Assembler eine Steuerroutine für ein HD44780-kompatibles Display. Der 8Bit-Mode läuft, jetzt bin ich dabei, den 4Bit Mode zu implementieren. Dabei habe ich eine Frage: Wenn ich die Daten Nibbleweise sende - was muss ich dabei beachten? Drücke ich die einfach hintereinander raus? Oder muss der zwischendurch die fallende Flanke auf EN sehen? Oder braucht der eine feste Pause/Busyflag abfrage?
Ich bekomme schon eine Ausgabe, allerdings stimmt in den meisten Fällen das obere Nibble nicht. Also bekomme ich ein falsches Zeichen als Ausgabe.
Hallo,
Du musst dem HD schon sagen, dass er jetzt neue Daten übernehmen soll - von allein kann er das nicht erkennen.
Ein Beispiel findest Du hier: http://www.mikrocontroller.net/articles/AVR-Tutorial…
Gruß
loderunner
Wenn ich die Daten Nibbleweise sende - was muss
ich dabei beachten? Drücke ich die einfach hintereinander
raus? Oder muss der zwischendurch die fallende Flanke auf EN
sehen? Oder braucht der eine feste Pause/Busyflag abfrage?
nach jedem Nibble muss die E-Leitung kurzzeitig auf L-Pegel geschaltet werden. Es gibt nichts anderes, wodurch der LCD-Controller das an den Leitungen anliegende Datum übernimmt. Ansonsten empfiehlt es sich, alle Angaben im Datenblatt (Verarbeitungszeiten für die Kommandos etc.) genau zu beachten, dann kann man sich viel Frust ersparen.
Datenblatt (Verarbeitungszeiten für die Kommandos etc.) genau
zu beachten, dann kann man sich viel Frust ersparen.
ja, genau da ist das datenblatt nicht allzu ergiebig. leider. naja, das mit dem enable auf low habe ich mir auch schon gedacht. im moment nimmt es noch immer das low-nibble des vorangegangenen zeichens als high-nibble für’s nächste. habe jetzt das original hd44780 datenblatt gefunden. mal sehen, was das zum timing sagt…