Forum: Mikrocontroller und Digitale Elektronik LCD wirre Zeichen.. gebaut nach Tut


von Jannik_ (Gast)


Lesenswert?

Hi, Ich bin gerad dabei ein LCD (4x20Zeichen) anzusteuern.. Habe es nach 
der Anleitung hier von mikrocontroller.net aufgebaut. Einziger 
Unterschied: mega8515, 8 MHz und PortA.. nungut.. das wesentliche werden 
wohl die 8Mhz sein.

Funktionen tut es auch alles soweit, jedoch zeigt mein display anstatt 
"test" überwiegend "d" in fast allen 4 zeilen an. Woran kann das liegen?

Pausenzeiten habe ich so angepasst (Bitte einmal rüberschauen -> bin 
noch sehr jungfräulich in der materie ;) )

lcd_enable:
           sbi PORTA, 5                 ; Enable high
           nop                          ; 3 Taktzyklen warten
           nop
           nop
       nop                ;ANGEPASST
       nop                ;ANGEPASST

       nop                ;ANGEPASST

           cbi PORTA, 5                 ;
           ret                          ;

 ; Pause nach jeder ÿbertragung
delay50us:                              ;
           ldi  temp1, $84              ;ANGEPASST

delay50us_:dec  temp1
           brne delay50us_
           ret                          ;

 ; Längere Pause für manche Befehle
delay5ms:                               ; 5ms Pause
           ldi  temp1, $42              ; ANGEPASST
WGLOOP0:   ldi  temp2, $c9
WGLOOP1:   dec  temp2
           brne WGLOOP1
           dec  temp1
           brne WGLOOP0
           ret                          ;

Ich wär euch wirklich sehr dankbar für irgendwelche tipps..

von Johannes A. (Gast)


Lesenswert?

Wenn ich mir die Hex-Werte ansehe:

t = $74
e = $65
s = $73
t = $74

und dann überwiegend

d = $64

bedenke, kommt mir der Verdacht, dass die Datenbits 0 und 4 immer als 
Null rüberkommen... Und im 4Bit-Modus reicht dafür schon eine einzige 
Leitung (D4 am LCD).

Dann wird nämlich

t = $74 zu $64 = d
e = $65 zu $64 = d
s = $73 zu $62 = b
t = $74 zu $64 = d

und heraus kommt überwiegend "d".

Aber hab ich dieselbe Frage vor nicht mal zwei Wochen nicht schon einmal 
fast genauso beantwortet...?
Beitrag "falsche Zeichen auf LCD"

Gruß Johannes

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ein LCD braucht genügend Wartezeit zwischen den Schreibzyklen (>40µs), 
sonst kommt nur Müll ´raus. Außerdem dürfen die Verbindungsleitungen zum 
Display nicht zu lang sein, sonst gibt es HF-Einstreuungen. Das Display 
sollte am Spannungsanschluß einen Keramik-C von 100nF angeschlossen 
haben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.