ebps.de.vu > Schaltungen > für den PC > COM-Port Interface

serielles Computer-Interface

Wegen der großen Nachfrage möchte ich jetzt 2 Vorschläge für Computer-Interfaces vorstellen, mit denen man Schaltungen seriell oder parallel mit dem PC verbinden kann. Dabei ist zu beachten dass der Vorschlag mit dem Transistor auch um ein nachgeschaltetes Relais oder eine Optokoppler für galvanische Trennung ergänzt werden kann.

Programmierung

Das serielle Interface hat 3 Ausgänge und 4 Eingänge. Dabei muss ein Ausgang auf 1 liegen, um die Eingänge abfragen zu können. Für jeden Eingang wird einfach ein Taster (oder Transistor etc.) zwischen Eingang und einem gemeinsamen Ausgang (für alle Eingänge) gelegt. Die Ausgänge und Eingänge werden wie folgt abgefragt bzw. gesetzt (die Pinnummer in Klammern bezeichnet den Pin bei 25-Poligen Steckern, Masse ist dort 7):

Pinnummer Ein-/Ausgang Adresse (Hex) 1 bei Wert
1 (8) Ein 1 XXEH 128
6 (6) Ein 2 XXEH 32
8 (5) Ein 3 XXEH 16
9 (22) Ein 4 XXEH 64
3 (2) Aus 1 XXBH 64
4 (20) Aus 2 XXCH 1
7 (4) Aus 3 XXCH 2

Die Adressen XX sind wie folgt definiert:

COM XX
1 3F
2 2F
3 3E
4 2E

Wenn mehrere Eingänge auf 1 sind oder mehrere Ausgänge gleichzeitig aktiv sein sollen, addieren sich die Werte! Beispiel: Eingänge 1 und 3 von COM1 sind aktiv - an der Adresse 3FEH steht die Zahl 144 (128+16). Sollen die Ausgänge 2 und 3 von COM2 aktiviert werden, muss 3 (1+2) an die Adresse 2FCH geschrieben werden. Eine Ausnahme bildet Ausgang 1, da dieser eine eigene Adresse hat und somit keine Addition mehrerer Werte möglich sind. Und noch zur Programmierung in Q(uick)Basic (addr ist die Adresse ohne H, var eine beliebige Integer-Variable und wert der zu schreibende Wert, der gelesene Wert steht in var):

Schreiben Lesen
OUT &Haddr, wert var = INP(&Haddr)