Moin Moin, Ich habe ein Problem mit eier LCD Anzeige. Sie ist richtig angeschlossen und besitzt 2*16 Zeichen. Das Problem ist, wenn ich in der while schleife einen Buchstaben anzeigen will, bleibt das Display an der 8 Stelle stehen. Ich benutze die LCD Libary von CodeVision. Ich habe bei dem Programm uch 16 eingestellt. Es liegt auch nicht an der Anzeige, es ist bei einer anderen neuen genauso. Hier mein Code : lcd_init(16); while (1) { lcd_putchar(0x44); delay_ms(1000); }; Was läuft hier falsch ? Vielen Dank im Vorraus Tim
Dein Display ist logisch gesehen nicht 1*16, sondern 2*8. Die ,,zweite Zeile'' hat dann einen Offset im RAM, 0x20 oder 0x40.
#if LCD_TYP == 1 // ************************************************************* // ************ Lcd DDRAM register for 2x40 display ************ // ************************************************************* #define MAXLINELENGHT 40 prog_char screenpos[2] = { 0x80, 0xC0 }; #endif #if LCD_TYP == 2 // ************************************************************* // ************ Lcd DDRAM register for 2x24 display ************ // ************************************************************* #define MAXLINELENGHT 24 prog_char screenpos[2] = { 0x80, 0xC0 }; #endif #if LCD_TYP == 3 // ************************************************************* // ************ Lcd DDRAM register for 4x20 display ************ // ************************************************************* #define MAXLINELENGHT 20 prog_char screenpos[4] = { 0x80, 0xC0, 0x94, 0xD4 }; #endif #if LCD_TYP == 4 // ************************************************************* // ************ Lcd DDRAM register for 4x16 display ************ // ************************************************************* #define MAXLINELENGHT 16 prog_char screenpos[4] = { 0x80, 0xC0, 0x90, 0xD0 }; #endif das sind jeweils die startadressen der einzelnen zeilen. dahin solltest du schreiben.
Hallo , habe überhaupt noch keine Ahnung wie das mit der LCD Ansteuerung funktioniert. Kannst Du mir das Programm in C schicken? Wo kriege ich mehr Infos und Beispielprogramme in C? Vielleicht meldest Du Dich mal zum Erfahrungsaustausch udodrees@gmx.de
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.