AS/400 :: Roboter :: Microcontroller :: Elektronik :: Downloads :: Links :: Seitenchronik

feedback :: home

 



 Microcontroller
 

Nitron LCD Terminal

MON08 Programmier und Debugschaltungen

Nitron Oszillator trimmen

AB32 Board

HC08 Flash Programmieren

HCS08 Controller

HCS12 Controller

HC12 Welcome Kit

TBDML HCS12 BDM Tool

Zwobots Display

 

 

 

Zwobots LCD Controller

   

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.

 

 

 

 
     

 

   © 2005 by Eckhard Gosch •  eckhard@eckhard-gosch.de