|
Программа выводит в верхнем левом углу экрана величину напряжения (в вольтах), поданного на вход модуля преобразователя. Эта величина подвергается простейшей обработке, поэтому данная программа - одна из самых быстродействующих в «библиотеке», даже при использовании очень медленных ПК.
Применение команды LOCATE, каждый раз возвращающей курсор в верхний левый угол экрана, приводит к замещению старого значения новым. При этом индикация постоянно обновляется со скоростью, равной частоте взятия выборок, т.е. совершенно так же, как в классическом цифровом вольтметре.
Надо обратить внимание на способ, посредством которого измеренная величина округляется до двух знаков после запятой (строка 220), а потом выводится в жестком формате, наиболее соответствующем выбранной точности (строка 240). Подобное решение будет часто использоваться и в дальнейшем.
Эта программа рассчитана на работу совместно с 8- или 10-разрядным АЦП (точность 1%), но ее можно оптимизировать и для работы с 12-разрядным АЦП, исправив строки 220 и 240 следующим образом и обеспечив при этом три индицируемых знака после запятой (те. точность 0,1%):
220 D=INT(1000*D)/1000 240 PRINT USING "##.###";D
He стоит также упускать из виду, что драйвер не выполняет никаких округлений, полностью соблюдая точность преобразователя. Только прикладная программа в соответствии с поставленной задачей должна так или иначе использовать получаемую точность, и не более того. Вывод трех знаков после запятой для 8-разрядного АЦП будет излишним, так как третий знак при этом не несет никакого смысла.
200 REM----BARRE----
210 LOCATE 6,1 220 FOR H=1 TO 5
230 PRINT " |....!....";
240 NEXT H
250 PRINT "|"
260 LOCATE 7, 1
270 PRINT "0 1 2"
280 PRINT "3 4 5"
290 GOSUB100
300 D=INT(10*D)
310 LOCATE 5,1
|
|||||
| |||||