mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD Ansteuerung kleine Probleme


Autor: Marcus Welzel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab jetzt nach langem probieren endlich mein Displaytech 162 am
laufen.
Hab allerdings zwei Probleme die mich etwas stutzig machen. Ich kann
nur kleine Buchstaben ausgeben, sobald ich einen Großen schreiben will
schreibt er nur ein Leerzeichen.
Hab schon probiert die Register binär zu füttern, aber auch da
übernimmt er nur Kleinbuchstaben und keine Großen.

Habt ihr einen Tipp wodran das liegen könnte?

Angehangen ist das Datenblatt


Eine Frage hätt ich noch: Gibt es irgendwo ein Tutorial oder so etwas,
das beschreibt wie man in die 2. Zeile wechselt?
Hab dadrüber leider nichts gefunden.

Hab allerdings auch den Eindruck als ob das Display die 2. Zeile nicht
initialisiert hat, da wenn ich den Kontrast ganz hoch schiebe nur die
obere Zeile schwarz wird.

Könnte dieses Fehlerbild auch auf einen defekt hindeuten?

gruß Marcus

Autor: Wodran ;) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich tippe mal darauf, dass die 2.Zeile nicht initialisiert ist.
Falls du das Display im 8-bit mode betreibst (Info fehlt, genau wie der
Code), bekommst du laut deinem Datenblatt den Cursor folgendermaßen in
die 2.Zeile. --> siehe SET DD RAM ADDRESS

Datenregister = 0xC0;
gefolgt von einer fallenden Flanke am E Pin (Timing einhalten!)

Und such dir mal das Datenblatt vom HD44780 raus, da erhälst du ein
paar mehr Infos.

Gruß

Autor: Cristian Grigoruta (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst beim Initialisieren im SET FUNCTION ABSCHNITT DAS DB3 = 1
setzen um in den zweizeiligen Modus zu wechseln!!!!
Probiers mal und sag bescheid wennst noch probs hast!!!

Autor: Cristian Grigoruta (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SET
FUNCTION
L L L L H DL N F X X

Das N muss für einen zweizeilen - Betrieb auf HIGH gesetzt werden.

Autor: Marcus Welzel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Initialisiert hab ich bis jetzt so:

           ldi temp1, 0b00110000
       out PORTD, temp1
           rcall lcd_enable             ;init fs
           ldi temp1, 0b00110000
       out PORTD, temp1
           rcall lcd_enable             ;init fs
           ldi temp1, 0b00110000
       out PORTD, temp1
           rcall lcd_enable             ;init fs
           ldi temp1, 0b00111000
                   out PORTD, temp1
           rcall lcd_enable             ;function set
           ldi temp1, 0b00001000
       out PORTD, temp1
           rcall lcd_enable             ;aus
           ldi temp1, 0b00000001
       out PORTD, temp1
           rcall lcd_enable             ;clear
           ldi temp1, 0b00000110
       out PORTD, temp1
           rcall lcd_enable             ;entry mode set

ich betreibs im 8bit modus
eigentlich sollte das doch stimmen oder?
wieso übernimmt er das nicht?

und habt ihr ne idee wieso das display nur kleine buchstaben schreibt?
buchstaben übergeb ich ihm mit:

           ldi mp, 'h'
           rcall lcd_data

lcd_data:
     sbi PORTC, 4
     rcall delay5ms
     rcall delay5ms
           out PORTD, mp
     rcall delay5ms
     rcall delay5ms            ;ausgeben
           rcall lcd_enable
     rcall delay5ms            ;Enable-Routine aufrufen
           rcall delay5ms
     cbi PORTC, 4
           ret


Mag sein das paar Pausen überflüssig sind, war um auf Nummer sicher zu
gehen weil es anfangs nicht funktioniert hatte.
Aber wieso schreibt er nix großes?


gruß

Autor: Marcus Welzel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ich hab alles richtig gemacht. Hab grade mal alle Leitungen
durchgemessen, da war ein winziger Lötzinnspritzer zwischen 2
Leiterbahnen.
Aber jetzt gehts :)
Das wird auch der Grund gewesen sein wieso meine 4-Bit Ansteuerung am
Anfang nicht funktioniert hat...
Achja kleine Ursache große Wirkung

Trotzdem danke an alle die mir geantwortet 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.