B.Kainka H.-J.Berndt

PC-Poorten onder Windows

meten, regelen en besturen via de standaardpoorten


Voorwoord

Op de meeste PC's lijken de dagen van het goede oude DOS-bedrijfssysteem geteld te zijn. De wereldwijde invoering van Windows heeft enerzijds een groter gebruiksgemak tot gevolg, maar anderzijds betreuren vooral veel hobbyisten het feit dat een heleboel zaken die onder DOS geen probleem waren, nu niet meer zonder meer mogelijk zijn. Een Windows-programma geeft de gebruiker niet meer dezelfde mate van controle over de computer als een DOS-programma.

Onder DOS zijn talloze uiterst eenvoudige applicaties ontwikkeld die rechtstreekse toegang bieden tot de poorten van de PC. LED's of doodgewone schakelaars kunnen zonder verdere kunstgrepen rechtstreeks op bijvoorbeeld een COM-poort worden aangesloten. Ook simpele schakelingen voor de besturing van externe hardware kunnen direct worden aangestuurd. Onder Windows lijkt deze eenvoudige aanpak in eerste instantie geblokkeerd te zijn. Maar gelukkig bestaan er wel degelijk oplossingen voor dit probleem! Dit boek laat u zien hoe u onder Windows rechtstreeks toegang tot de interfaces van de PC krijgt.

Het is de bedoeling van dit boek een groot aantal bestaande schakelingen nieuw leven in te blazen. Het is grotendeels gebaseerd op zijn DOS-voorganger "PC-poorten anders benut" (Elektuur 1994). Daarnaast geven we enkele nieuwe "aanzetjes" die juist uit de nieuwe mogelijkheden van Windows voortvloeien. Over het geheel genomen "draait" dit boek volledig onder Windows95/98. Meestal is gebruik gemaakt van de programmeertalen Visual Basic en Delphi -- dat wil zeggen de Windows-opvolgers van GW-Basic en Q-Basic respectievelijk Turbo-Pascal. Veel bestaande DOS-programma's kunnen met deze nieuwe tools betrekkelijk gemakkelijk naar het Windows-platform worden "getild".

Wij wensen de lezer veel succes!

Hans-Joachim Berndt en Burkhard Kainka


Opmerking bij de Nederlandse uitgave: Om vergissingen en tikfouten te voorkomen, zijn alleen de commentaarteksten bij de in het boek afgedrukte listings vertaald. Namen van procedures, variabelen en dergelijke zijn onvertaald gebleven. Op de CD bij dit boek staan de originele Duitstalige (voorbeeld)programma's zoals deze door de schrijvers zijn gemaakt.


Inhoudsopgave

Voorwoord 6

1. Inleiding 7
1.1 PORT.DLL 8
1.2 Het aanroepen van de DLL in Visual Basic 5 11
1.3 Het aanroepen van de DLL onder Delphi 17

2. De seriële poort 21
2.1 DLL-functies voor de seriële poort 24
2.2 Poortadressering in Visual Basic 25
2.3 Poortadressering in Delphi 29
2.4 Adressering via poortcommando's 34

3. Rechtstreekse digitale uitvoer 41
3.1 Schakelklok 41
3.2 Servosturing 44
3.3 Stappenmotorsturing 51

4. Rechtstreekse digitale invoer 57
4.1 Registratie van gebeurtenissen 57
4.2 Nabootsing van logische schakelingen 60

5. Eenvoudige analoog/digitaal-omzetters 63
5.1 Meting van weerstanden 63
5.2 Spanningsmeting 66
5.3 Een 4-kanaals A/D-omzetter 71
5.4 Metingen aan een transistor 75

6. Frequentiemeting 81
6.1 Software-teller 81
6.2 Meting van temperatuur en luchtvochtigheid 85
6.3 Een spanning/frequentie-omzetter 90
6.4 Een frequentieplotter 94
7. Synchrone seriële data-overdracht 99
7.1 Seriële uitvoer 99
7.2 Seriële invoer 106
7.3 Een serieel uitleesbare A/D-omzetter 109

8. Een multifunctionele interface 113
8.1 De hardware en de aansturing ervan 113
8.2 Het universele meetprogramma COMPACT 118
8.3 Automatische IC-tester 122

9. De parallelle printerpoort 129
9.1 In- en uitgangslijnen 130
9.2 Bidirectionele printerpoorten 134

10. Parallelle data-overdracht 137
10.1 Een functiegenerator 137
10.2 Besturing van eenvoudige machines 140

11. 16-bit poortuitbreiding 145
11.1 Het poort-IC 8243 145
11.2 Uitbreiding tot 32 poortlijnen 148
11.3 Een eprommer 153

12. De I2C-bus 161
12.1 Data-overdracht en adressering 161
12.2 Aansturing via de parallelle poort 164
12.3 Aansluiting op de seriële poort 167
12.4 Het poort-uitbreidings-IC PCF8574 170
12.5 De A/D-D/A-omzetter PCF8591 177
12.6 Een geheugenoscilloscoop 180

13. De joystick-poort 189
13.1 Analoge en digitale ingangen 190
13.2 Spanningsmeting 196
13.3 Bewaking van grenswaarden 199
13.4 Schakeluitgang 202
13.5 Een digitale teller 205
13.6 Gebruik van de joystick via drivers 208

14. De geluidskaart 213
14.1 Opname en weergave 217
14.2 Een Excel-oscilloscoop 218
14.3 Een Delphi-oscilloscoop 220
14.4 Genereren van geluiden 225
14.6 Een gehoortest met de geluidskaart 228

15. Video-capture-kaarten 233
15.2 Weergave van een beeld 234
15.2 Meetwaarden uit kleurinformatie 241
15.3 Lengtemeting met de videocamera 243

16. Asynchrone seriële overdracht 247
16.1 Het uitlezen van een seriële muis 248
16.2 Digitale besturing via RS232 251
16.3 De St62-microcontroller-UART 256
16.4 Een seriële bus 267

Aanhangsel 283
Literatuur 283
De inhoud van de CD-ROM 284
Index 285