Numerische Tastatur CX 85

Die frühen Heimcomputer besaßen auf der Tastatur in der Regel noch keinen abgetrennten Ziffernblock. Für die schnelle Eingabe von Zahlenkolonnen in einer Tabellenkalkulation oder Buchhaltungssoftware erwies sich ein solcher Ziffernblock mit Tasten in Taschenrechner-Anordnung aber als überaus komfortabel. Atari lieferte für seine Heimcomputer ab 1981 daher eine separate, numerische Tastatur nach, die sich an den üblichen Controller-Port anschließen ließ. Neben den Ziffern 0 bis 9 gab es ein Dezimaltrennzeichen, eine Minus-Taste, eine Enter-Taste und vier Funktionstasten.

Funktionsprinzip

Kernelement der numerischen Tastatur ist der Encoder MM74C923. An die Ausgänge X und Eingänge Y können insgesamt 20 Tasten in 4×5-Matrix-Anordnung angeschlossen werden. Eine Seite jedes Tasters hängt an einem X-Ausgang, die andere Seite an einem Y-Eingang. Der Encoder legt nun nacheinander einen der Ausgänge X auf Masse. Die Geschwindkeit, in der dies passiert, wird durch den Kondensator C3 an Pin 6 (OSC) beeinflusst. Die Eingänge Y sind normalerweise HIGH. Sollte einer der Eingänge auf LOW wechseln, kann der Encoder aus dem Ausgang, der gerade auf Masse gezogen wurde, und dem Eingang der gerade auf LOW liegt, schlussfolgern, welche der 20 Tasten gedrückt wird.

Diese Information wird in eine 5-stellige Bitmaske codiert und an den Ausgängen A bis E ausgegeben. Gleichzeitig wird über ein HIGH-Signal am Ausgang DA (Pin 13) signalisiert, dass eine Taste gedrückt wurde und die codierte Tasteninformation jetzt ausgelesen werden kann. Anschließend laufen die Ausgänge A bis E und DA jeweils durch einen Inverter, welcher die HIGH-LOW-Signale umkehrt.

Der an Pin 7 (KBM) angeschlossene Kondensator C2 hat die Aufgabe die Tastenanschläge zu entprellen, da es sonst vorkommen könnte, dass ein Tastenanschlag mehrfach registriert wird.

Codierungstabelle

Signalweg Bitmaske
(EDCBA)
Taste nach Invertierung
(EDCBA)
X1→Y1 00000 - 11111
X2→Y1 00001 Enter 11110
X3→Y1 00010 . 11101
X4→Y1 00011 0 11100
X1→Y2 00100 3 11011
X2→Y2 00101 2 11010
X3→Y2 00110 1 11001
X4→Y2 00111 Yes 11000
X1→Y3 01000 9 10111
X2→Y3 01001 8 10110
X3→Y3 01010 7 10101
X4→Y3 01011 No 10100
X1→Y4 01100 6 10011
X2→Y4 01101 5 10010
X3→Y4 01110 4 10001
X4→Y4 01111 Delete 10000
X1→Y5 10000 nicht definiert
X2→Y5 10001 nicht definiert
X3→Y5 10010 nicht definiert
X4→Y5 10011 Escape 01100