Home ]

Das PC-Tastatur-Interface

von Enrico Grämer

Zuerst möchte ich mich hiermit recht herzlich bei Jörg Linder und Ralf Kästner bedanken, welche das Interface vorab getestet haben. Des weiteren bedanke ich mich bei Mario Leubner für die freundliche Unterstützung.

Es gab ja schon einige Lösungsvarianten, die originale Gummitastatur zu ersetzen, aber sie alle haben aus meiner Sicht Nachteile. Zuerst die D005 von MPM, welche zwar besser zu bedienen ist, aber nicht mehr Funktionen als das Original bietet. Dann die verschiedenen Varianten der P8000-Tastatur, die zwar auch schon wieder einen wesentlich höheren Komfort bieten, aber zum einen nur schwer beschaffbar sind, und zum anderen die Tasten z.T. neu beschriftet werden müssen.

Alle diese Nachteile bestehen mit dem hier aufgezeigten Lösungsvorschlag nicht mehr. Denn PC-Tastaturen sind ja überall billig zu bekommen, und die Tastaturfunktionen des KC's sind, bis auf 3 Ausnahmen (Tastenclick, TPKC-Belegung, Umschaltung CP/M - CAOS), der Beschriftung einer deutschen PC-Standard-Tastatur zumindest logisch zugeordnet.

Wie aus dem Schaltplan zu ersehen ist, ist es mit maximal 4 IC's wirklich nur ein minimaler Bauteilaufwand. Herzstück des Ganzen ist der zum Industriestandard 8051 kompatible Controller AT 89 C 2051 von ATMEL. Der MAX 232 dient als Pegelwandler zwischen TTL und V 24, der EEPROM IC 2 enthält die Umkodierungstabellen und einige BASIC-Befehle. IC 3 enthält, wenn vorhanden, die selbst zu programmierenden Funktionstastenbelegungen. Soll das Interface am M053 betrieben werden, entfallen MAX 232 und die Elkos C4 bis C7. Die Pin's 13, 12 und 14, 11 des MAX 232 müssen dann noch verbunden werden. Die Stromversorgung erfolgt dann, anstatt über den Keyboard-Anschluß, über das RS-232-Modul.

Wie aus den beiliegenden Tabellen zu ersehen ist, ist der Funktionsumfang sehr hoch. Zusätzlich zu den normalen Buchstaben- und Zahlenbelegungen ist auch noch der Control-Code, 48 BASIC-Befehle und des weiteren sogar die Sonderbelegung für TPKC vorhanden. Außerdem können auch bis zu 48 Funktionstasten mit jeweils maximal 41 Zeichen, oder auch weniger Funktionstasten mit mehr Zeichen, aber maximal 2048 Bytes selbst definiert werden. Wem dies alles dann aber immer noch nicht reichen sollte, dem ist es nun erstmals möglich, auch Befehle zur Tastatur zu senden und somit jede einzelne Taste abzufragen, ihre Reaktion auf Drücken und Loslassen einer Taste zu ändern und die LED's zu schalten.

Nun aber zum Wichtigsten: die Kosten. Selbstverständlich bin ich gern bereit, die IC's gegen Rückporto zu programmieren. Die Kosten für einen kompletten Bausatz (incl. Gehäuse und Platine) werden sich auf ca. 50 - 60 DM belaufen. Bei einer größeren Stückzahl wäre es mir möglich, die Platinen sehr günstig anfertigen zu lassen. Des weiteren bekommt man ja Mengenrabatt bei den Versandfirmen für die Bauteile, so daß sich die Kosten noch etwas verringern lassen. Wer also Interesse hat, sollte sich unbedingt bei mir melden.

Programme zur Tastatur im Archiv BSP.PMA:

ECHO Echo-Funktion; Tastatur vorhanden?
PROGTAST Programmiert Anwender-EEPROM der Tastatur
PROGDAT Beispieldatei zu PROGTAST
READ_ID Auslesen der PC-Tastatur ID-Byte
SETCAOS Umschalten auf CAOS-Belegung
SETCPM Umschalten auf CP/M-Belegung
SETLED Schaltet alle LED's an
SET_1KEY Schaltet Taste 'A' auf nur Make-Code
SET_KEYS alle Tasten auf nur Make-Code schalten
TASTRATE Tastaturrate auf 2 Hz, 1 s einstellen
V24TAST.KOP Tastatur-Koppeltreiber für CP/M

