www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD an Mega8 die Xte


Autor: Alexander Muthmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin im moment mal wieder dabei ein bischen mit meinem Mega8
rumzuspielen und hab dazu jetzt auch nen LCD (2x24) ausgegraben.
Angeschlossen ist es, es geht auch wunderbar (hab den Code ausm
Tutorium verwendet)

Nun hab ich allerdings mal eine oder 2 Fragen:

wenn ich einen Text ausgebe, der länger als 24 Zeichen ist, dann werden
die nächsten 16 Zeichen ins nichts geschrieben und dann erst das 41te
Zeichen in die neue Zeile.
Wie kann ich das verhindern?

Und: wie kann ich mitm Cursor an eine bestimmte Stelle vom Display
springen?

Geschrieben wird das ganze in Assembler.

Danke für eure Hilfe!

Alex

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier http://www.mikrocontroller.net/forum/read-1-164017...
findest du eine (etwas betagte) Routinendammlung für das 4x27-LCD.
Dieses LCD enthält eigentlich zwei 2x27-LCDs, denn es hat intern 2
Controller.

Die Routinensammlung enthält auch ein Macro namens Locate. Ich habe es
jetzt mal auf 1 Controller mit 2 Zeilen reduziert, aber noch nicht
getestet. Versuch mal damit dein Glück. Und lies auch mal den gesamten
Thread, da werden schon einige deiner nächsten Fragen beantwortet. ;-)
.macro locate ;Zeile (0...1), Spalte (0...23)
;Positionierung der Ausgabeposition
;Zeile in Bit 6, Spalte in den Rest:
 push wl                    ;Register sichern
 ldi wl,128+((@0 & 1)<<6)+(@1 & 63)
 rcall lcd_command          ;an LCD als Befehl ausgeben
 pop wl                     ;Register wiederherstellen
.endmacro

...

Autor: Alexander Muthmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Juhu, du hast mir den Abend gerettet!!! Wunderbar, es geht!

musste nur das wl noch in temp1 ändern, und jetzt kann ich springen
soviel ich will, wunderbar...

Danke!

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, sorry, meine "Temp"s heißen wl und wh...

...

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.