Hin und wieder werden recht günstig graphische LC-Displays von Restpostenanbietern verkauft. Ich habe eines von Pollin namens 'DataVision DG12864-12', Best.-Nr. 120 291 mit 128 × 64 Pixeln gekauft. Es eignet sich bestens, um es mit einem kleinen Microcontroller zu verbinden, denn es besitzt einen eingebauten Zeichengenerator, der die ersten 128 ASCII-Zeichen darstellen kann. Man kann entscheiden, ob man das Aussehen der Zeichen mit den Codes 0x7f bis 0xff oder sogar aller Zeichen selbst definieren möchte. Natürlich kann man aber auch Grafik anzeigen, also jeden Pixel einzeln setzen. Das Display-Modul verwendet den Chip T6963 von Toshiba.
Elektrisches Interface
Das elektrische Interface ist sehr einfach aufgebaut. Auf 8 Datenleitungen (D0 - D7) werden die Daten übertragen, daneben gibt es Steuerleitungen für Lesen (RD), Schreiben (WR), Chip-Enable (CE, dient als Clock-Leitung zur Steuerung der Datenübertragung), Daten- oder Kommando-Modus (C/D) und Reset (RST).
Die Steuerleitungen sind low-active, d.h. im Normalzustand liegt an ihnen ein high-Pegel, zur Aktivierung wird ein low-Pegel angelegt. Die RD- und WR-Leitung dürfen natürlich nicht gleichzeitig aktiviert werden.
Datenübertragung
Bei der Datenübertragung kann man mit Hilfe der C/D-Leitung festlegen, ob das Display die Übertragung als Daten oder als Kommando interpretieren soll. Soll ein Kommando geschickt werden, so werden, sofern vorhanden, zunächst die Parameter zu dem Befehl übertragen, die das Display auf einem internen Stack ablegt und danach der Befehl selbst.
Display-Speicher
Das Display besitzt 8kB internen Speicher, den man mit entsprechenden Befehlen an das Display selbst in Bereiche für Text-, Grafik- und Zeichengenerator-Speicher aufteilen kann. Dies sollte bei der Initialisierung erledigt werden. Bei der Initialisierung wird ebenfalls festgelegt, ob das Display den Text-, den Grafik-Speicher oder beide darstellt.
Nun kann man den Address-Pointer des Displays auf den zu beschreibenden Speicherbereich setzen und dort Daten ablegen. Die übertragenen Daten werden dann sofort dargestellt.
Font-Auswahl
Über den Font-Select-Pin am Display kann festgelegt werden, ob der Text in einem 6×8-Pixel-Zeichensatz (effektiv 5×7 Pixel plus 1 Pixel Abstand zum nächsten Zeichen) oder 8×8-Pixel-Zeichensatz dargestellt wird.
Bei der Auswahl das 6×8-Pixel-Fonts ist darauf zu achten, dass damit auch die Darstellung der Graphik-Daten beeinflusst wird. Es werden dann nämlich nur noch die unteren 6 Bit jedes Byte als Pixel-Daten genutzt, die oberen (MSB) 2 Bit werden dann nicht beachtet. Im 8×8-Pixel-Font-Modus werden dementsprechend alle 8 Bit eines Bytes als Pixel-Daten genutzt.