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

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

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

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

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

«ММПС»

Выполнил студент группы 500501

Балахонов Е.В.

Минск, 2000 г.

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

Задание.

Разработать МПС для передачи массива информации в параллельном формате

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

сопряжения должно обеспечивать однонаправленный обмен информацией по

параллельному каналу связи, где одна микро ЭВМ – ведущая, в другая –

ведомая (без контроля правильности). В качестве сигналов управления

использовать разряды канала С.

Описание микросхемы КР580ВВ55А.

Предложенная в задании микросхема КР580ВВ55 предназначена для ввода и

вывода информации через параллельный интерфейс.

Рассмотрим структурную схему данной БИС и алгоритм ее работы:

Структурная схема КР580ВВ55 представлена на рис. 1.

Сигналы управления работой ППИ подаются на блок RWCU и вместе с

адресными входами A0 и A1 задают вид операции, выполняемой БИС. Режим

работы каждого из каналов ППИ программируется при помощи управляющего

слова. Управляющее слово может задавать один из трех режимов работы:

основной режим ввода /вывода (режим 0), стробируемый режим ввод/вывод и

режим двунаправленной передачи информации (режим 2). Одним управляющим

словом можно программно установить любые режимы работы для каждого из

каналов.

[pic]

Рис. 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.

[pic]

Рис. 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 |Останов |

| | | |программы |