Pascal-LogoDie parallele Schnittstelle   backzurück zum Inhaltsverzeichnis
Will man mit dem Computer reale Prozesse steuern oder überwachen, so erfordert dies zunächst einmal eine geeignete Verbindung zur Außenwelt. Ein Programm soll ja in der Lage sein, Informationen von außen zu erfassen und Steuersignale an äußere Geräte weiterzugeben. Das erforderliche Tor zur Außenwelt wird durch Interfaces geöffnet. Für PCs nach dem Industriestandard lassen sich, über die ohnehin vorhandenen Schnittstellen, die serielle Schnittstelle ( RS232 ), die Druckerschnittstelle
( Centronics ) und der Joystick-Anschluß direkt als Interface nutzen. Damit erübrigt sich jede weitere Hardware. Die parallele Schnittstelle ( LPT1 oder LPT2 ) des PCs stellt insgesamt 17 digitale Leitungen zur Verfügung, die sich für den schnellen Datenaustausch mit Interface-Schaltungen nutzen lassen. Die Ein- und Ausgänge sind TTL-kompatible Leitungen und nicht vor Überlastung geschützt !
An dieser Stelle sei auf die Bücher von Burkhard Kainka hingewiesen, aus denen ich die einleitenden Ausführungen entnommen habe. Kainka beschreibt in einfacher und nachvollziehbarer Weise, in seinem Buch "PC - Schnittstellen angewandt ", wie man über die verschiedenen Schnittstellen im PC Messen, Steuern und Regeln kann.

AchtungRegeln

1) Interfaceschaltungen nur bei ausgeschaltetem PC anschließen !
2) An die Eingänge dürfen nur Gleichspannungen zwischen 0 V und 5 V gelegt werden !
3) Ausgänge des Ports niemals kurzschließen oder mit anderen Ausgängen verbinden !
4) An die Kontakte der 25-poligen Sub-D-Stecker keine Fremdspannungen anlegen !
5) Alle Ausgänge dürfen jeweils nur mit maximal 10 mA "belastet" werden.
6) Induktive Lasten ( Relais, Motoren usw. ) nicht ohne Schutzdiode ein- und ausschalten !!!

Der Datenaustausch über den parallelen Port erfolgt über drei 8-Bit-Register, die jeweils unter einer Basisadresse ( BA ) und den beiden folgenden Adressen zu erreichen sind. Für die einzelnen Schnittstellen gelten folgende Basisadressen :

  • Schnittstelle 1: [ LPT1 ] $378 (hex) oder 888 (dez)
  • Schnittstelle 2: [ LPT2 ] $278 (hex) oder 632 (dez)
  • Aufbau der parallelen Schnittstelle Das erste Register heißt Datenregister und ist unter der Basisadresse zu erreichen. Es stellt ( in der Regel ) einen zusammenhängenden 8-Bit Ausgabeport zur Verfügung, dessen positive Spannungspegel sich im Bereich von 3,5 V bis 5 V bewegen ( TTL - Pegel ).

    Der Pascal-Befehl für die Ausgabe lautet :

    Port [ BA ] := n ;

    Unter der Portadresse BA + 1 kann man das Byte des Statusregisters in eine Variable einlesen und auswerten. Diese Hilfsleitungen für den Drucker sind meist TTL-kompatibel, d.h. offene Eingänge erscheinen als High-Pegel. Die busy-Leitung wird invertiert eingelesen ! Der Pascal - Steuerbefehl lautet analog zur Eingabe :

    Variable := Port [ BA + 1 ] ;

    Die Portadresse BA + 2 erlaubt den Zugriff auf das Steuer- oder Controlregister. Über die vier Steuerleitungen können Informationen ausgegeben werden. Da es sich aber um Open-Kollektor Ausgänge handelt, können sie auch gelesen werden, wenn man die Anschlüsse über 3,3 kOhm Widerstände gegen +5 V legt. Beachten Sie bitte, daß drei der vier Leitungen invertiert verwendet werden. Diese Invertierung kann aber bereits bei der Ein- oder Ausgabe, mit logischen Verknüpfungen in den Befehlen selbst, wie folgt korrigiert werden:

    Ausgabe : Port [BA+2] := n XOR 11;

    Eingabe: Variable := (Port [BA+2] XOR 11) AND 15;


    An dieser Stelle finden Sie einteacher Beispiel für die Schnittstellenprogrammierung.
    home zum Inhaltsverzeichnis / back to table of contents / retour à la table des matières