Смекни!
smekni.com

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

Белорусский Государственный Университет Информатики и Радиоэлектроники.

Контрольная работа

по дисциплине

«ММПС»

Выполнил студент группы 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 LDAXHL Загрузка в аккумулятор байта из памяти
013 11010011 OUT 05BH Запись в порт 1-го слова массива
015 00100011 INXHL Инкремент указателя на массив
016 00010101 DCBD Декремент счетчика
017 00111110 MVZ A, 00H Обнуляем аккумулятор
019 10100010 ANAD Проверка, что счетчик еще на равен нулю
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 STAXHL Запись принятого байта в память
011 00100011 INXHL Инкремент указателя на массив
012 00010101 DCBD Декремент счетчика
013 00111110 MVI A, 010H Запись в аккумулятор управляющего слова.
015 11010011 OUT 05AH Записываем управляющее слово в канал С
017 00111110 MVI A, 00H Обнуляем аккумулятор
019 10100010 ANAD Проверка счетчика
01A 11000010 JN2 WAIT Если не ноль, переход на метку WAIT
01D 01110110 HLT Останов программы