Как превратить персональный компьютер в измерительный комплекс | страница 38
Первый блок каждого драйвера (строки 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, например, без проблем (и даже с некоторыми преимуществами) поддерживается всеми современными графическими платами.
Драйверы для 8-разрядных АЦП
На сервере www.dmk.ru содержатся драйверы для четырех 8-разрядных АЦП:
• АЦП АDС 10 компании PICO Technology;
• версия АЦП на базе TLC 549 (рис. 4.1, 4.3);
• версия АЦП на базе МАХ 1243 (рис. 4.6);
• версия АЦП на базе TLC 549 (рис. 4.13, 4.14).
Заметим, что хотя АЦП ADC 10 и собран на базе TLC 549, он требует особого драйвера, так как подключается к параллельному порту. Вполне логично, что версия драйвера для ADC 10 на языке BASIC называется ADC10.BAS.