8-ми разрядный, адрес +2, указывает состояние АЦП и счетчиков – таймеров, доступен ЦП только для чтения.
T 2 | T 1 | T 0 |
3-тий бит – бит состояния АЦП. После запуска АЦП бит состояния устанавливается на время выполнения преобразования и обратно сбрасывается по окончании преобразования.
Регистр запуска 8-ми разрядный, адрес +4, запись произвольного значения в регистр запускает АЦП на измерение.
5.2 Алгоритм одноканальных измерений входного сигнала
1. Установка режима измерения: номер канала, режим подключения входного сигнала, диапазон измерения, задержка на время переключения канала.
2. Однократные измерения в выбранном канале: запуск на измерение, проверка готовности данных, чтение данных из регистра данных.
3. Преобразование кодов в значение сигнала.
4. Представление результата (сигнала) в требуемой форме.
Первые два пункта алгоритма измерения выполняются специальной программой — инструментальным драйвером устройства.
Инструментальный драйвер – набор процедур, которые выполняют команды, необходимые для функционирования аппаратных средств системы.
Пример: Реализация алгоритма измерения входного сигнала напряжения по готовности АЦП.
Условия измерения: 1-ый канал мультиплексора, диапазон измерения: , дифференциальный режим подключения входного сигнала.
Program Demo _ Read _ ADC;
var i, U: integer;
Procedure wait (i: word);
Begin for j:=1 to I do end; {Обеспечивает задержку}
begin
Port [$302]:=$40; {Установка режима, диапазона, канала.}
wait (‘?’); {Задержка 4 мкс. на время переключения канала мультиплексора.}
Port [$304]:=$ FF; {Запуск АЦП на измерение}
asm NOP end; {Задержка несколько наносекунд для запуска АЦП.}
while (Port [$302]>=$ F 8) do; {Проверка окончания измерения.}
U:= PortW [$300]; {Чтение данных из регистра данных АЦП}
writeln (‘Напряжение на выходе 1-го канала’, 0.5*(U -2048), ‘[мВ]’);{Преобразование и вывод данных.}
end.
5.3. Методика управления и оценки состояния внешних устройств
Для управления любым устройством используется информация из регистра интерфейса. В интерфейс вводятся регистры управления. Приказы ВУ передаются в виде последовательности слов с определенным набором нулей и единиц. Регистры управления процессору всегда доступны для записи и не всегда доступны для чтения. Если регистр управления доступен для чтения, можно узнать последнее управляющее слово.
Оценка состояния простого внешнего устройства производится с помощью флага готовности. Если устройство может выполнять несколько операций, то для проверки состояния используется слово состояния.
Для оценки состояния процессор должен прочитать регистр и проанализировать отдельные биты регистра. Зачастую приходится выполнять манипуляции с отдельными битами регистров.
5.4. Проверка, установка, сброс отдельных разрядов регистра ВУ
Для проверки, установки или сброса отдельных разрядов регистров чаще всего используются логические операции: ИЛИ, И, НЕ.
С целыми переменными указанные операции выполняются столько раз, сколько бит содержит переменная.
Операция ИЛИ – используется для установки битов в регистре ВУ или ячейке ОЗУ. Для установки битов операция выполняется над содержимым регистра и вспомогательного слова, у которого установлены те биты, которые требуется установить в результате.
Пример: Установить бит 7 регистра.
01010101 – регистр, 1 0000000 – вспомогательное слово.
Выполним операцию “ИЛИ” и получим: 11010101 – установлен в результате бит 7.
Операция И – применяется для сброса или проверки отдельных разрядов регистра ОЗУ или ВУ.
Для сброса выполняется операция “И” над содержимым регистра и вспомогательного слова, у которого установлены все биты кроме сбрасываемых.
Пример: 1 0101010 – регистр, 01111111 – вспомогательное слово.
Выполним операцию “И” и получим: 00101010 – сбросили 7-ой бит.
Для проверки отдельных битов в регистре ВУ или ОЗУ необходимо выполнить операцию “И” над содержимым регистра и вспомогательного слова, у которого сброшены все биты кроме тестируемых.
Пример: Проверить бит 7.
10101010 – регистр, 1 0000000 – вспомогательное слово.
Выполним операцию “И” и получим: 10000000 – проверили 7-ой бит.