Mit einem Nitrom 68HC908QY4 und einem Hitachi LM052L LC Display habe ich
mir ein kleines Terminal gebaut.
Das Terminal hat einen RS232 Anschluß und verfügt zusätzlich noch über
einen Debug Port, der mit dem User Monitor zusammenarbeitet. Die Pegelwandler
habe ich weggelassen, weil ich dafür meine kleine Extraplatine, die auf
der Controllerseite zu sehen ist verwende. Außerdem ist es so einfacher
das Terminal direkt an einen anderen Controller anzuschließen und sich
die Pegelwandlung ganz zu sparen. Da das Terminal nur Daten empfangen soll
habe ich mir eine einfache Interrupt gesteuerte RS232 Empfangsroutine geschrieben.
Ich benutze dafür einen Keyboard Interrupt auf PTA0 und rufe in der Interrupt
Service Routine die GetByte ROM Routine auf. das ganze
sieht in etwa so aus.
KbdIsr:
pshh ;H-reg
sichern
sei ;keine
weiteren Interrupts zulassen
mov #%00000010,KBIER ;KB-Int disablen
bclr PTA0,PTA ;initialisiere
PTA0 for serielle Kommunikation
jsr GetByte ;Getbyte
an Adresse $2D6b aufrufen
sta data ;Empfangene
Daten im Ram speichern
mov #%00000100,KBSCR ;Anstehenden Interrupts löschen
mov #%00000001,KBIER ;ints auf PTA0 wieder zulassen
cli ;ints
wieder erlauben
pulh ;
H-Reg zurückholen
rti
Schaltplan ist hier zu sehen. lcdschem.gif die Software ist hier lcdterm.asm. Das ganze würde auch in die kleineren 68HC908QY1 oder 68HC908QY2 MC´s
mit 1,5 KB RAm passen aber da ich halt die 4 KB Version hatte, habe ich
die genommen.
Eine andere LCD variante in C programmiert und mit Hardware SCI habe ich
für Zwobots Display gebaut.