Der Grundgedanke ist der gleiche wie bei dem Nitron LCD Terminal ein LC Display mit einem HDD44780 kompatiblem Controller, das seriell angesteuert
wird und die Formatierung der Ausgabe weitestgehend selbst übernimmt. Diesmal
kommt allerdings ein MC68HC908JK8 als Controller zum Einsatz, die Programmiersprache
ist C und das Display wird im 4 Bit Modus angesprochen. Desweiteren wird
das Busy Flag des Displays abgefragt um Wartezeiten zu minimieren. Der
JK8 Controller hat eine SCI Schnittstelle in Hardware und ist im 20 Poligem
DIP Gehäuse verfügbar, und damit einfach zu löten. Ich halte mich hier
nicht an bestimmte Standards was die Anzeigekommandos betrifft. Alle Kommandos
werden mit dem % Zeichen eingeleitet. Es sind Kommandos zur Ausgabe eines
Bytes als numerischer Wert, Ausgabe eines Bytes als einzelne Bits, und
Ausgabe eines 2 Byte integer Wertes vorhanden. Ansonsten noch Cursorpositionierung
und löschen des Displays. Das ganze findet auf einer kleinen Platine Platz.

Die Schaltung ist recht einfach, ich habe einfach die Datenleitungen an
die Portleitungen PB4 bis PB7 und die Steuerleitungen an die Portleitungen
PD2 bis PD4 angeschlossen. Die anderen Leitungen an Port B werden für den
Monitor Mode gebraucht. An PB2 bis PB4 habe ich gleich über Widerstände
die entsprechenden Pegel angelegt. Der Takt kommt von Zwobots Controllerboard.
Der Oszillator kann problemlos beide Controller versorgen. Dann noch eine
4 Polige Stiftleiste zum Anschluß der seriellen Schnittstelle und zur Spannungsversorgung.

Die Software habe ich mit Codewarrior 5.0 erstellt. Ich habe den Device
Initialisation Wizard benutzt um die Serielle Schnittstelle zu initialisieren.
Hierdurch wird der Code für die Initialisierung der SCI erzeugt und auch
gleich die Vorlagen für die Interrupt Service Routinen erstellt. Ich mußte
dann nur noch meinen Code in die Funktion einbauen. Die Sendefunktion wird
nur zur Synchronisation mit Zwobot genutzt und läuft nicht interruptgesteuert.
Für die Empfangsfunktion verwende ich Interrupts. In der ISR wird das empfangene
Zeichen dann in einen Puffer geschrieben und im Hauptprogramm weiterverarbeitet.
Die Funktionen in wait.c müssen bei anderen Taktfrequenzen oder einem anderen
Controller angepaßt werden. Die Adresse für die ROM Routine DELNUS ist
anzupassen oder es ist eine eigene Wartefunktion zu schreiben. Ansonsten
sollte die Software auch auf anderen Controllern problemlos laufen, wenn
man die Portleitungen entsprechend anpaßt. Wenn das Busyflag ncht abgefragt
werden soll, müssen die Wartebefehle in den Funktionen wieder aktiviert
werden, sie sind hier auskommentiert. Hier ist das ganze Projekt : ZwobLCD.zip. Wenn es Probleme gibt das Projekt zu importieren, so kann man sich auch
behelfen, indem man ein neues Projekt anlegt und einfach die Sourcen einfügt.