Как превратить персональный компьютер в измерительный комплекс | страница 44



220 D=INT(1000*D)/1000

240 PRINT USING "##.###"; D

Не стоит также упускать из виду, что драйвер не выполняет никаких округлений, полностью соблюдая точность преобразователя. Только прикладная программа в соответствии с поставленной задачей должна так или иначе использовать получаемую точность, и не более того. Вывод трех знаков после запятой для 8-разрядного АЦП будет излишним, так как третий знак при этом не несет никакого смысла.


200 REM — BARRE —

210 LOCATE 6,1

220 FOR H=1 TO 5

230 PRINT "I….!..";

240 NEXT H

250 PRINT " I "

260 LOCATE 7,1

270 PRINT "0___1___2___"

280 PRINT "3___4___5"

290 GOSUB 100

300 D=INT(10*D)

310 LOCATE 5,1

320 PRINT SPC (D);" I";

330 PRINT SPC (50-D)

340 GOTO 290

350 REM (c) 1997 Patrick GUEULLE


Программа BARRE.BAS, в свою очередь, показывает, как легко можно организовать вывод аналоговой штриховой шкалы.



Эта форма представления результата, менее точная, чем цифровая индикация, гораздо более удобна, когда требуется лишь оценить направление и скорость изменений или отклонений измеряемой величины, например, при ручной регулировке или настройке. В приведенном примере шкала построена на базе ASCII символов, но такая же шкала может быть выполнена и в графическом режиме экрана.


Усредняющий фильтр

Наиболее распространенный способ подавления быстрых флуктуаций (часто паразитных) в медленно изменяющемся сигнале состоит в вычислении среднего значения нескольких выборок, относящихся к одному интервалу дискретизации. Конечно, этот способ может замедлить работу системы, и поэтому он применен в двух программах, выводящих результат один раз в секунду (SECONDE.BAS) и один раз в минуту (MINUTE.BAS).


200 REM — SECONDE —

210 Q=0: S=0: GOSUB 100

220 LOCATE 5,1

230 PRINT "Идет измерение…"

240 H$=TIME$

250 IF H$<>TIME$ THEN BEEP: GOTO 290

260 GOSUB 100

270 S=S+D: Q=Q+1

280 GOTO 250

290 D=INT(100*S/Q)/100

300 LOCATE 1,1

310 PRINT USING "##.##";D;

320 PRINT "(среднее за"; Q; " измерений)"

330 GOTO 210

340 REM (c) 1997 Patrick GUEULLE


Кроме вычисления результата измерений, каждая из этих программ выводит и количество измерений, которое было использовано при его вычислении. Это позволяет точно оценить реальное быстродействие сиcтемы в зависимости от применяемого ПК Так, можно получить 3–4 измерения в секунду на «антикварном» ПК 8088/4,77 МГц, 60–70 измерений в секунду на 386SX25 и 700-1000 измерений в секунду на 486 DX/133 МГц, что все же достаточно далеко от современных скоростей, но весьма почетно для BASIC-интерпретатора.