Tastatur an der COM Schnittstelle

Letztes Update 10.09.2003

19. COM Tastatur


19.1 Schaltung

Bei dieser Schaltung ging es darum, den Rechner mal eben, ohne größeren Aufwand, mit vier Tasten auszustatten. Die Hardware sollte so gering wie möglich gehalten werden.

Wenn man sich die serielle Schnittstelle und die Windows API Funktionen etwas genauer ansieht, erkannt man, das die Leitungen RTS und DTR separat angesteuert werden können. Die Leitungen DSR und CTS können genauso abgefragt werden. Das bietet eine ideale Möglichkeit, eine 2 mal 2 Tastaturmatrix aufzubauen.

Der Schaltplan dazu sieht folgendermaßen aus.

Es wird lediglich ein SUB-D-9 Stecker, vier Tasten und zwei Widerstände dafür benötigt.

Der Rest dazu ist dann nur noch geschickte Programmierung.

19.2 Software

Für die API Zugriffe werden die Level-1 Funktionen für I2C-Bus Bausteine genommen.

Das Kernstück des Programms ist ein Timer mit folgender Funktion:

Das TxD Signal wird nicht bedient. Es sorgt nur dafür das die Eingänge DSR und und CTS immer einen definierten Pegel haben und nicht offen in der Landschaft rumhängen und eventuell Störungen empfangen. Wenn nichts auf der TxD Leitung los ist, kann man dort eine Spannung von -10 bis -12Volt messen.

Im Ruhezustand haben die Ausgänge RTS und DTR auch -10 bis -10Volt. RTS wird jetzt auf High-Pegel gesetzt. Ist S2 geschlossen, wird dieser High-Pegel auch an DSR gemessen. Ist S4 geschlossen, wird der High-Pegel an CTS gemessen. Das gleiche gilt für die DTR Leitung. Es ergibt sich also eine eindeutige Matrix:
  DSR=Low
CTS=High
DSR=High
CTS=Low
RTS=High
DTR=Low

S4

S2

RTS=Low
DTR=High

S3

S1

Die Abfrage sieht folgendermaßen aus:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  DTR(false);
  RTS(true);
  S2.Checked := DSR;
  S4.Checked := CTS;
  RTS(false);
  DTR(true);
  S1.Checked := DSR;
  S3.Checked := CTS;
end;

Und hier das Ganze als Download.

19.3 Stückliste

Stückliste

Pos Artikel Best Nr (Reichelt) Preis

1

R1 - 10k Metall 10,0k 0,08

2

R2 - 10k Metall 10,0k 0,08

3

Taster oder Schalter    

4

Taster oder Schalter    

5

Taster oder Schalter    

6

Taster oder Schalter