5. Программное обеспечение виртуального измерительного комплекса
5 REM ---- BICOURBE ----
10 REM ----MAXIM12----
20 KEYOFF:CLS
30 B=&H3F8:REM COM1:
40 N=12: REM число разрядов
50 OUT B+4,1
60 FOR T=0 TO 100:NEXT T
70 OUT В+3,64
80 FOR T=0 TO 500:NEXT T
84 GOSUB 1000
85 GOSUB 300
90 GOTO 200
100 OUT В+4,0: D=0: REM ACQUISITION
105 OUT B+4,2: OUT B+4,0
110 FOR F=0 TO N-1
120 OUT B+4,2
130 E=INP(B+6) AND 16
140 OUT B+4,0
150 IF E=16 THEN D=D+2^(N-1-F)
160 NEXT F
170 D=5*D/(2^N-1)
180 OUT B+4,1:RETURN
200 REM ----VDIRECT----
210 GOSUB 100:GOSUB 1090
220 FOR G=1 TO 639
230 GOSUB 100
240 Y=D:GOSUB 500
241 GOSUB 1090
242 Y=Q:GOSUB 600
250 FOR T=0 TO 2000:NEXT T:REM развертка
260 NEXT G
270 END
300 REM ----VGA----
310 SCREEN 9
320 KEY OFF:CLS
330 LINE(0,0)-(0,349),2
340 FOR Y=0 TO 349 STEP 35
350 LINE(0,Y)-(639,Y),2,,&HCCCC
360 NEXT Y
370 FOR X=0 TO 639 STEP 32
380 LINE(X,0)-(X,349),2,,&HCCCC
390 NEXT X
400 LINE(639,0)-(639,349),2
410 LINE (0,349)-(639,349),2,,&HCCCC
415 X=0:RETURN
500 Y=349-INT(Y*349/5)
502 PSET(X,V)
505 V=Y
510 LINE -(X,V),12
520 X=X+1
530 RETURN
600 Y=349-INT(Y*349/5)
602 PSET(X,W)
605 W=Y
610 LINE -(X,W),14
630 RETURN
1000 REM ---- 12BITS----
1010 KEY OFF:CLS
1020 C=&H2F8:REM COM2:
1030 M=12:REM число разрядов
1040 OUT C+4,1
1050 FOR T=0 TO 100:NEXT T
1060 OUT C+3,64
1070 FOR T=0 TO 500 NEXT T
1080 RETURN
1090 OUT C+4,0:Q=0:REM ACQUISITION
1100 OUT C+4,2:OUT C+4,0
1110 OUT C+4,2:OUT C+4,0
1120 OUT C+4,2:OUT C+4,0
1130 FOR F=0 TO M-1
1140 OUT C+4,2
1150 E=INP(C+6) AND 16
1160 OUT C+4,0
1170 IF E=16 THEN Q=Q+2^(M-1-F)
1180 NEXT F
1190 Q=5*Q/(2^M-1)
1200 OUT C+4,1:RETURN
1210 REM (0)1997 Patrick GUEULLE
Программа BICOURBE.BAS не должна рассматриваться только как иллюстрация того, что можно получить при комбинировании программных модулей, приведенных в данной книге. Это образец подхода, называемого англоговорящими программистами quick and dirty («быстро и грязно»): здесь отсутствует всякое стремление к структурированию и четкости. Программа работает, и это главное! В частности, неоднократно применялась функция RENUM языка BASIC для переопределения в разных местах той или другой подпрограммы.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32
|