Каталог :: Программирование и комп-ры

Контрольная: Передача массива информации в параллельном формате между двумя микроЭВМ КР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) – выход ППРИ, информирующий микропроцессор о завершении вывода информации в канале; Для операции ввода необходимо записать управляющее слово:
D7D6D5D4D3D2D1D0
10110111
А для производства операции вывода необходимо записать управляющее слово:
D7D6D5D4D3D2D1D0
10100100
Схема подключения КР580ВВ55 показана на рис. 2. Рис. 2. Схема подключения КР580ВВ55.

Контрольная работа № 2.

Задание.

Разработать программу, обеспечивающую работу двухпроцессорной системы в указанном режиме по алгоритму a) Передача массива информации из ведущей в ведомую микро ЭВМ. b) Размещение информации в ведомой микро ЭВМ Исходные данные: a) Длина массива информации (64/номер зачетки) ~= 8 байт b) Адрес параллельного порта на БИС К580ВВ55А – 90 c) Адрес расположения массива данных – 90

Текст разработанной программы:

Передача массива информации из ведущей в ведомую микро ЭВМ.

Адрес команды

Машинный код

Ассемблер

Пояснение

00000111110MVI A, 0A4HЗапись в аккумулятор управляющего слова.
00200100001LXI HL, 05AHЗагрузка адреса начала массива (90)
00500010110MVI D, 08HКоличество элементов массива (8)
00711010011OUT 05AHЗапись управляющего слова в порт
00911011011WAIT: IN 05AHСчитывание из канала С
00B11100110ANI 20HВыбираем 6 бит
00D11001010J2 WAITПереход по готовности
01000101010LDAX HLЗагрузка в аккумулятор байта из памяти
01311010011OUT 05BHЗапись в порт 1-го слова массива
01500100011INX HLИнкремент указателя на массив
01600010101DCB DДекремент счетчика
01700111110MVZ A, 00HОбнуляем аккумулятор
01910100010ANA DПроверка, что счетчик еще на равен нулю
01A11000010JNZ WAITПереход на начало пересылки, если еще не весь массив послан
01E01110110HLTОстанов программы

Размещение массива в памяти ведомой микро ЭВМ.

Адрес команды

Машинный код

Ассемблер

Пояснение

00000111110MVI A, 0ADHЗапись в аккумулятор управляющего слова.
00200100001LXI HL, 05AHЗагрузка адреса начала массива (90)
00500010110MVI D, 08HКоличество элементов массива (8)
00711011011WAIT: IN 05AHСчитывание из канала С
00911100110ANI 04HВыбираем 3 бит
00A11001010J2 WAITПереход по готовности
00E11011011IN 05BHСчитывание принятого байта
01000100010STAX HLЗапись принятого байта в память
01100100011INX HLИнкремент указателя на массив
01200010101DCB DДекремент счетчика
01300111110MVI A, 010HЗапись в аккумулятор управляющего слова.
01511010011OUT 05AHЗаписываем управляющее слово в канал С
01700111110MVI A, 00HОбнуляем аккумулятор
01910100010ANA DПроверка счетчика
01A11000010JN2 WAITЕсли не ноль, переход на метку WAIT
01D01110110HLTОстанов программы