Gast
#90413
Hallo,
wir verwenden das LCD Modul EA DIP204-4 (Kontroller KS0073) von
Electronic Assembly mit 4 zeilen und 20 Zeichen pro Zeile und einen
ATMega128.
Folgender Code ist dazu wichtig:
...
// Port für das LCD festlegen
#asm
.equ __lcd_port=0x15
#endasm
// Includes
#include <lcd.h>
#include <delay.h>
// LCD modul initialisieren mit 20 Zeichen pro Zeile
lcd_init(20);
// Text auf LCD ausgeben
unsigned char counter = 0;
// 80 mal ein a auf das LCD einfügen
for(counter = 0; counter < 80) {
lcd_putsf("a"); // gib a aus auf LCD
delay_ms(300); // warte
}
...
Eigentlich sollte das Display laut Hersteller (und man kann die Stellen
auch zählen) 20 Zeichen pro Zeile enthalten und 4 Zeilen hoch sein ->
also 80 Zeichen fassen können. Das obere Programm-Snippet füllt nach
und nach das Display mit 'a', DOCH ab Stelle 13 in Zeile 1 schreibt
das LCD das 'a' auf einmal in Zeile 1 UND in Zeile 2 weiter!!! Ab da
gibt es dann ein wildes Durcheinander! Was ist da falsch? Kennt jemand
zufällig dieses Problem? Muss man vor dem 1. Schreiben auf das LCD noch
etwas anderes inizialisieren am LCD? Nromalerweise sollte es genügen,
"lcd_init(20);" aufzurufen...
Ich bin für jede Hilfe dankbar, denn es handelt sich hierbei um eine
Studienarbeit...
Gruß.