mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD kaputt?


Autor: Daniel Nöthen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Daniel Nöthen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achja, ich benutze einen Atmega8. Diesen habe ich aber auch schon mit
einem neuen ausgetauscht.

Autor: Mr_Boertsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am Port C?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vergiss es, das war Quatsch, war in Gedanken beim Mega16, da ist oft die
JTAG-Fuse das Problem.

Autor: Daniel Nöthen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sourcecode ist dieser, ich habe nur PORTD mit PORTC ersetzt:
http://www.mikrocontroller.net/sourcecode/tutorial...
http://www.mikrocontroller.net/sourcecode/tutorial...

Ich spiel mal bisschen mit dem Timing rum. Vielen dank für die sehr
raschen antworten :)

Gruß
Daniel

Autor: Mr_Boertsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Mr_Boertsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry vergiss es.... habe ms und us verwechselt

Autor: Jens123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
endweder das, oder die Frequenz des Controllers etwas runterdrosseln
sprich von 8MHz auf 4MHz das hatte be imri geholfen


Gruss Jens

Autor: Daniel Nöthen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Mr_Boertsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grad andersrum wäre richtig ;) lcd läuft schon und hat seine Zeit und
erst dann geht der MC los ;)

dave

Autor: Mr_Boertsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:)

Autor: Mr_Boertsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.