LCD kaputt?

Gast #134549
Hallo,

ich habe hier ein 2x16 LCD von Displaytech.
Beim ersten Betrieb lief es wunderbar. Es hat den Text so angezeigt wie
ich es wollte. Ich habe etwas in beide Zeilen geschrieben.
Als ich noch was an der Software geändert habe und diese anschliessend
testen wollte, versagte das LCD. Ich sehe jetzt nur noch in der 1.
Zeile einen schwarzen Balken und in der zweiten Zeile nichts. An der
Software liegt es nicht, es funktioniert noch nicht einmal mehr das
"Test" Programm aus dem Tutorial. Die Verbindungen habe ich auch
überprüft.
Kontrast ist auch in Ordnung.
Als Spannungsversorgung nehme ich ein 12V Steckernetzteil und regle
diese Spannung mit einem 7805 auf 5V runter.
Ist das Ding jetzt etwa schon kaputt? Oder muss ich noch irgendwas
anderes beachten, wenn ich die DD-Ram Adresse mal geändert habe?

Gruß
Daniel
Gast #134551
Also wenn das display oben einen balken und unten nichts hat, dann ist
es nicht initialisiert.

Wie siehts mit der initialisierung aus? hast du die Zeiten eingehalten?
Gast #134552
Ich hab gestern etwas zu viel gefeiert... Heut kann ich ausnahmsweise
mal nicht hellsehn ==> ohne sourcecode läuft wohl nix.

Vermutung vielleicht:
 Es liegt an der Init-Routine
 Timing (Routine zu schnell)


dave
Gast #134556
probiere bei den ersten drei mal warten das dritte mal
länger...hmmm...das ist jetzt doof zum erklähren...

lcd_init:
           ldi  temp3,50
powerupwait:
           rcall  delay5ms
           dec  temp3
           brne  powerupwait
           ldi temp1, 0b00000011        ;muss 3mal hintereinander
gesendet
           out PORTD, temp1             ;werden zur Initialisierung
           rcall lcd_enable             ;1
           rcall delay5ms
           rcall lcd_enable             ;2
           rcall delay5ms
hier sollte es länger sein ich warte meistens 120ms
           rcall lcd_enable             ;und 3!
Gast #134559
Also ich hab jetzt mal die länge von Powerupwait verdoppelt und es geht
nun!
Komisch das es Anfangs auch so ging.

Danke nochmal. Jetzt kann ich ja wieder in Ruhe weiter basteln :)
@Mr_Boertsch: Deinen Vorschlag werde ich auch mal mit einbauen.


Gruß
Daniel
Gast #134560
Je nachdem kann es natürlich auch sein, das deine Speisung etwas träge
ist. Dadurch ist das powerup für den Prozessor eher erfüllt und das LCD
hat nochnicht die richtige Spannung.

Vorausgesetzt, dein Prozessor läuft über die selbe Spannungsversorgung.
Gast #134562
Wenn der Prozessor schon mit Init beginnt, aber das lcd hat noch keine
spannung, dann ist das powerupwait zu kurz und das LCD kann nicht
initialisiert werden.

Vieleicht habe ich es unklar geschrieben:)
Gast #134563
Dem LCD ist es ja grundsätzlich egal wann es initialisiert wird. es
braucht aber mindestens 16ms nachdem es aktiviert (Spannung voll
vorhanden) wurde, bis es initialisiert werden darf.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.