LPT_IO
Links zie je J1. Dit is een DB25 steker die via een afgeschermde kabel in de printerpoort van de PC wordt gestoken. Deze poort kent 3 registers voor control (C), data (D) en status (S). Ik gebruik deze op een andere manier als volgt:
S register = Statusbus, 4 input lijnen naar de PC. Telkens 1 lijn gaat naar een BVTM terugmelder die 15 reedcontacten kan uitlezen. In totaal zijn er dus 4 x 15 = 60 terugmelders mogelijk. Heb je meer terugmelders nodig, dan moet er extra hardware toegevoegd worden. Omdat de PC met 5 Volt werkt en de CMOS ic´s op 12 Volt werken is er een spanningsdeler ndig die de 12 V signalen reduceert naar 5 V, zoals bv. R13 / R17.
C register = Databus, 4output lijnen, waarop de decimale getallen 0..15 verstuurd kunnen worden naar de diverse units, zoals BVB of WBR. Ic U3 inverteert 3 van de lijnen om de gewenste polariteit te krijgen. Ic U2 fungeert als geheugen voor de data lijnen. Omdat dit ic op 5 V werkt is een buffer nodig die de 'sink' stromen kan verwerken van de 12 V sectie, gevormd door de transistoren Q1, Q2, Q3 en Q4. Het zal duidelijk zijn dat hiermee zeer veel units van data voorzien kunnen worden.
D register = Adresbus, 8 output lijnen, waarop de decimale getallen 0..255 verstuurd kunnen worden naar de AD. De adresbus werkt op dezelfde manier als de databus, echter met 8 lijnen. U5 en U6 'sinken' de 12 V signalen die via de weerstanden R5..R12 gegeven worden. Stuur je dus adres 0, dan trekken U5 en U6 alle 8 lijnen omlaag naar ongeveer 0,2 V. Stuur je adres 255, danblokkeren U5 en U6, waardoor ede 12 V op alle adreslijnen komt te staan.
Vanuit Excel stuur je altijd eerst een data getal, gevolgd door een adres getal naar de SEND routine, die ervoor zorgt dat de PC registers op de juiste manier bestuurd worden.