Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Выполнила студентка группы А8-08
Носова Надежда
Билет 7
№1
Нарисовать схему подключения 6- разрядного устройства ввода-вывода информации к микропроцессору через БИС параллельного программируемого интерфейса, запрограммированной на ввод-вывод информации в режиме «2» и алгоритмы программ инициализации схемы и ввода-вывода информации.
Т.к. внешнее устройство 6 разрядное, необходимо использовать порт А (8 разрядное). Порт C используется для управления.
Программная модель:
Порты управления и состояния | Порты в/в | ||||||||||||||||||||||
РУС 03H | РС 02H | РА 00H | |||||||||||||||||||||
09h Устанавливаем в 1 СтрПр и ПЗп для формирования
0Eh запроса прерывания.
Алгоритм работы:
Определения:
ERROR нач. адрес п/п обраб. ошибок
READY нач. адрес п/п обраб. Других ВУ
TDATA нач. адрес данных, принимаемых из ВУ
RDATA нач. адрес данных, передаваемых в ВУ
Программа на ассемблере:
ORG 1000h Начальный адрес п/п Инициализации
DI Запрет прерываний
MVI A, С0h Задание режима работы ППИ
OUT 03h Загрузка регистра управляющего слова
MVI A, 09h Устанавливаем СтрПр=1, для разрешения прерывания
OUT 03h Загрузка регистра управляющего слова
MVI A, 0Eh Устанавливаем ПЗп=1, для разрешения прерывания
OUT 03h Загрузка регистра управляющего слова
EI Разрешение прерываний
RET Возврат из подпрограммы
ORG 1300h Начальный адрес п/п Обработки запроса прерывания
PUSH PSW Cохраняем содержимое А и регистра признаков
PUSH H Cохраняем содержимое регистровой пары HL
IN 02h Считываем слово состояние РС
ANI 00001000 08h Проверяем соответствующий разряд РС на наличие ЗПр
JZ READY При отсутствии перейти к п/п обраб. Других ВУ
IN 02h Считываем слово состояние РС
ANI 00010000 10h Проверяем готовность ВУ передать данные
JZ PD При отсутствии перейти к метке PD – передача данных
LHLD RDATA Загрузка в HL начального адреса для ввода информации
IN 00h Ввод в аккумулятор МП принятого ПСИ символа
MOV M, A Запись принятого символа из А в ОЗУ
INX H Продвижение указателя в зоне приема ОЗУ на 1
SHLD RDATA Фиксация нового адреса RDATA в зоне ОЗУ
JMP EXIT
PD: Метка процедуры передачи данных
IN 02h Считываем слово состояние РС
ANI 01000000 40h Проверяем готовность ВУ принять данные
JZ ERROR При отсутствии перейти к п/п обработки ошибок
LHLD TDATA Загрузка в HL начального адреса для вывода информации
MOV A, M Передача из ОЗУ в аккумулятор МП
OUT 00h загрузка передаваемого символа в порт ввода/вывода данных
INX H Инкремент счётчика команд
SHLD TDATA Фиксация нового адреса ТDATA в зоне ОЗУ
EXIT:
POP PSW Восстановление содержимого регистров
POP H
EI Разрешение прерываний
RET Выход
№2
Разработать аппаратные и программные средства (схему подключения программную модель и фрагменты программ инициализации и информационного обмена с возможностью коррекции ошибок при приёме информации) микропроцессорной системы на базе МП КР 580 и схемы последовательного связного интерфейса (ПСИ) КР 580 ВВ51, обеспечивающей дуплексный режим обмена информацией по телефонным линиям связи (через модем) в асинхронном режиме при 7 битных информационных кодах символов, наличии бита нечетного паритета, 1,5 стоповых битах и скорости приемо-передачи 1:16 от частоты синхронизации приёмника и передатчика.
Программная модель
Слово режима 8AH
Слово команды 37H
Слово состояния 3
Определения:
PIO Порт ввода/вывода данных
PCS Порт управления и состояния
ERR нач. адрес п/п обработки ошибок
TBUF нач. адрес данных, передаваемых из МП
LBUF нач. адрес данных, принимаемых в МП
Программа инициализации на ассемблере:
ORG 1000H Начальный адрес п/п инициализации
DI Запрет прерываний
MVI A, 40H Программный сброс
OUT PCS Загрузка регистра команд
MVI A, 8AH Программирование режима
OUT PCS Загрузка регистра режима
MVI A, 37H Запись команды
OUT PCS Загрузка регистра команд
EI Разрешение прерываний
RET Выход
Подпрограмма вывода (передачи):
ORG 1300H начальный адрес п/п передачи
PUSH PSW запись в стек PSW
PUSH H запись в стек HL пары
L1: IN PCS чтение регистра состояния
ANI 02H 00000010 ГПр = 1?
JZ L1 если нет, то переход по метке L1
L2: IN PCS чтение регистра состояния
ANI 01H 00000001 ГПд = 1?
JZ L2 если нет, то переход по метке L2
LHLD LBUF загрузка начального адреса LBUF
MOV A, M запись передаваемых данных в аккумулятор
OUT PIO загрузка передаваемых данных в ПСИ
INX H увеличение H
SHLD LBUF фиксация нового адреса LBUF
POP H восстановление из стека значения H
POP PSW восстановление из стека значения PSW
EI разрешение прерываний
RET выход
Подпрограмма ввода (приема):
ORG 1400H начальный адрес п/п приема
PUSH PSW запись в стек PSW
PUSH H запись в стек HL пары
L3 IN PCS чтение регистра состояния
ANI 01H 00000001 ГПд = 1?
JZ L3 если нет, то переход на метку L3
L4 IN PCS чтение регистра состояния
ANI 02H 00000010 ГПр = 1?
JZ L4 если нет, то переход по метке L4
LHLD TBUF загрузка начального адреса TBUF
IN PIO чтение в аккумулятор принятого сигнала ПСИ
MOV M, A запись из аккумулятора в TBUF
INX H увеличение H
SHLD TBUF фиксация нового адреса TBUF
IN PCS чтение регистра состояния
ANI 38H 00111000 ошибка при чтении?
JNZ ERR если да, то переход к п/п ERR
POP H восстановление из стека значения H
POP PSW восстановление из стека значения PSW
EI разрешение прерываний
RET выход
Дата публикования: 2015-07-22; Прочитано: 196 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!