Grafik-LCD

Oct 18, 2003 3 Replies

Hallo!



Ich versuche gerade, ein Grafik-LCD anzusprechen.


128*64; KS0108-Controller; Datenblatt ->

formatting link



Nun funktioniert das alles ganz nett, allerdings nur dann wenn ich darauf verzichte das Busy-Flag abzufragen. Tue ich das bleibt er in der Abfrage-Schleife hängen. Ich hab mir das Status-Byte mal anzeigen lassen, und BUSY ist dort dauerhaft auf "1". Merkwürdigerweise ist aber auch das Bit DB6 dauerhaft auf "1", was laut Datenblatt jedoch nie "1" werden kann.



Oder mache ich nur irgendeine Abfrage falsch? Wär schön, wenn mal jemand in meinen Quellcode schauen könnte:

formatting link



Schonmal danke! Rico


du liesst die Daten erst 100uS nachdem Enable schon wieder low ist vom Controller. Der Displaycontroller gibt aber nur aus, wenn Enable high ist. Versuch es doch mal so:

Gruß, Robin Adams snipped-for-privacy@adams-online.de

Ja, so funktioniert's. Ist ein Fehler im deutschen Teil des Datenblatts -> "Status lesen: [...] Mit der fallenden Flanke des Enable-Pulses gibt der selektierte Controller den Status auf den Datenleitungen aus." Im englischen Teil ist es richtig beschrieben. Man soll halt doch immer das Original lesen. ;-)

Danke! Rico

im Idealfall sollte dein Mikrocontroller die Daten bei der fallenden Enable-Flanke lesen, so wie der Displaycontroller die Daten beim Schreiben bei der fallenden Enable-Flanke liesst. Da dies mit einem Mikrocontroller nicht so einfach möglich muss man die Daten halt vorher lesen.

Von fehlerhaften Datenblättern kann ich auch ein Lied singen ;-(. Bei der Übersetztung Taiwanesisch->Englisch->Deutsch scheint allzuoft der Sinn auf der Strecke zu bleiben.

Gruß, Robin Adams snipped-for-privacy@adams-online.de

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required