PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD - initialisieren im 4-Bit Modus



henne
11.03.2005, 10:51
Hallo,
zur Initialisierung eines Standard HD44780 LCD-Display (4x20) habe ich mal eine generelle Frage (Mega8 mit 16Mhz).
Am PortB habe ich in folgender Reihenfolge das Display angeschlossen:
PIN0 - RS
PIN1 - E
PIN2 - DB4
PIN3 - DB5
PIN4 - DB6
PIN5 - DB7

um in den 4-Bit Modus mit zwei Zeilen zu kommen muss ich doch DB5,4 und 3 auf 1 setzen.
Nun habe ich aber DB3 garnicht direkt belegt, kann also das Bit nur schreiben, wenn das Display bereits initialisiert ist und ich zuerst DB 4-7, danach 3-0 sende.

Muss man das nacheinander machen, also erst den 4-Bit Modus einstellen und danach, wenn im 4-Bit Modus, nochmal auf 2 Zeilen??
Habe zur Initialisierung die Routinen von www.mikrocontroller.net versucht umzubasteln, vielleicht liegt auch da ein Fehler. (die Pausen habe ich alle mal 4 genommen--habe die 4-Fache Frequenz)

Danke, Hanno

henne
11.03.2005, 19:52
o.k.,

habs bemerkt--war ne doofe Frage---
habe zufällig ne Seite gefunden, wo jemand die selben PIN-Belegung benutzt hat wie ich: www.kreatives-chaos.com/index.php?seite=lcdroutinen

Den Code habe ich so übernommen.

Komischerweise wird das Display immernoch nicht richtig initialisiert.
Habe auch schon nen 4MHz Quarz anstelle des 16ers eingelötet.
Der ISP liegt auch auf 3 der Pins des LCD, also habe ich es nach dem Brennen abgestöpselt-----nix.

Es werden lediglich die erste und dritte Zeile angezeigt (Balken)
Ein Timing Problem schließe ich aus, da selbst mit internem 1Mhz-Takt sich nichts verändert.

Ich weis das es mehrere Threads zum Thema LCD gibt, aber bei keinem finde ich eine Lösung---probiere schon Tagelang mit dem Mistding rum.

henne
12.03.2005, 00:26
Sachen gibts..... mein lieber Herr Gesangsverein......
es funktioniert, es lag eindeutig an dem besch..... Flachbandkabel, welches einen Bruch irgendwo zum DB5 hatte----unglaublich----aber mit soetwas rechnet man ja überhaupt nicht, besonders wenn es neue Teile sind.

Sorry für den überflüssigen Beitrag !

@webmaster : bei Gelegenheit mal löschen ;-)