Hallo, ich soll mit dem PIC 16F84 ein 2x16-LCD im 4bit-Betrieb antreiben. Es steht zwar überall, wie man es macht, dennoch verstehe ich nichts: Hier gibt es ein Beispiel für eine Initialisierung mit 4-Bit Interface: http://www.sprut.de/electronic/lcd/index.htm#2x16 Laut der Tabelle muss man folgendes tun (meinem Verständnis nach): 1. Einschalten 2. min. 15 ms warten 3. Schnittstelle auf 8 bit setzten (warum auch immer) RS R/W D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 1 - - - - 4. min. 4,1 ms warten 5. Wieder auf 8-bit stellen (ist doch bereits gemacht, also ändert sich nichts? ) 6. min. 100µs warten 7. Wieder 8 bit setzten (Wieder keine Zustandsänderung an den Ausgängen des PIC) 8. Dann kann man ohne warten auf 4-bit umstellen. 9. Dann, ebenfalls ohne warten, weitere Sachen festlegen. Warum muss man dreimal 8 bit-Bertieb einstellen mit den Wartepausen, für das Display liegt doch dann durchgehend der Befehl 8 bit an. Kann man nicht 8-bit einstellen und dann einmal 19.2ms warten, wäre doch das gleiche? Hat man dann einmal auf 4-bit umgetellt, kann man ohne Pausen arbeiten? Ich hacke in Schritt 9 soviele Befehle auf das Display ohne Verzögerung. Irgendwie übersehe ich das etwas. Der Pin E wird gar nicht der Tabelle berücksichtigt, kann es vielleicht sein, dass man jede Zustandsänderung erst mit E bestädigen muss? Vielleicht kann mir jemand meinen Ablauf verbessern
Gast
#1027970
Lies im Link im Abschnitt "Interface" den Text unter dem Punkt "Schreiben zum Display" durch, dann verstehst du auch, was es mit der "E"-Leitung auf sich hat und warum es nicht reicht, einfach nur länger zu warten. Die Initialisierung des Displaycontrollers musst du nicht verstehen - akzeptiere das so - hat sich nämlich der Hersteller des Controllers ausgedacht... Kannst dir ja mal das Datenblatt durchlesen (einfach mal hd44780.pdf googlen...). Marabel