Frage zu KS0108 GLCDTiming

#3046855
Lesenswert?

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
Gast #3046879
Lesenswert?

>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.
#3046895
Lesenswert?

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
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren