Читайте также:
|
|
Пример выполнения задания
Необходимо выполнить ряд разработок для реализации интерфейса на основе универсального синхронно-асинхронного приемопередатчика:
1. разработать схему сопряжение БИС УСАПП с системным интерфейсом МПС;
2. составить фрагмент программы инициализации БИС УСАПП в асинхронный режим передачи данных;
3. составить фрагмент программы для ввода и вывода данных через последовательный интерфейс.
Вариант | Базовый адрес, h | Настройка УСАПП | Массив данных | Преобразование | Проверка нали-чие ошибок | Вид ошибки | |||||
Число бит | Контроль | Вид контроля | Стоп бит | Делитель | Источник | Приемник | |||||
+ | чет | 1,5 | 1/64 | ВУ | ВУ | + | четность и стоп-бит |
Преобразование: выполнить ввод и вывод данных.
Решение
Базовый адрес – 72h, значит, адрес регистра данных – 72h, а регистра состояния/управления – 73h.
Базовый адрес модуля 0072h – это число переводим в двоичный код – 0000 0000 0111 0010.
Например в схеме сопряжения для построения дешифратора адреса БИС ППИ будем использовать логические элементы. Для подключения логической “1” будем использовать элементы И-НЕ, а “0” – ИЛИ-НЕ. Сопряжение БИС УСАПП с системными шинами может иметь вид как на рисунке 1 (построено на логических элементах) или как на рисунке 2 (с использованием дешифратора).
Управляющее слово инициализации имеет вид
стоп-бит | чет/нечет | контр | длина слова, бит | делитель | ||||
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
=BF h |
Операционное управляющее слово имеет вид 00010001. Единичное значение бита D0 разрешает передачу, бит D4 сбрасывает значения разрядов ошибок в исходное состояние, нулевое значение D3 определяет нормальную работу канала передачи.
Фрагмент программы инициализации в кодах i8086 имеет вид
MOV AL, 10111111b; в AL управляющее слово
OUT 73h, AL; запись управляющего слова в регистр управления
MOV AL, 00010001b; в AL операционное управляющее слово
; сброс битов ошибок в исходное состояние
; и разрешение передачи
OUT 73h, AL; запись операционного управляющего слова в регистр управления
Фрагмент программы инициализации в кодах i8051 имеет вид
MOV DPTR, #73h; в DPTR адрес регистра управления/состояния
MOV A, #10111111b; в A управляющее слово
MOVX @DPTR, A; запись управляющего слова в регистр управления
MOV A, #00010001b; в A операционное управляющее слово
; сброс битов ошибок в исходное состояние
; и разрешение передачи
MOVX @DPTR, A; запись операционного управляющего слова
; в регистр управления
Рисунок 1. Схема сопряжения БИС УСАПП с системными шинами МПС
Рисунок 2. Схема сопряжения БИС УСАПП с системными шинами МПС
Фрагмент программы решения поставленной задачи в кодах i8086
M1:
IN AL, 73h; чтение слова состояния
MOV BL, AL; временно сохраняем
AND AL, 00000010b; выделяем бит D2
JZ M1; если приемник не готов опять опрос состояния
MOV AL, BL; в AL возвращаем слово состояния
AND AL, 00101000b; выделяем биты D6 и D4
JNZ M2; если есть ошибки не принимаем данные
MOV AL, 00010000b; операционное управляющее слово, запрет передачи
OUT 73h, AL; запись операционного управляющего слова
IN AL, 72h; чтение данных
MOV BL, AL; сохраняем введенные данные
M3:
IN AL, 73h; чтение слова состояния
AND AL, 00000001b; выделяем бит D1
JZ M3; если передатчик не готов опять опрос состояния
MOV AL, BL; в AL выводимые данные
OUT 72h, AL; вывод данных
M2:
MOV AL, 00010001b; операционное управляющее слово разрешение передачи
OUT 73h, AL
Фрагмент программы решения поставленной задачи в кодах i8051
M1:
MOV DPTR, #73h; в DPTR адрес регистра управления/состояния
MOVX A, @DPTR73h; чтение слова состояния
MOV B, A; временно сохраняем
ANL A, #00000010b; выделяем бит D2
JZ M1; если приемник не готов опять опрос состояния
MOV A, B; в A возвращаем слово состояния
ANL A, #00101000b; выделяем биты D6 и D4
JNZ M2; если есть ошибки не принимаем данные
MOV A, #00010000b; операционное управляющее слово, запрет передачи
MOVX @DPTR,A; запись операционного управляющего слова
MOV DPTR, #72h; в DPTR адрес регистра данных
MOVX A, @DPTR; чтение данных
MOV B, A; сохраняем введенные данные
M3:
MOV DPTR, #73h; в DPTR адрес регистра управления/состояния
MOVX A, @DPTR; чтение слова состояния
ANL A, #00000001b; выделяем бит D1
JZ M3; если передатчик не готов опять опрос состояния
MOV A, B; в A выводимые данные
MOV DPTR, #72h; в DPTR адрес регистра данных
MOVX @DPTR,A; вывод данных
M2:
MOV DPTR, #73h; в DPTR адрес регистра управления/состояния
MOV A, #00010001b; в A операционное управляющее слово
; сброс битов ошибок в исходное состояние
; и разрешение передачи
MOVX @DPTR,A; запись операционного управляющего слова
; в регистр управления
Справочная информация:
Промышленностью выпускаются БИС которые в своем составе содержат логические элементы на 2-, 3-, 4- и 8-входов.
Дешифратор К1533ИД7 осуществляет преобразование трёхразрядного двоично-десятичного числа в число от 1 до 7 (естественный счёт).
Таблица истинности
Вход | Выход | |||||||||||
С1 | D1 | D2 | D3 | |||||||||
X L H H H H H H H H | H X L L L L L L L L | X X L H L H L H L H | X X L L H H L L H H | X X L L L L H H H H | H H L H H H H H H H | H H H L H H H H H H | H H H H L H H H H H | H H H H H L H H H H | H H H H H H L H H H | H H H H H H H L H H | H H H H H H H H L H | H H H H H H H H H L |
| |||||||
D1 | #Y0 | ||||||
2 | |||||||
D2 | #Y1 | ||||||
3 | |||||||
D3 | #Y2 | ||||||
#Y3 | |||||||
C1 | #Y4 | ||||||
#C2 | #Y5 | ||||||
#C3 | #Y6 | ||||||
#Y7 | |||||||
Рисунок – Условно-графическое обозначение КР1533ИД7
Микросхема КР1533ИД7 представляет собой дешифратор 3 на 8. При работе микросхемы в качестве дешифратора входы D1, D2, D3 являются информационными, а входы играют роль стробирующих.
Дата добавления: 2015-07-16; просмотров: 51 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Последовательные программы | | | ТЕХНИЧЕСКИЕ данные |