Forum: Mikrocontroller und Digitale Elektronik LCD (HD44780) und die Steuerbefehle.


von Tugrul Ö. (Gast)


Lesenswert?

Guten Abend allerseits,

Ich habe da einige Schwierigkeiten mit den Steuerbefehlen des LCD's.
Ich habe ein Visual Basic Code gefunden wo die Befehle schon drin sind.

z.B.

Sorgt der Hex-Wert &H7  das      RS=1, R/W=0, E=0 ist oder das
      der Hex-Wert &H6 dazu führt das RS=1, R/W=0, E=1 festgelegt.

Jetzt meine Frage, wie kommt man darauf ? Wie kann ich das selber heraus 
bekommen ? Irgendwie versteh ich das nicht, ich habe mir mal diese 
Tabelle der Befehle angeguckt, auf dieser Seite findet man sie:
http://www.sprut.de/electronic/lcd/index.htm

und zwar unter Display-Befehle.

Wäre nett wenn mir jemand den Zusammhang mit den Hex Zahlen erklären 
würde.

MfG,

Tugrul Ö.

von Philipp B. (philipp_burch)


Lesenswert?

Hi,

das kommt drauf an, wie das Display angeschlossen ist. Wenn die 
Statusleitungen z.B. an einem 8-Bit-Port hängen, mit RS an Bit 0, R/W an 
Bit 1 und E an Bit 2, dann kannst du deine Hex-Zahlen einfach in's 
binäre Zahlensystem umrechnen und siehst dann, welche Bits auf 1 und 
welche auf 0 sind. Bei dem Code oben geht das nicht ganz auf, da sind 
wahrscheinlich einige Bits invertiert. Das ist z.B. beim LPT am PC der 
Fall.
Wo hast du das Programm denn her?

von Tugrul Ö. (Gast)


Lesenswert?

Hallo !

Das Programm hab ich aus dem Netz. (planet-source-code.com),
naja wie auch immer, die Befehle klappen !. Das Display tut das was es 
tun soll. Wenn du mir noch sagen könntest, wie ich den DDRam oder so, so 
setze das ich nicht nur 8 sondern auch 16 Stellen benutzen kann wäre ich 
dir sehr dankbar. Ich hab auf einer englishen Seite mal gelesen, das man 
diesen auf 40 setzen muss.. kann man das auch einfach in HEX umwandeln 
?.

MfG
Tugrul

von Tugrul Ö. (Gast)


Lesenswert?

Hallo!
Also ich hab es geschaft das der Cursor in die 2. Zeile (also zu den 
nächsten 8 Buchstabenreihen) hingeht indem ich einfach so


   send_command(&H40)

    Public Sub send_command(ByVal data)

        '//Daten an den Datenport schicken

        Out(lpt_data, data)
        Out(lpt_control, &H2)
        Out(lpt_control, &H3)
    End Sub

gemacht habe. Nur er schreibt nichts mehr in die 2. Zeile also die 
anderen 8 Buchstabenreihe rein.

Was falsch gemacht ?

MfG,

Tugrul Ö.

von Stefan (Gast)


Lesenswert?

LCD und LCD-Controller allgemein:
http://www.mikrocontroller.net/articles/LCD
http://www.geocities.com/dinceraydin/lcd/index.html

LCD-Controller HD44780 speziell
http://www.mikrocontroller.net/articles/HD44780

LCD-Controller HD44780 Referenz
http://home.iae.nl/users/pouweha/lcd/lcd.shtml

LCD-Simulator
http://www.geocities.com/dinceraydin/djlcdsim/djlcdsim.html
(Hier sieht man auch schön wie die Hex-Zahlen &H7 usw. zustandekommen. 
Tipp:  Screencast-Tutorial anklicken)

von Stefan (Gast)


Lesenswert?


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.