Forum: Mikrocontroller und Digitale Elektronik PIC 16F84 und LCD 2x16


von Nico B. (alligatorbirne)


Lesenswert?

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

von Marabel (Gast)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.