5. Программное обеспечение виртуального измерительного комплекса
В начале программы находится драйвер, соответствующий выбранному АЦП - либо готовому, либо собранному самостоятельно по описанию, которое приведено в этой книге.
Каждый драйвер был написан в соответствии со спецификациями, представленными изготовителями используемых компонентов, причем особое внимание уделялось временным диаграммам протоколов связи. Драйверы можно рассматривать как ПО, поставляемое «под ключ», но допустимо также модифицировать их в самых разных целях.
Первый блок каждого драйвера (строки 10-90) проводит инициализацию последовательного или параллельного порта, используемого для связи, и обеспечивает подачу напряжения питания на подключенный к нему АЦП. Блок заканчивается командой GOTO 200, передающей управление собственно прикладной программе (строки 200-290). Эта программа универсальна, она зависит только от выполняемой задачи, но ни в коей мере - от -применяемого АЦП. Поэтому заменить драйвер при смене АЦП (например, при переходе от 8-разрядного к 12-разрядному) очень просто.
Прикладная программа может сама обращаться ко второму блоку драйвера (строки 100-190) настолько часто, насколько требуется. Эта часть драйвера отвечает за выполнение одного - и только одного - аналого-цифрового преобразования и за размещение результата (величины напряжения в диапазоне от 0 до 5В) в переменной D. Только прикладная программа определяет, с какой скоростью будут проводиться преобразования, надо ли комбинировать полученные значения перед выводом результата и каков будет способ обработки результата (цифровое табло, построение кривой, запись на диск, включение сигнала и т.п.).
Если не хватит места между строками 200 и 290 программы, можно поместить оператор GOTO в строке 290, что позволит продолжать работу, например, со строки 2000. Еще одна зарезервированная область, начиная со строки 300, предназначена для операторов вывода графики. Блок между строками 300 и 490 отведен для операторов инициализации экрана (выбор графического режима, построение координатной сетки, определение цветов и т.п.). Процедура вывода результатов на экран начинается со строки 500. Именно прикладная программа (строки 200-290) будет в нужный момент вызывать графическую подпрограмму командой GOSUB 500. Очевидно, что понадобится использовать графические процедуры, предназначенные для каждого из экранных режимов (CGA, VGA и т.п.), хотя режим CGA, например, без проблем (и даже с некоторыми преимуществами) поддерживается всеми современными графическими платами.
Страницы: 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
|