Регистр состояния

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-ой бит.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: