Hmmm ...
Bei mir war nach der Init die Zeilen zu sehen. Vor der Init war hier absolut nichts zu sehen.
Ich denke, entweder ist es kein 47780 oder das Timing passt nicht.
Gibt's kein Datasheetdownload von der Seite, wo du das Ding erworben hast?
Ich meinte nach der Init. Bei der normalen Datenübergabe.
Edit:
Genau.
Hmmm ...
Bei mir war nach der Init die Zeilen zu sehen. Vor der Init war hier absolut nichts zu sehen.
Ich denke, entweder ist es kein 47780 oder das Timing passt nicht.
Gibt's kein Datasheetdownload von der Seite, wo du das Ding erworben hast?
Es handelt sich um dieses LCD:
http://www.pollin.de/shop/dt/OTc1OTc...C1602E_01.html
Die Unterlagen von Pollin taugen zwar nicht viel, ich habe aber auch noch das hier gefunden:
http://www.oppod.com/upload/download...3027_57179.pdf
Auf Seite 15 deines zweiten Links ist die Init Sequenz.... dann mal checken ...falls mir was auffällt schreib ichs nochmal ...
- - - Aktualisiert - - -
Ich hab was ...
Das Display mag
Funktion Set
Display On
Display Clear
EntryMode Set
Also nicht wie beim 47780 Erst das Interface....
Der Block mal raus
Code:ldi LCD_TMP1, 0b00110000 out LCD_DAT_PORT, LCD_TMP1 rcall LCD_Enable rcall Warte_1ms rcall Warte_1ms rcall Warte_1ms rcall Warte_1ms rcall Warte_10us ldi LCD_TMP1, 0b00110000 out LCD_DAT_PORT, LCD_TMP1 rcall LCD_Enable rcall Warte_100us ldi LCD_TMP1, 0b00110000 out LCD_DAT_PORT, LCD_TMP1 rcall LCD_Enable
Stimmt...das Interface wird weggelassen, das hab ich völlig übersehen.
Das Display wird immer noch initialisiert, aber Zeichen zeigt es immer noch nicht an.
Nach dem EntryMode Set noch ein "Return Home"
RS 0
RW 0
PORT Data = 2
Siehe Seite 11. Dann Text rausballern.
Ich danke dir sehr für deine Hilfe...aber ich werde das wohl erst morgen ausprobieren.
Schade...auch nach Cursor-Home tut sich immer noch nix.
Ich würde das ganze aus dem Programm rausnehmen und mich erstmal nur auf die Sequenz konzentrieren. Sprich: Ein Programm das nur versucht das Display zu initialisieren und ein Zeichen zu schreiben. Auf das absolut Notwendigste konzentrieren. Nichts parametrieren. Nur direkt hintereinander die Sequenz abarbeiten. Das Motto: "Raus aus dem Wald auf die grüne Wiese".
DDRC=...
DDRD.=...
PORTD=...
_delay...
PORTD=...
_delay ..
usw. ... dass du eine funktionierende Sequenz bekommst.
Hast du das Display jedes mal auch von Vcc getrennt bevor du es versucht hast? Sonst steht es nämlich im flaschen Zustand und reagiert auf die richtige folge nicht ...
- - - Aktualisiert - - -
Das Dsiplay ist eine Statemachine. Es können manche Sachen nur direkt nach einem Power On gemacht werden.
Ich hab beides schon mehrmals ausprobiert. Ja, das LCD samt AVR auch ab- und wieder angeschaltet.
Wie gesagt, bevor ich den Thread hier aufgemacht habe, habe ich schon ein paar Tage dran gesessen.
Ich habe mir auch mal die Init-Sequenzen mehrerer verschiedener LCD-Controller angeschaut und nachprogrammiert. Unter anderem KS0066U, SPLC780D1 und gerad eben auch den ST7066U.
Das LCD selber habe ich auch schon ausgetauscht, die EA-Pins des AVR auf korrekte Funtkion geprüft.
Allmählich bin ich versucht, das LCD aus dem Fenster zu werfen...
Trotzdem danke für deine Hilfe und Mühe bisher.
Lesezeichen