Hallo alle miteinander, ich suche mir jetzt schon die Finger wund, aber der KS0108 scheint einfach zu schlecht dokumentiert zu sein. Und zwar suche ich die Zykluszeiten, die der Controller zum Schreiben auf den Display benötigt, damit ich das Busy-Flag nicht mehr auslesen muss. Bei normalen aphanumerischen Displays ist das ja auch eine gängige Methode und da sind die Zeiten ja auch überall angegeben. Kann mir jemand da weiterhelfen? Gruß, Max
>Und zwar suche ich die Zykluszeiten, die der Controller zum Schreiben >auf den Display benötigt, damit ich das Busy-Flag nicht mehr auslesen >muss. Hast du das jemals geschafft das Busy zuverlässig zu lesen? Zeig doch mal Code;) Displays mit KS0108 können unterschiedlich schnell getaktet sein. Darauf musst du dein Delay anpassen. Hier mal zwei Beispiele: #define KS108_E_DELAY 2 // Pollin Display TG12864B 596kHz FCLK //#define KS108_E_DELAY 4 // Displaytech 64240A 395kHz FCLK. Die Werte sind in us angegeben.
holger schrieb: > Hast du das jemals geschafft das Busy zuverlässig zu lesen? > Zeig doch mal Code;) Habe eine Display-Initialisierung geschrieben und zum Testen erstmal das Busy-Flag nicht abgefragt. Dann spuckt das Display nur Misst aus. Frage ich stattdessen das Busy-Flag ab, so funktioniert alles. Im Anhang ein Bild, was das Display ohne Abfrage des Busy-Flags ausgibt. Der Code sieht wie folgt aus. Ohne Busy-Flag:
1 | ... |
2 | mov dptr, #GLCD_CS_D_WR |
3 | movx @dptr, a |
4 | djnz r7, loop1_line |
5 | ... |
und mit Busy-Flag:
1 | ... |
2 | mov dptr, #GLCD_CS_D_WR |
3 | movx @dptr, a |
4 | mov dptr, #CS1_I_RD |
5 | warte_GLCD1: |
6 | movx a, @dptr |
7 | jb acc.7, warte_GLCD1 |
8 | djnz r7, loop1_line |
9 | ... |
Ach ja, Controller ist ein at89s52 mit 11,0592MHz
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.