
5. Содержание отчета
Задание по лабораторной работе;
Функциональная схема микропроцессорного устройства ввода-вывода информации;
Блок-схема алгоритма составляемой программы;
Текст программы с комментариями;
Временная диаграмма обмена информацией.
Пример выполнения задания.
Рассмотрим пример 1.
Исходные данные
-
Вид
числа
ВВ/
ВЫВ
Вид
обмена
Начальный
адрес
Длина
массива
Инициатор
Уровни сигналов
МК
ВУ
УП
ВВ
ПССТ
10
Р1.7
МК
Н
Н
Функциональная схема устройства
Текст программы с комментариями:
org 0
clr P1.5 ; снятие запроса к ВУ
start:
mov R0,10h ; адрес начала массива в ОЗУ
jnb P1.7,$ ; ожидание начала обмена
next:
mov R2,#8 ; число принимаемых бит
input:
setb P1.5 ; запрос к ВУ
jnb P1.4,$ ; ожидание подтверждения от ВУ
mov C,P1.0 ; принять порцию данных
rlc A ; сохранить в аккумуляторе
clr P1.5 ; снять запрос к ВУ
jb P1.4,$ ; ожидание снятия сигнала подтверждения
djnz R2,input ; принят еще один бит и если не все процесс повторить
mov @R0,A ; сохранить принятые данные в памяти
inc R0 ; переход к следующей ячейки памяти
jb P1.7,next ; если не конец обмена, то принимаем следующие данные
jmp start ; если конец обмена, то на начало программы
end
Временная диаграмма обмена ВУ и МК:
Рассмотрим пример 2.
Исходные данные
-
Вид
числа
ВВ/
ВЫВ
Вид
обмена
Начальный
адрес
Длина
массива
Инициатор
Уровни сигналов
МК
ВУ
РАСП
ВЫВ
ПР
R0
ПЦ
ВУ
L
Н
Функциональная схема устройства:
Текст программы с комментариями:
org 0
start:
setb P1.5 ; снять готовность микроконтроллера к обмену
mov A,#0 ; подготовить аккумулятор к приему первой цифры
xchd A,@R0 ; в аккумулятор извлечь первую цифру массива
mov R2,A ; задать счетчик числа выводимых элементов массива
next:
mov P1,#0 ; подготовить Р1 к выводу данных
mov A,#0 ; подготовить аккумулятор к приему элемента массива
xchd A,@R0 ; извлечь текущий элемента массива
jnb P1.4,$ ; ожидать запрос от ВУ
clr P1.5 ; установить сигнал готовности
orl P1,A ; вывести данные
setb P1.5 ; снять сигнал готовности
jb P1.4,$ ; ожидать снятия сигнала запроса
inc R0 ; перейти к следующему элементу массива
djnz R2,next ; число выведенных элементов на один меньше
; и если не все элементы выведены процесс повторить
jmp start ; после вывода всего массива переход на начало программы
end
Временная диаграмма обмена ВУ и МК: