Aansturing handscanner-interface Scan! A.Steenbergen, 00-00-00 Aansturing handscanner-interface Scan! ====================================== De aansturing van de scanner-interface is vrij eenvoudig. eerst wordt de scanner aangezet. Dan wordt gekeken of de scanknop is ingedrukt. Zo ja, dan wordt een regel van 512 bytes ingelezen. Vervolgens wordt de scanknop weer gecontroleer, enzovoort. Dit wordt zo herhaald totdat het scherm vol is, dus als er 212 regels gescand zijn. Als laatste wordt de scanner natuurlijk weer uitgezet. Dit alles gebeurt door het uitlezen van de I/O poorten 0, 1, 8 en 9: poort 9: scanner aan poort 1: scanknop ingedrukt? poort 8: binnenkomende data poort 0: scanner uit De listing SCANVB.BAS is een scanprogramma om een plaatje ter grootte van ‚‚n schermpagina te scannen. Het is een vrij primitief programma, maar toont wel aan hoe eenvoudig de scanner aan te sturen is. De listing is voorzien van commentaar voor wat de scanneraansturing betreft, dus een diepgaande uitleg lijkt me niet nodig. KUN basic is vereist om dit programma te kunnen draaien. 10 REM SCANVB.BAS 20 REM 30 REM voorbeeldprogramma voor 40 REM aansturen scanner-interface. 50 REM 60 REM Draait alleen met KUN-BASIC! 70 REM 80 REM door Arjan Steenbergen 90 REM 100 _TURBO ON 110 SCREEN 6: COLOR 1,0,0: CLS 120 DEFINT A-Z 130 COLOR=(1,0,0,0) 140 COLOR=(0,7,7,7) 170 FOR Y=0 TO 211 180 R=INP(9) ' scanner aan 190 R=INP(1) ' lees button (bit0=1 dan ingedrukt) 200 IF (R AND 1)=0 GOTO 190 210 FOR X=0 TO 127 220 R1=64*(INP(8) AND 1)' lees data 230 R2=16*(INP(8) AND 1)' lees data 240 R3= 4*(INP(8) AND 1)' lees data 250 R4= (INP(8) AND 1)' lees data 270 VPOKE (Y*128+X),R1+R2+R3+R4 280 NEXT X 290 IF STRIG(0) THEN GOTO 310 300 NEXT Y 310 R=INP(0) ' scanner uit 320 _TURBO OFF 330 A$=INPUT$(1) 340 COLOR 15,4,4 |