LCD Zeilen anwählen

Gast #207048
Nabend

Ich versuche gerade krampfhaft mein LCD dazu zu überreden einen string
aus dem eeprom in jeder zeile einmal auszugeben.

ohne zeilenwechsel:
nach dem einschalten wird das lcd ohne weiteres initialisiert und in
der 1. zeile steht mein string.

mit zeilenwechsel:
laut datenblatt meines lcd (20x4 hd44780),kann ich mit dem befehl
"sett dd ram address" die zeichenzelle anspringen in der ich
weiterschreiben möchte(auto increment funktioniert soweit auch).
der befehl hat nun folgendes bitmuster:
0b1<7bit-adresse> und soll nach 42µs fertig sein.

ich lade also immer abwechselnd zeilenadresse und meinen zeichenstring
aus dem eeprom:
0b1<40h für Zeile2>
string ausgeben
0b1<14h für Zeile3>
string ausgeben
0b1<54h für Zeile4>
string ausgeben

allerdings spinnt das lcd nun total. z.t. wirre zeichen mitten im
string und die zeilenangaben werden ignoriert.

ich schreibe in assembler und hoffe mir kann da jemand helfen.

mfg
Angehängte Dateien:
Gast #207051
abends is doch eher mehr los.. und als drängeln soll das bitte auf
keinen fall verstanden werden. dachte da findet sich schnell ne
passende antwort :/

mfg
Gast #207052
Vielleicht findest Du selbst die passende Antwort ;-)
Zumindest sollte man E (LCD-Enable) erst auf low-Pegel setzen, nach dem
man die LCD-Daten an den Port ausgegeben hat.
Ansonsten brauchst Du nach jeder Zeichenausgabe nicht 1ms zu warten,
50ms tuns auch. Bei nen vollem LCD mit 80 Zeichen dauerts ja dann ne
ewigkeit (80ms) und verschwendet ne menge anderer Rechenzeit.

MfG
Andi
Gast #207054
oh mann na klar..
is wohl irgendwo beim kopieren und einfügen verloren gegangen..
ich danke dir andi.

warteschleife kann ich natürlich auch noch anpassen. allerdings habe
ich noch keine wirklich zeitkritischen anwendungen daher habe ich das
erstmal darauf ausgelest dass es funktioniert..

mfg
Gast #207055
Wenn es jetzt geht hätt ich da noch nen Tip.
Du kannst im AVR-Studio mit .db ruhig komplette "Strings" definieren
wie z. B.
.db "Hallo Welt",0
Das "null-Byte" ist direkt hinter dem "t".

MfG
Andi

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.