LCD ATMega8 Turotail-4 Nur löschung des Displays :-/

Gast #397274
Lesenswert?

Hi Leute,

ich habe da son Problem. Habe an mein STK 500 an PORTD Mein Display
angeschloßen. Und habe auch Meine Schaltung des Display mehrfach
überprüft Sie ist also auch korrekt. Proramm und Init des LCD habe ich
Orginal aus dem Tutorial genommen.

Nun ist das Problem. Das Sobald ich alles Starte im Displays zwar die
Balken Verschinden ( also das Display Gelöscht wird ) aber leider
erscheint der aus dem Tuorial geschriebene Text "Test" nicht aufs
Display. Was glaubt ihr was das sein kann ? Hilft mir bitte.

Danke
MFg
Pascal
#397278
Lesenswert?

> Was meinst du genau mit Timing.

Na ja.
Beim Initialisieren des Displays und auch später gilt es
Wartezeiten einzuhalten. Aus dem Tutorial geht leider nicht
eindeutig hervor für welche Taktfrequenz der Code geschrieben
wurde und nachgerechnet hab ichs auch nicht.
Aber du solltest das nachrechnen!
Rechne doch mal nach, ob die Warteschleifen mit den im
Tutorial genannten Konstanten tatsächlich die angegebenen
Wartezeiten bei 4 Mhz ergeben.

delay50us:                              ;50us Pause
           ldi  temp1, $42
delay50us_:dec  temp1
           brne delay50us_
           ret                          ;wieder zurück

 ;Längere Pause für manche Befehle
delay5ms:                               ;5ms Pause
           ldi  temp1, $21
WGLOOP0:   ldi  temp2, $C9
WGLOOP1:   dec  temp2
           brne WGLOOP1
           dec  temp1
           brne WGLOOP0
           ret                          ;wieder zurück

Die sind kritisch. Vor allem in der Initialisierungsphase kommen
ein paar Kommandos an das LCD zum Zuge die je nach konkretem LCD
Kontroller längere Zeiten brauchen. Wenn du beim Text-Schreiben
mal ein Kommando verlierst, weil das LCD noch nicht aufnahmebereit
ist, dann siehst du das, weil Text fehlt. Wenn dir aber in der
Initialisierungsphase ein Kommando an das LCD fehlt, dann siehst
du nur: Das LCD initialisiert nicht so wie das willst.
#397280
Lesenswert?

- Was für ein Display benutzt Du?
- Hat es einen Controller HD44780 oder einen sogenannten HD44780-
  Kompatiblen?
- Stimmen die Zeiten mit den Angaben im Datenblatt des Displays
  überein?
- Hältst Du auch die Wartezeit zwischen Anlegen der
  Versorgungsspannung und Ansprechen des LCDs ein?
- Hast du mal hier im Forum gesucht? Denn das Thema (mit kompetenten
  Antworten!) gibt es hier immer wieder. Deine Frage ist mit
  Sicherheit bereits beantwortet worden.

...
Gast #397281
Lesenswert?

Ês ist ein Display 2x16 mit dem Controller HD44780
DAtenblatt vom Haargenau diesem Display habe ich nicht. Bzw. weis ich
igarnicht was für ein Display das ist. Ich weis nur das es
Funktioniert.

Die Wartepausen war keine rede von im Tutorial. Habe ich jetzt aber
gemacht gehabt. Leider hat dies kein effect gehabt auser das der
Schwazre Balken später erst ausging.

Ich habe im Forum gesucht da waren viele Fragen und Gute antworten aber
keiner hate das Problem wie ich. Sonst würde ich kein neuen Theard
aufmachen. Ist doch logisch.

MFg
Pascal
Gast #397282
Lesenswert?

Hi,

ich bins nochmal. Ich habe den Fehler gemerkt. So wie es aussieht habe
ich mir das Display wohl doch zerschossen. Habe ein anderes ausprobiert
und es Funktioniert einwandfrei. Sorry für die umstände und die Hilfe.
Ich weis nur nicht wie ich mir das LCd kaputt gemacht habe. evt. da ich
die 2.5mm Löcher auf 3mm erweitert habe.

MFg
Pascal
#397283
Lesenswert?

Das 4x27-LCD von Pollin hat zwei dieser Controller. Hier findest Du eine
(recht alte) Routinensammlung, die bei mir funktioniert hat. Dort
findest Du auch eine Diskussion mit vielen wertvollen Hinweisen.
http://www.mikrocontroller.net/forum/read-1-164017.html#164026

Eine funktionierende Routinensammlung für ein 4x20-LCD ist im Anhang.
Sie sollte auch mit einem 2x16-LCD zurechtkommen.

Mit 2x16 habe ich noch nichts gemacht.

Vielleicht kannst Du ja durch Analyse der Routinen feststellen, was Du
anders machst.

...
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren