www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik mal wieder LCD: Zeilenumbruch?


Autor: Andreas H (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallöchen, ich bräuchte mal wieder nen kleinen Tip. Es geht mal wieder 
um das Thema LCD-Display.

ich habe aus dem Toutorial den Code genommen um mein LCD-Display zu 
testen. Funktioniert auch einwandfrei. nur eins bekomme ich nicht hin: 
ich kann nicht in die 2. zeile wechseln. Wie geht das? Hab ich das 
irgendwo überlesen? Ich kann nichts finden.

Ich habe übrigens ein einfach 2x16 Zeichen Display. Wenn ich rot mehr 
als 16 Zeichen übertrage, taucht der Rest nicht auf. Also nehme ich mal 
an, daß das Display keinen automatischen zeilenumbruch nach dem 16. 
Zeichen macht? Wie komme ich dann in die 2. Zeile?

ciao,
   Andi

Autor: Jornbyte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Zeilenumbruch gibt es nicht.
Die 1. Zeile beginnt bei 00H und endet bei 0fH.
Die 2. Zeile beginnt bei 40H und endet bei 4fH.
Du stellst also den Cursor auf die Adresse im LCD  die du haben 
möchtest.

Autor: Andreas H (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jornbyte!

Erstmal Danke! Grad war ich dabei, folgendes zu schreiben, als Du 
gepostet hattest. hat sich nämlich schon erledigt! :)

----- cut -----

Hallo! hat sich erledigt, ich habs nach etwas Stöbern im Internet 
rausbekommen:

man kann den Cursor mittels Befehl an eine beliebige Position setzen. 
Wenn ich die richtige DD Ram Address nehme, kann ich auch in die 2. 
Zeile schreiben. :) Falls es noch jemanden interessiert, hier im Detail:

Als Grundlage dient der Code aus dem AVR-Tutorial 
(http://www.mikrocontroller.net/tutorial4.htm)

Wenn ich vor dem zu sendenden Text...
---
ldi temp1, 0b11000000
rcall lcd_command
---
... setze, dann fängt der Cursor in der 2. zeile an. Wohlgemerkt bei 
einem 2x16-Zeichen-Display.

Der Befehl 0b1ddddddd weißt dem Display an, an welche Stelle er den 
Cursor zu setzen hat. "ddddddd" ist dabei die Adresse im Ram. Wenn das 
erste "d" eine "1" ist, wird die untere Zeile genommen, ist das erste 
"d" eine "0", ist die obere Zeile dran.


Mich würde jetzt nur nochmal interessieren, welche Ram-Adressen bei 
einem 4-zeiligen Display für welche Cursor-Positionen stehen. Ich hab 
zwar noch keines, aber vielleicht will ich ja irgendwann mal mit einem 
4x20 was basteln... :)

tschüss und wech,
andi

Autor: Jornbyte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zeilen bei einem 4x20 LCD
Characters  1  bis  20
First line (H)  00 bis  13
Second line (H)  40 bis  53
Third line (H)  14 bis  27
Fourth line (H)  54 bis  67

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.