ВУЗ:
36
3. Организовать цикл ожидания готовности, для чего необходим ана-
лиз сигнала «Готовность». Отметим, что в данной ИВС используется деся-
тиразрядный АЦП, тогда как регистры, адресуемые портами, являются
восьмиразрядными (однобайтовыми). Поэтому для записи выходного сиг-
нала АЦП необходимо использовать два регистра адресуемые портами 1 и
2 (см табл.3.1). Содержимое этих регистров представляет собой разделен-
ное на два байта 16-ти разрядное слово состояния интерфейса.
Значения отдельных битов этого слова иллюстрирует табл.3.2, из которой
видно, что значение сигнала готовности (бит Г –“Готовность”) находится
во втором разряде старшего байта этого слова, биты D0-D9 содержат дан-
ные, получаемые с выхода АЦП, а остальные биты не используются. При
этом D0-D7 находятся в регистре, адресуемом по адресу 1000 (порт 1); D8,
D9, Г – в регистре по адресу 1001 (порт 2).
Таблица 3.2
Порт 1001 Порт 1000
1
15
1
14
1
13
1
12
1
11
Г
10
D9
9
D8
8
D7
7
D6
6
D5
5
D4
4
D3
3
D2
2
D1
1
D0
0
Для того, чтобы выделить бит готовности, используется стандартная
операция-«and» (побитовое умножение). Для этого необходимо произве-
сти операцию побитового умножения содержимого регистра (порт 1001) и
двоичного числа 00000100 (так называемое «наложение маски»). В деся-
тичной записи это будет число 2
2
= 4. Алгоритм выделения сигнала «Го-
товность» имеет следующий вид:
inport(1001,datah);
ready:=(datah and 4);
Значение переменной
ready
будет равно 0, если АЦП готов к считыванию
и равно 4 – если не готов. Для корректного считывания данных цикл ожи-
дания готовности следует организовать следующим образом:
repeat
inport(1001,datah);
until (datah and 4)<>0;.
4.Чтобы получить выходные данные АЦП, необходимо из слова со-
стояния интерфейса выделить десятибитный выходной код (слово дан-
ных). Для его формирования необходимо выделить младшие два бита из
байта порта 2, сдвинуть их на 8 бит влево (умножить на 256) и прибавить к
PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com
3. Организовать цикл ожидания готовности, для чего необходим ана- лиз сигнала «Готовность». Отметим, что в данной ИВС используется деся- тиразрядный АЦП, тогда как регистры, адресуемые портами, являются восьмиразрядными (однобайтовыми). Поэтому для записи выходного сиг- нала АЦП необходимо использовать два регистра адресуемые портами 1 и 2 (см табл.3.1). Содержимое этих регистров представляет собой разделен- ное на два байта 16-ти разрядное слово состояния интерфейса. Значения отдельных битов этого слова иллюстрирует табл.3.2, из которой видно, что значение сигнала готовности (бит Г –“Готовность”) находится во втором разряде старшего байта этого слова, биты D0-D9 содержат дан- ные, получаемые с выхода АЦП, а остальные биты не используются. При этом D0-D7 находятся в регистре, адресуемом по адресу 1000 (порт 1); D8, D9, Г – в регистре по адресу 1001 (порт 2). Таблица 3.2 Порт 1001 Порт 1000 1 1 1 1 1 Г D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Для того, чтобы выделить бит готовности, используется стандартная операция-«and» (побитовое умножение). Для этого необходимо произве- сти операцию побитового умножения содержимого регистра (порт 1001) и двоичного числа 00000100 (так называемое «наложение маски»). В деся- тичной записи это будет число 22= 4. Алгоритм выделения сигнала «Го- товность» имеет следующий вид: inport(1001,datah); ready:=(datah and 4); Значение переменной ready будет равно 0, если АЦП готов к считыванию и равно 4 – если не готов. Для корректного считывания данных цикл ожи- дания готовности следует организовать следующим образом: repeat inport(1001,datah); until (datah and 4)<>0;. 4.Чтобы получить выходные данные АЦП, необходимо из слова со- стояния интерфейса выделить десятибитный выходной код (слово дан- ных). Для его формирования необходимо выделить младшие два бита из байта порта 2, сдвинуть их на 8 бит влево (умножить на 256) и прибавить к 36 PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com
Страницы
- « первая
- ‹ предыдущая
- …
- 35
- 36
- 37
- 38
- 39
- …
- следующая ›
- последняя »