10 CLS : SCREEN 9 20 REM entete nummes%=rang de la mesure,mesure%=valeur de la mesure 30 REM xorig%= origine de l'axe x pour le trac‚ 40 REM vit variable tempo,d‚pend du pc!!! nummes% = 1 xorig% = 1 mesure% = 0 PRINT " PROGRAMME D'ACQUISITION DE DONNEES" PRINT " par le port parallele ,avec un max 187" PRINT " --------------------------------------" PRINT PRINT INPUT "DATE < jjmmaa >", dat$ PRINT "VITESSE D'ACQUISITION 0 = tres rapide " PRINT "A 100000=1 MESURE TOUTES LES 10 secondes " PRINT "EN COURS D'EXECUTION LA VITESSE PEUT ETRE MODIFIEE PAR < v >ou < l >" INPUT "VITESSE :", vit nomdefichier$ = "c:\don\" + "do" + dat$ + ".dat" PRINT "LES MESURES PEUVENT ETRE STOPPEES PAR < q >" PRINT "LES DONNEES SERONT ENREGISTREES DANS LE FICHIER :", nomdefichier$ OPEN nomdefichier$ FOR OUTPUT AS #1 PRINT PRINT 100 REM boucle principale INPUT "DEMARRER LA MESURE ? < O / N > ", rep$ IF rep$ = "o" OR rep$ = "O" THEN GOTO 130 ELSE GOTO 120 120 CLOSE #1: END 130 GOSUB 200 150 GOSUB 700 160 GOSUB 300 170 GOSUB 400 180 GOSUB 500 190 nummes% = nummes% + 1 192 com$ = INKEY$: IF com$ = "q" THEN GOTO 120 193 IF com$ = "l" THEN vit = vit + 100 194 IF com$ = "v" THEN vit = vit - 100 198 GOTO 150 199 END 200 REM affichage entete page graphique CLS LOCATE 3, 30: PRINT "MESURE du :", dat$ LOCATE 11, 77: PRINT "4v" LOCATE 25, 77: PRINT "ov" LOCATE 11, 2: PRINT "V" LOCATE 13, 2: PRINT "O" LOCATE 15, 2: PRINT "L" LOCATE 17, 2: PRINT "T" LOCATE 19, 2: PRINT "S" LOCATE 25, 1: PRINT "TEMPS>" RETURN 300 REM mesure accum%=variable founissant le r‚sultat , 301 REM sous routine provenant de Radio-sky publishing. accum% = 0 OUT 888, 1 OUT 888, 0 OUT 888, 2 OUT 888, 0 OUT 888, 2 IF (INP(889) AND 32) > 0 THEN accum% = 2048 OUT 888, 0 OUT 888, 2 IF (INP(889) AND 32) > 0 THEN accum% = accum% + 1024 OUT 888, 0 OUT 888, 2 IF (INP(889) AND 32) > 0 THEN accum% = accum% + 512 OUT 888, 0 OUT 888, 2 IF (INP(889) AND 32) > 0 THEN accum% = accum% + 256 OUT 888, 0 OUT 888, 2 IF (INP(889) AND 32) > 0 THEN accum% = accum% + 128 OUT 888, 0 OUT 888, 2 IF (INP(889) AND 32) > 0 THEN accum% = accum% + 64 OUT 888, 0 OUT 888, 2 IF (INP(889) AND 32) > 0 THEN accum% = accum% + 32 OUT 888, 0 OUT 888, 2 IF (INP(889) AND 32) > 0 THEN accum% = accum% + 16 OUT 888, 0 OUT 888, 2 IF (INP(889) AND 32) > 0 THEN accum% = accum% + 8 OUT 888, 0 OUT 888, 2 IF (INP(889) AND 32) > 0 THEN accum% = accum% + 4 OUT 888, 0 OUT 888, 2 IF (INP(889) AND 32) > 0 THEN accum% = accum% + 2 OUT 888, 0 OUT 888, 2 IF (INP(889) AND 32) > 0 THEN accum% = accum% + 1 OUT 888, 2 OUT 888, 0 OUT 888, 2 OUT 888, 0 OUT 888, 1 mesure% = accum% RETURN 400 REM enregistrement des mesures WRITE #1, nummes%, mesure%, TIME$ RETURN 500 REM affichage resultat et trace courbe xorig% = nummes% - (550 * (INT(nummes% / 550))) IF xorig% = 549 THEN GOSUB 200 LOCATE 3, 10: PRINT "MES:"; nummes%; "VAL:"; mesure%; "mv ", TIME$ LINE (xorig% + 50, 350)-(xorig% + 50, 350 - (mesure% / 17)), 9 RETURN 700 REM boucle tempo FOR x = 0 TO vit NEXT x RETURN