Главная  Компьютер 

[0] [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] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46]

340 FOR Y=0 ТО 199 STEP 20

350 LINE(0,Y)-(639,Y),,,&НСССС

360 NEXT Y

370 FOR X=0 TO 639 STEP 32

380 LINE(X,0)-(X,199),,,&HCCCC

390 NEXT X

400 LINE(639,0)-(639,199)

410 LINE(0,199)-(639,199),,,&HCCCC

420 REM (c)1997 Patric)c GUEULLE

300 REM----VGA----

310 SCREEN 9

320 KEY OFF:CLS

330 LINE(0,0)-(0,349)

340 FOR Y=0 TO 349 STEP 35

350 LINE(0,Y)-(639,Y),,,&HCCCC

360 NEXT Y

370 FOR X=0 TO 639 STEP 32

380 LINE(X,0)-(X,349),,,&HCCCC

390 NEXT X

400 LINE(639,0)-(639,349)

410 LINE(0,349)-(639,349),,,&HCCCC

420 REM (c)1997 Patricia GUEULLE

Это объединение можно сделать следующим образом:

LOAD "CGA" (запзузка драйвера);

затем

MERGE "CGAVISU" (добавление профаммы вывода на экран).

Полученная профамма теперь может быть сохранена под каким-либо именем при помощи обычной команды SAVE.

На рис. 5.11 показан результат вывода на бумагу с использованием буфера обмена Windows, кривой разряда конденсатора емкостью 4,7 мкФ через входное сопротивление АЦП. Эта кривая была получена на экране CGA (320x200 точек).

Рис. 5.12 воспроизводит ту же запись, пересчитанную для вывода на экран VGA.

Обеспечение точной временной развертки

Для приложений, требующих точной регистрации параметра «время», можно использовать программу TIME.BAS, записывающую в файл DAT.DAT значение переменной ТШЕ$ вместе с измеренной величиной напряжения.

200 REM----TIME----

210 GOSUB 100

220 OPEN "dat .dat" FOR OUTPUT AS #1



Рис. 5.11. Результат, полученный в режиме CGA

230 PRINT "Идут измерения..."

240 FORG=0 ТО 639

250 GOSUB 100

260 PRINT#1,D,,TIMES

270 FORT=0TO2000:NEXTT

280 NEXT G

290 CLOSE* 1

300 REM (c)1997 Patrick GUEULLE

Понятно, что для полной обработки такого файла потребуются специальные программы. Можно использовать как большие коммерческие пакеты, статистические или графические, так и простые программы TCGA.BAS и TVGA.BAS.

500 REM----TCGA----

510 OPEN "dat. dat" FOR INPUT AS #1 520 INPUT#l,Y:y=199-INT(Y*199/5)

Рис. 5.12. Результат, полученный в режиме VGA



530 INPUT#1,S$:PSET(0,Y)

540 F0RX=1 ТО 639

550 IMPUT*tl,Y:Y=199-INT(Y*199/5)

560 INPyT#l,T$:LINE-(X,Y)

570 NEXTX:CLOSE #1

580 LOCATE 1,1: PRINT S$

590 LOCATE 1,73: PRINT S$

600 REM (c) 1997 Patrick GUEULLE

500 REM----TVGA----

510 OPEN "dat .dat" FOR INPUT AS #1

520 INPUT#l,Y:Y=349-INT(Y*349/5)

530 INPUT#1,S$:PSET(0,Y)

540 FOR X=l TO 639

550 INPUT#l,Y:Y=349-INT(Y*349/5)

560 INPUT#l,T$:LINE-(X,y)

570 NEXT X:CLOSE #1

580 LOCATE 1,1: PRINT S$

590 LOCATE 1,73 : PRINT S$

600 REM (c)1997 Patrick GUEULLE

Осциллограф

Bo многих ситуациях бывает нужно наблюдать формирование кривой в реальном масштабе времени прямо на экране ПК. При этом должна быть предусмотрена возможность распечатки изображения на принтере после вывода на экран или даже в процессе вывода, при включении опции «печать экрана». Такой результат очень просто получить, совместив три программы:

• драйвер АЦП;

• драйвер экрана;

• прикладную программу.

Первые два модуля уже известны, а в качестве третьего может быть использована либо программа CDIRECT.BAS (с экраном CGA), либо VDIRECT.BAS (с экраном VGA).

85 GOSUB 300

200 REM----CDIRECT----

210 GOSUB 100:PSET(0,0) 220 F0RG=1 TO 639 230 GOSUB 100 240 Y=D:GOSUB 500

250 FOR T=0 TO 2000 :NEXT T:REM развертка 260 NEXT G 270 END

415X=0:RETURN

500 Y=199-INT(Y*199/5)



[0] [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] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46]

0.001