LCD Display

Gast #3365
Also ich hab ein 4x16 Zeichen Display, das ganze wird von einem 4433 
bzw. 8535 gesteuert. Mit den Displayrutinen klappt die Ansteuerung auch 
schon ganz gut, nur das nur die 1 und 3 Zeile benutzt wird. Leider bin 
ich des englisch nicht gerade sehr mächtig und kann deshalb aus der 
Befehlscodeliste nichts rauslesen.
Könnte mir das vielleicht mal einer erklären.

Bitte, Bitte
Gast
Vielleicht sollte ich besser erklären was ich will. Ich würde gern 
wissen wie ich ein 4 Zeilen Display ansteuern muss damit auch alle 
Zeilen genutzt werden. Bisher wird nur Zeile 1 und 3 benutzt.

Bitte helft mir
Gast
Hi,
dazu sollte man vielleicht noch folgendes ergänzen: diese Displays 
kennen normalerweise nur einen ein- und einen zweizeiligen Modus. Jede 
Zeile hat 40 Zeichen, auch wenn sie nicht angezeigt werden. Bei den 
vierzeiligen wird jetzt der nicht angezeigte Teil in der dritten und 
vierten Zeile angehängt. Damit alles funktioniert muß das Display in den 
zweizeiligen Modus geschaltet werden. Die erste Zeile wird ab Adresse 
$00 angesprochen, die dritte beginnt praktisch am Ender der ersten. Die 
zweite Zeile beginnt wie Meiserl gesagt hat ab $28 (dezimal 40) und die 
vierte Zeile beginnt am Ende der zweiten.

Gruß
Markus
http://www.elektronik-projekt.de/
Gast
Danke für die Antworten. Bin leider noch totaler Newbi und kann mit 
euren Antworten nicht soviel anfangen.

Hab mal in die Befehlscodeliste geschaut und denke ich muss diesen 
Befehl verwenden.

Cursor/shift
0001srxx
Move cursor or scroll display without changing display data RAM. 
Execution time: 40us

s=1    scroll display
s=0    move cursor.
r=1     to the right
r=0     to the left.
x=      don't care

Doch wie genau setze ich den Cursor jetzt auf Adresse 40.
Admin Persönliche Seite
Nein, du brauchst diesen Befehl:

Display RAM Address Set (1aaaaaaa)
Reposition cursor. Display Data (DD) RAM occupies a separate address 
space from the CG RAM. Data written to, or read from the LCD after this 
command will be to/from the DD RAM. The address pointer is incremented 
after each write, so consecutive bytes can be sent. Execution time: 40us
aaaaaaa
7-bit DD RAM address to point to. On two line models (and most 16x1), 
the command can be interpreted this way:
1laaaaaa
l=line #
a=6-bit column #


Also einfach Adresse + 128 (dadurch wird das MSB auf 1 gesetzt) als 
Befehl an das LCD senden.

MfG
Andreas
Gast
Entschuldigung das ich nochmal fragen muss, bin halt noch Newbi auf 
diesem gebiet.
Wie genau sende ich denn jetzt die Adresse 128 an das Display. Und wo 
genau muss ich den Code dann einfügen. Hab mitlerweile einiges 
ausprobiert doch leider ohne erfolg.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 24 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.