Visual Basic en de Printerpoort

Gepost door Jeroen Boere op woensdag 8 september 2004

De aansluitingen

Als we het over de aansluitingen hebben, hebben we het altijd over de aansluiting op de computer dus niet over de kabel. Hieronder zie je 2 plaatjes die dit duidelijk moeten maken. Het eerste plaatje Fig. 1 stelt de aansluiting voor die je achter op de computer kast kan vinden. Plaatje Fig. 2 stelt de aansluiting voor die aan de kabel zit die vervolgens weer naar bv de printer gaat.

Fig.1: Sub-D 25 pins female

Fig.2: Sub-D 25 pins male

Het volgende plaatje is gebaseerd op Fig. 1 en stelt de pin out voor:

Pinout van de parallelle poort

De tabel die je hier onder ziet is een weergave van wat welke pin voor functie heeft en evt. de extra functies.

Pin Signaal lijn Richting Uitgangs-bit Invert
1 Strobe Out Control-0 Ja
2 Data0 In/Out Data-0 Nee
3 Data1 In/Out Data-1 Nee
4 Data2 In/Out Data-2 Nee
5 Data3 In/Out Data-3 Nee
6 Data4 In/Out Data-4 Nee
7 Data5 In/Out Data-5 Nee
8 Data6 In/Out Data-6 Nee
9 Data7 In/Out Data-7 Nee
10 Ack In Status-6 Nee
11 Busy In Status-7 Ja
12 Paper-Out In Status-5 Nee
13 Select In Status-4 Nee
14 LineFeed Out Control-1 Ja
15 Error In Status-3 Nee
16 Init/Reset Out Control-2 Nee
17 Select Out Control-3 Ja
18-25 Ground - - -

Zoals je uit de tabel kan opmaken is te zien dat het ontwerp van deze poort geheel gericht is op het doel om een printer aan te sturen. Maar wat wel het mooie van deze poort is is dat we eigelijk geen 8 bits poort hebben maar wel een 12 bits poort. Waarmee we als we ons alleen richten op het schakelen van bv lampjes tot maximaal 4096 in/uitgangen kunnen creëren zonder enige problemen. Met deze wetenschap is er natuurlijk een ondenkbaar veel mogelijkheden met deze poort te realiseren vandaar ook waarschijnlijk dat deze poort het al zolang "volhoud" op de computer. Vooral in de industrie zie je vaak PLC's dan wel oude industriepc's. Met deze of een soort gelijke poort.

Wat je ook mooi kan doen met deze poort is het rechtstreeks in lezen van data met Status-3 tot 7. En direct uitsturen met Control-0 tot 3. En zo houd je dan nog 8 data lijnen over waar je zowel mee kan in als uitlezen.

LET OP! de printerpoort is NIET kortsluitvast! Ook kan deze maximaal ± 10 mA voeren, gebruik dus altijd een optocoupler of het schema wat hieronder staat. Zowel voor in- als uitgangen is dit aan te raden. Wel kan je er 1 ledje per uitgang van 10mA op aansluiten (+ 470 Ω weerstand) voor software-test opstellingen.

Schema:

Buffer voor datalijn printerpoort

Op welk adres bevind zich de printer poort, zie ook weer de tabel hier onder :). Meestal zal je dit maar 1x gebruiken in je programma. En vervolgens zal dit niet meer van toepassing zijn gezien dan de computer weet waar hij jou geschreven data/software naar toe moet sturen.

Adressering LPT1 LPT2
Data bereik (adres LPT + 0) &378 &278
Status bereik (adres LPT + 1) &379 &279
Control bereik (adres LPT + 2) &37A &27A