www.mikrocontroller.net

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


Autor: Jannik_ (Gast)
Datum:

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

Autor: Johannes A. (Gast)
Datum:

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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

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

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.