Forum: Mikrocontroller und Digitale Elektronik LCD 202A (KS0076B) --> Cursur auf 0,0 setzen


von Martin Parr (Gast)


Lesenswert?

Guten Tag,
ich versuche gerade eine LCD zum laufen zu bringen (mit KS0076B- 
Controller). Es funktioniert auch soweit. Nur gibt es Probleme mit dem 
Setzen des Cursors. Ich kann ihn einwandfrei in Zeile 1 von Spalte 1 bis 
15 setzen. Aber genau wenn ich ihn auf Postition 16 setze, funktioniert 
nichts mehr. Er stürzt ab. Das gleiche passiert wenn ich den Cursor auf 
(0,0) setzen will! Es ist ein 20-zeilges Display. Hat jemand schon ein 
solches Problem gehabt?

Die Initialisierung klappt und ich haben den Enable-Puls zu Testzwecken 
auch hoch auf 10ms gesetzt. Das gleiche Ergebnis.
1
void lcd_set_cursor(unsigned char x, unsigned char y)
2
{
3
   switch (y){
4
     case 0: lcd_send_command(0x80+0x00+x);
5
     case 1: lcd_send_command(0x80+0x40+x);
6
   }
7
}

P.S. Die Funktionen sind eigentlich, die aus dem Tutorial. Was mich 
verwirrt ist, dass das ja eigentlich funktioniert. ICh kann ja den 
Cursor setzen. Aber halt nicht über den gesamten Bereich! Halt nur von 
Spalte 1 bis 15. ???

Danke falls jemand eine Idee hat. Bis denne

von Niels H. (monarch35)


Lesenswert?

Martin Parr wrote:

> Danke falls jemand eine Idee hat. Bis denne

Hört sich nach Timing-Problem an. Bau mal ein paar _delay_ms(10); nach 
den lcd-commands ein :)

von Martin Parr (Gast)


Lesenswert?

Hallo,

Nein, das funktioniert auch nicht. Bin schon mit den delays fast ins 
unendliche gegangen. Also daran liegt es leider :( nicht.

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
Noch kein Account? Hier anmelden.