www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 4Bit Modus beim LCD KS0073? Grundsatzfrage


Autor: Alex Schmidt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

habe hier nen LCD-Modul mit einem KS0073 Chip drauf. Dieser hat 4 Zeile
a 20 Zeichen.

Eines vorweg: Ich habe das Tutorial hier durchgemacht und das Teil
schon 5 man geprüft, habe alles so nach Vorschlag im Tutorial
angschlossen.

Wenn ich das beiliegende Test-Programm starte passiert nichts. Die
LCD-Anzeige zeigt immer nur 4 schwarze Balken. So, dann dachte ich mir,
schreib ich mir den ASM-Code selbst und bin nun an folgende 3 Punkte
gestoßen, die mir echt Kopfzerbrechen bereiten:

1. 4-Bit Modus einstellen:
Im Datenblatt heisst es, dass ich folgende Bitkette Übertragen soll und
dann befinde ich mich im 4-Bit Modus:

00100000

Ja ich verstehe aber nicht ganz. Das sind doch mehr als 4 Bit! Wie soll
ich den das senden, ich habe doch nur 4 Bit? nachher mit dem Swap ist
mir klar aaaber. Wie soll ich in den 4-bit modus mit einem 8-Bit Befehl
gelangen.. ?!?!?!


2. Im Beispiel hier im Tutorial sendet der Autor 3 mal irgendeinen
Init-Befehl, ganz am Anfang:

ldi temp1, 0b00000011        ;muss 3mal hintereinander gesendet
out PORTD, temp1             ;werden zur Initialisierung
usw...

Wie kommt der Autor auf sowas? Was soll dieser Befehl bewirken und vor
allem brauch ich das für den KS0073 überhaupt?!

3. Der KS0073 hat ne erweiterte Befehlskette, die man durch setzen
eines RE-Bits verwenden kann. Zum Beispiel würde ich gerne den 4-Zeilen
Modus einschalten. Diesen kann ich jedoch nur durch zusätzliches Setzen
dieses RE-Bits erreichen. Die Frage die mich Quält ist: Was soll das
für ein PIN sein?

Ich hab jetzt nur noch drei, die in Frage kommen:

Reset
und zwei für die Hintergrundbeleuchtung. Gut, bleibt ja nun noch Reset
aber das kommt mir auch komisch vor, ist das richtig so?

Anbei lade ich mal das Datenblatt hoch, vielleicht kann mich jemand
endlich erleuchten, ich mach hier schon seit 3 Tagen an dem Teil rum
:-(((((((((( und NIX


Danke

P.S. ich benutz hier nen STK500!

Autor: Alex Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

Das mit dem RE-Bit hab ich jetzt kapiert.. mein Fehler!

Der Rest ist jedoch immer noch unklar :-(

Autor: Thomas Forster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hilft es dir:

http://www.mikrocontroller.net/forum/read-1-181750.html

Nimm das Datenblatt, welches ich dort gepostet habe.

Autor: CaW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Hab ähnliche Probleme gehabt ... so gings bei mir:
Verwendete Programme AVR Studio, yaap (alles wie im tutorial).
Eigentlich nur die 8bit Beispielinitalisierung im mitgelierferten
Datenblatt des LCDs (seite 3)
durch 4 bit Initalisierung ändern (DB4=DL in Function set auf Null
setzen)
eventuell an Kontrasteinstellung drehen :-)

Initalisierungsteil im tutorial durch folgende Initalisierung ersetzen



lcd_init:
             ldi  temp3,50
powerupwait:
             rcall delay5ms
          dec  temp3
             brne  powerupwait

    ldi temp1, 0b00100100          ; 4bit-Modus einstellen, RE = 1
           rcall lcd_command

             ldi temp1, 0b00001001    ; 4-Zeilen Modus
    rcall lcd_command

    ldi temp1, 0b00100000         ; 4bit-Modus einstellen, RE = 0
    rcall lcd_command

    ldi temp1, 0b00001111    ; Display ein, Cursor ein, Cursor blinken
    rcall lcd_command

    ldi temp1,0b00000001    ; Clear Display Cursor 1. Zeile 1. Spalte
    rcall lcd_command

    ldi temp1, 0b00000110    ; Cursort Auto-increment
    rcall lcd_command

    ret

Autor: ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zu 1.

00100000 = 0010 in 4-Bit! die restlichen (oberen) 4 Bits sind alle
0...
Das ist ja der Trick bei der Sache. Wo nix ist muss man nix senden.
Und ob ich nix sende oder garnix angeschlossen hab ist in diesem Fall
egal...

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.