Цифровой вольтметр.
Схемы | Программы | Библиотека | Все для сотового | Компьютеры | Поиск |
Чат | Форум | Ссылки | Рефераты | Гостевая |
Очень короткая программа VOLTS.BAS прекрасно подходит для первых шагов в изучении только что собранного или купленного АЦП, но также пригодна и для более общих задач. 200 REM----VOLTS---- 210 GOSUB 100 220 D=INT(100*D)/100 230 LOCATE 1,1 240 PRINT USING"##.##";D 250 GOTO 210 260 REM (c)1997 Patrick GUEULLE Программа выводит в верхнем левом углу экрана величину напряжения (в вольтах), поданного на вход модуля преобразователя. Эта величина подвергается простейшей обработке, поэтому данная программа - одна из самых быстродействующих в «библиотеке», даже при использовании очень медленных ПК. Применение команды 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=l TO 5 230 PRINT" |....!...."; 240 NEXT H 250 PRINT"I" 260 LOCATE 7,1 270 PRINT"0 12"; 280 PRINT"3 4 5" 290 GOSUB 100 300 D=INT(10*D) 310 LOCATE 5,1 320 PRINT SPC(D);"| "; 330 PRINT SPC(50-D) 340 GOTO 290 350 REM (c)1997 Patrick GUEULLE Программа BARRE.BAS, в свою очередь, показывает, как легко можно организовать вывод аналоговой штриховой шкалы.
Эта форма представления результата, менее точная, чем цифровая индикация, гораздо более удобна, когда требуется лишь оценить направление и скорость изменений или отклонений измеряемой величины, например, при ручной регулировке или настройке. В приведенном примере шкала построена на базе ASCII-символов, но такая же шкала может быть выполнена и в графическом режиме экрана.
|
--------------------------------------------------------------------------------------------------------------------------------------------