Передача массива информации в параллельном формате между двумя микроЭВМ КР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.



Задание.



	Разработать программу, обеспечивающую работу двухпроцессорной системы в указанном режиме по алгоритму 

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

Размещение информации в ведомой микро ЭВМ



Исходные данные:



Длина массива информации (64/номер зачетки) ~= 8 байт

Адрес параллельного порта на БИС К580ВВ55А – 90

Адрес расположения массива данных – 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