Передача массива информации в параллельном формате между двумя микроЭВМ КР580ВН80А с использованием БИС КР580ВВ55

Белорусский Государственный Университет Информатики и Радиоэлектроники.
Контрольная работа
по дисциплине
«ММПС»
Выполнил студент группы 500501
Балахонов Е.В.
Минск, 2000 г.
Контрольная работа № 1.
Задание.
Разработать МПС для передачи массива информации в параллельном формате
между двумя микро ЭВМ КР580ВН80А с использованием БИС КР580ВВ55. Устройство
сопряжения должно обеспечивать однонаправленный обмен информацией по
параллельному каналу связи, где одна микро ЭВМ – ведущая, в другая – ведомая (без
контроля правильности). В качестве сигналов управления использовать разряды канала С.
Описание микросхемы КР580ВВ55А.
Предложенная в задании микросхема КР580ВВ55 предназначена для ввода и
вывода информации через параллельный интерфейс.
Рассмотрим структурную схему данной БИС и алгоритм ее работы:
Структурная схема КР580ВВ55 представлена на рис. 1.
Сигналы управления работой ППИ подаются на блок RWCU и вместе с адресными
входами A0 и A1 задают вид операции, выполняемой БИС. Режим работы каждого из
каналов ППИ программируется при помощи управляющего слова. Управляющее слово
может задавать один из трех режимов работы: основной режим ввода /вывода (режим 0),
стробируемый режим ввод/вывод и режим двунаправленной передачи информации
(режим 2). Одним управляющим словом можно программно установить любые режимы
работы для каждого из каналов.
Рис. 1. Структурная схема БИС КР580ВВ55.
Выбор режима работы и подключения
В нашей ситуации предпочтительнее использовать режим 1, который как раз и
обеспечивает заданный в задании однонаправленную параллельную передачу данных. Мы
будем использовать линии канала А для передачи данных, а линии С, как и указано в
задании, для передачи управляющих сигналов.
В выбранном режиме 1 используются следующие сигналы:
- строб приема (STB) – входной сигнал, формируемый внешним устройством,
указывает на готовность к вводу информации;
- подтверждение приема (IBF) – выходной сигнал ППИ, сообщающий об
окончании приема данных в канал, формируется по спаду STB;
- запрос прерывания (INTR) – выходной сигнал ППИ, информирующий
микропроцессор о завершении приема информации в канале;
Для вывода информации в режиме 1 используются следующие управляющие
сигналы:
- строб записи (OBF) – выходной сигнал, указывающий о готовности к выводу;
- подтверждение записи (ACK) – выходной сигнал, подтверждающий прием
информации из ППИ;
- запрос прерывания (INTR) – выход ППРИ, информирующий микропроцессор о
завершении вывода информации в канале;
Для операции ввода необходимо записать управляющее слово:
D7
D6
D5
D4
D3
D2
D1
D0
1
0
1
1
0
1
1
1
А для производства операции вывода необходимо записать управляющее слово:
D7
D6
D5
D4
D3
D2
D1
D0
1
0
1
0
0
1
0
0
Схема подключения КР580ВВ55 показана на рис. 2.
Рис. 2. Схема подключения КР580ВВ55.
Контрольная работа № 2.
Задание.
Разработать программу, обеспечивающую работу двухпроцессорной системы в
указанном режиме по алгоритму
a) Передача массива информации из ведущей в ведомую микро ЭВМ.
b) Размещение информации в ведомой микро ЭВМ
Исходные данные:
a) Длина массива информации (64/номер зачетки) ~= 8 байт
b) Адрес параллельного порта на БИС К580ВВ55А – 90
c) Адрес расположения массива данных – 90
Текст разработанной программы:
Передача массива информации из ведущей в ведомую микро ЭВМ.
Адрес команды
Машинный код
Ассемблер
Пояснение
000
00111110
MVI A, 0A4H
Запись в аккумулятор
управляющего слова.
002
00100001
LXI HL, 05AH
Загрузка адреса начала
массива (90)
005
00010110
MVI D, 08H
Количество элементов
массива (8)
007
11010011
OUT 05AH
Запись управляющего слова
в порт
009
11011011
WAIT: IN 05AH
Считывание из канала С
00B
11100110
ANI 20H
Выбираем 6 бит
00D
11001010
J2 WAIT
Переход по готовности
010
00101010
LDAX HL
Загрузка в аккумулятор
байта из памяти
013
11010011
OUT 05BH
Запись в порт 1-го слова
массива
015
00100011
INX HL
Инкремент указателя на
массив
016
00010101
DCB D
Декремент счетчика
017
00111110
MVZ A, 00H
Обнуляем аккумулятор
019
10100010
ANA D
Проверка, что счетчик еще
на равен нулю
01A
11000010
JNZ WAIT
Переход на начало
пересылки, если еще не
весь массив послан
01E
01110110
HLT
Останов программы
Размещение массива в памяти ведомой микро ЭВМ.
Адрес команды
Машинный код
Ассемблер
Пояснение
000
00111110
MVI A, 0ADH
Запись в аккумулятор
управляющего слова.
002
00100001
LXI HL, 05AH
Загрузка адреса начала
массива (90)
005
00010110
MVI D, 08H
Количество элементов
массива (8)
007
11011011
WAIT: IN 05AH
Считывание из канала С
009
11100110
ANI 04H
Выбираем 3 бит
00A
11001010
J2 WAIT
Переход по готовности
00E
11011011
IN 05BH
Считывание принятого
байта
010
00100010
STAX HL
Запись принятого байта в
память
011
00100011
INX HL
Инкремент указателя на
массив
012
00010101
DCB D
Декремент счетчика
013
00111110
MVI A, 010H
Запись в аккумулятор
управляющего слова.
015
11010011
OUT 05AH
Записываем управляющее
слово в канал С
017
00111110
MVI A, 00H
Обнуляем аккумулятор
019
10100010
ANA D
Проверка счетчика
01A
11000010
JN2 WAIT
Если не ноль, переход на
метку WAIT
01D
01110110
HLT
Останов программы
1