Sendecodes zur Tastatur und Rückmeldungen von der Tastatur zum KC

Datenübertragungsformat: 1200 BPS 8N1 (erst höherwertiges, dann niederwertiges Byte senden)

1) Diese Befehle sollten nur verwendet werden, wenn anschließend der Befehl 0002H ,,Sende Scancodes`` aufgerufen wird.

Tastenbelegung der AT-Tastatur unter CP/M und CAOS

Tastaturebene erreichbare Zeichen und Funktionen
nach Reset NUM und CP/M-Modus aktiviert
ohne Umschalttaste Großbuchstaben, Zahlen
mit Shift Kleinbuchstaben, Zeichen über Zahlen
mit Caps Kleinbuchstaben, Zahlen
mit Caps und Shift Großbuchstaben, Zeichen über Zahlen
Numlock aus Hexeingabe über Ziffernblock, MODIFY- Modus
Ctrl + A bis Z Controlcodes
Ctrl + F1 bis F12 Basicbefehle (in Kombination mit Shift und Caps)
Alt + F1 bis F12 48 anwenderdefinierte Funktionstasten je max. 41 Zeichen (in Kombination mit Shift und Caps)
Alt + 2 Zeichen 0 bis F Hexcodes 0 bis 0FFH
Alt Gr + Cursor rechts Restorefunktion, alle Zeichen bis Enter werden wieder angezeigt (nur im CP/M-Modus)
Ctrl + Alt + Del Reset (bei der internen Version Systemreset; KC und Tastatur)

Spezielle CP/M-Codes

Tastenbetätigung Funktion
Ctrl + Cursor hoch Curs on (82H)
Ctrl + Cursor runter Curs off (83H)
Ctrl + Rollen Page/Scroll - Modus (85H)
Ctrl + Bild hoch Bild 0 (93H)
Ctrl + Bild runter Bild 1 (94H)
Ctrl + Ü USA/Deutsch (8CH)
Ctrl + Ziffernblock 8 oder 4 80/40 Zeichensatz (89H)
Ctrl + Ziffernblock 9 Ink (88H)
Ctrl + Ziffernblock 3 Paper (86H)

TPKC-Sonderfunktionen

Steuerzeichen Funktion Tastenbetätigung
^S ein Zeichen nach links Cursor links
^D ein Zeichen nach rechts Cursor rechts
^E eine Zeile nach oben Cursor hoch
^X eine Zeile nach unten Cursor runter
^W Rollen eine Zeile rückwärts Ctrl + Cursor hoch
^Z Rollen eine Zeile vorwärts Ctrl + Cursor runter
^R eine Seite zurück blättern Bild hoch
^C eine Seite vorwärts blättern Bild runter
^A ein Wort nach links Ctrl + Cursor links
^F ein Wort nach rechts Ctrl + Cursor rechts
^QS Zeilenanfang Pos1
^QD Zeilenende Ende
^QE in erste Zeile des Bildes Shift + Pos1
^QX in vorletzte Zeile des Bildes Shift + Ende
^QR Dateianfang Ctrl + Pos1
^QC Dateiende Ctrl + Ende
^QB Blockanfang Alt + Pos1
^QK Blockende Alt + Ende
^G Zeichen auf Cursor löschen Entf
<Del> (1FH) Zeichen links von Cursor löschen Backspace
^T ab Cursor bis Wortende löschen Shift + Entf
^QY ab Cursor bis Zeilenende löschen Ctrl + Entf
^KY markierten Block löschen Alt + Entf
^V Einfügen ein/aus Einf
^I Tabulator Tab
^KP Drucken einer Datei Druck

Abbildungen

[Bestueckungsplan]

Abb. 1: Bestückungsplan

[Layout]

Abb. 2: Leiterplattenlayout

[Stromlaufplan]

Abb. 3: Stromlaufplan

[Tastaturbelegung]

Abb. 4: Tastaturbelegung

Und hier die Bilder noch einmal in besserer Qualität im PostScript-Format zum Downloaden: