Решение. Пример выполнения задания

Пример выполнения задания

Необходимо выполнить ряд разработок для реализации интерфейса на основе универсального синхронно-асинхронного приемопередатчика:

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
   
DC

     
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 являются информационными, а входы играют роль стробирующих.


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



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