Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
(arhidem) Курсовик по МП.docx
Скачиваний:
15
Добавлен:
25.11.2018
Размер:
964.92 Кб
Скачать

3 Разработка программных средств мпс

3.1 Постановка и формулировка задачи

Перед работой все контроллеры необходимо запрограммировать, т.е. загрузить управляющие слова в регистры управляющего слова

В соответствии с заданием необходимо инициализировать БИС интерфейсного модуля на следующие режимы работы МПС.

- обеспечить параллельный ввод-вывод информации дисковода и 8светодиодов, 2х ключей ,с помощью БИС КР580ВВ55 (ППИ). Светодиоды подключены к КВ, поэтому настроим КВ на 0 режима работы; дисковод подключен к КА, который должен работать во 2 режиме.

Для обеспечения заданных режимов ППИ необходимо загрузить УС в РУС по адресу 4B;

- обеспечить передачу информации в режиме ПДП от УВВ, с помощью БИС КР580ВТ57 (КПДП). УВВ1 подключено к К2 и оно передаёт 5000 байт в ОЗУ на страницу,, начиная с первого адреса 32 страницы 8000h. УВВ2 подключено к К1 и передает 900 байт из памяти в УВВ с 36 страницы с адреса 9389h.

КПДП работает в режиме нормальной записи, с фиксированным приоритетом и без автозагрузки.

Для обеспечения заданного режима КПДП необходимо запрограммировать К1 и К0 т.е. загрузить информацию в регистры К1- РА1, РЦ1, РУ1 и в регистры К0 РА0, РЦ0, РУ0, а также загрузить регистр режима (РР).

Обеспечить режим прерывания от 2 х УВВ (1 УВВ, дисковод,8светодиодов,2ключа). Зададим область векторов прерываний на 32 странице ОЗУ с адреса 8000h, вектора располагаются через 4 байта

Для обеспечения режима прерываний необходимо загрузить УСИ1 и УСИ2 в ПКП.

Таблица 11 Распределение адресного пространства ОЗУ

стр

Адрес памяти

32

8000

83FF

Ввод 5000 байт из УВВ1 в режиме ПДП

33

8400

87FF

34

8800

8BFF

35

8C00

8FFF

36

9000

9388

9389

93FF

Вывод 900 байт в УВВ1

Продолжение таблицы 11

стр

Адрес памяти

37

9400

970C

970D

97FF

Вывод 900 байт в УВВ1

Вектор прерываний

3.1.1 Инициализация ППИ

Нам необходимо подключить дисковод,8светодиодов и 2ключа.Дисковод работает в режиме - 2, светодиоды и ключи в режиме 0. Адрес ППИ в системе Е0 Дисковод подключен к КА, светодиоды к КВ, ключи к КС

Определим адреса каналов:

Т.к. адрес ППИ в системе 84, то

КА = Е0 h = 1 1 1 0 0 0 0 0 b

КВ = Е1h = 1 1 1 0 0 0 0 1 b

КС = Е2 h = 1 1 1 0 0 0 1 0 b

РУС = Е3 h = 1 1 1 0 0 0 1 1 b

Сформируем управляющее слово инициализации ППИ:

D7

D6

D5

D4

D3

D2

D1

D0

HEX

1

1

0

0*

1

0

0

0

=С0h

УС= 1 1 0 0* 0 0 0 0 = С0 h;

D7 = 1 - признак управляющего слова;

D6,D5 =0 1 кА работает в режиме 1

D4 = 0 безразлично, т.к. КА настроен как на ввод, так и на вывод

D3 = 1 Кс настроен на ввод

D2 = 0 - кВ работает в режиме 0

D1 = 1 - кВ настроен на вывод

D0 = 0 т.к. кС работает в режиме 0

УСМБ 1

D7

D6

D5

D4

D3

D2

D1

D0

HEX

0

0

0

0

0

0

0

1

09h

УС= 0 0 0 0 0 0 0 1 = 01h

D7=0, т.к. признак УСМБ

D6D5D4= ***, т.е. безразлично

D3D2D1=000, т.к. С0

D0=1, т.е. прерывание разрешено

УСМБ 2

D7

D6

D5

D4

D3

D2

D1

D0

HEX

0

0

0

0

1

1

0

1

0Dh

УС= 0 0 0 0 1 1 0 1 = 0Dh

D7=0, т.к. признак УСМБ

D6D5D4= ***, т.е. безразлично

D3D2D1=110, т.к. С6

D0=1, т.е. прерывание разрешено

УСМБ 3

D7

D6

D5

D4

D3

D2

D1

D0

HEX

0

0

0

0

0

1

0

1

05h

УС= 0 0 0 0 1 1 0 1 = 05h

D7=0, т.к. признак УСМБ

D6D5D4= ***, т.е. безразлично

D3D2D1= 010, т.к. С2

D0=1, т.е. прерывание разрешено

Программа инициализации ППИ на языке Assembler

DI ;запрет прерывания

MVI A,С0 ; УС = С0h Ак.

OUT Е3 ; Ак. = УС= С0h ППИ(РУС)

MVI A, 09 ; УСМБ1 = 09h Ak

OUT 4B ; Ak =УСМБ1 = 09 РУС

MVI A, 09 ; УСМБ2 = 0Dh Ak

OUT 4B ; Ak =УСМБ2 = 0D РУС

MVI A, 05h ; УСМБ3 = 05h Ak

OUT 4B ; Ak = УСМБ3 = 05h РУС

EI ; разрешение прерываний

3.1.2 Инициализация КПДП

Перед работой КПДП необходимо его инициализировать, т.е. загрузить необходимые данные в следующие регистры каналов:

Согласно заданию к КПДП для организации режима ПДП подключаются 2 УВВ:

УВВ1 к каналу 2, работает на ввод 5000 байт на 32 страницу памяти (адрес 8000h);

УВВ2 к каналу 1, работает на вывод 900 байт из 36 страницы памяти (адрес 9389h);

Формирование сигналов для программирования каналов

УВВ1 подключено к каналу 2, работает на ввод 5000 байт на 32 страницу памяти (адрес 8000h);

РА0=8000h (32 страница ОЗУ)

РЦ0=500010-110=499910=1387h=0001 0011 1000 0111 2

РУ0=012 т.к ввод

(РУ+РЦ)0=0100 0001 0011 1000 0111 2=41387h

УВВ2 подключено к каналу 1, работает на вывод 900 байт из 36 страницы памяти (адрес 9389h););

РА1=9389h (36 страница ОЗУ)

РЦ1=9000-110=89910=383h=0000 0011 1000 0011 2

РУ1=102 т.к вывод

(РУ+РЦ)1=1000 0011 1000 00112=8383h

Сформируем содержимое регистра режима (РР):

D7

D6

D5

D4

D3

D2

D1

D0

HEX

0

0

0

0

0

0

1

1

=0Сh

D0 = 0 - канал 0 - отключен;

D1 = 0- канал 1 - отключен;

D2 = 1 - канал 2 - включен;

D3 = 1 - канал 3 - включен;

D4=0 т.к приоритет фиксированный

D5=0 т.к режим нормальной записи/чтения

D6=0 т.к нет запрета на передачу по сигналу КС

D7=0 т.к автозагрузка отключена.

Адреса регистров КПДП (Адрес КПДП в системе = Е0)

РА0

Е0

(РУ+РЦ)0

Е1

РА1

Е2

(РУ+РЦ)1

Е3

РА2

Е4

(РУ+РЦ)2

Е5

РР

Е8

Программа инициализации КПДП на языке Assembler

DI ;запрет прерывания

MVI A,00 ; мл. РА0 =00 h Ак.

OUT Е0 ; мл. РА0 КПДП(РА0)

MVI A,80 ; ст. РА0 =80h Ак.

OUT 30 ; ст. РА0КПДП(РА0)

MVI A, 44; мл. (РУ+РЦ)0=44h Ак.

OUT 31; мл. (РУ+РЦ)0 КПДП((РУ+РЦ)0)

MVI A,АF; ст. (РУ+РЦ)0 =AFh Ак.

OUT 31 ; ст. (РУ+РЦ)0 КПДП((РУ+РЦ)0)

MVI A, 00; мл. РА1 = 00 h Ак.

OUT 32 ; мл. РА1 КПДП(РА1 )

MVI A,88 ; ст. РА1 =88 h Ак.

OUT 32 ; ст. РА1 КПДП(РА1 )

MVI A, 63 ; мл. (РУ+РЦ)1 =63h Ак.

OUT 33 ; мл. (РУ+РЦ)1 КПДП((РУ+РЦ)1)

MVI A, 80 ; ст. (РУ+РЦ)1 = 80 h Ак.

OUT 33 ; ст. (РУ+РЦ)1 КПДП((РУ+РЦ)1)

MVI A,03 ;РР=03hАк.

OUT 38;Ак.=РРКПДП(РР)

EI ; разрешение прерываний

3.1.3 Инициализация ПКП

Необходимо реализовать режим прерываний с помощью ПКП.

Начальная область векторов прерывания для ведущего контроллера 97FF, в соответствии с заданием в МПС включен 1 ПКП. Вектора прерывания следует через 4 байтa.

97FFh=1001 0011 1111 1111 b

Формирование УСИ1

D7

D6

D5

D4

D3

D2

D1

D0

HEX

1

1

1

1

0

1

1

0

F6h

D7, D6, D5 = А7, А6, А5 первого адреса области ВП

D4, D3 «10» всегда

D2=1 т.к вектора прерывания следуют через 4 байта.

D1 =1 т.к количество ПКП в системе один

D0=0 т.к. МП КР580ВМ80А

УСИ1= F6 h

Формирование УСИ2

D7

D6

D5

D4

D3

D2

D1

D0

HEX

1

0

0

1

0

0

1

1

93h

D7,D6,D5,D4,D3,D2,D1,D0 = A15 A8: Старший байт 1-го адреса области векторов прерывания.

УСИ2= 93 h

Программа инициализации ПКП на языке Assembler

DI ;запрет прерывания

MVI A,F6 ; УСИ1= F6h Ак.

OUT 82 ; УСИ1ПКП

MVI A,93 ; УСИ2= 93 Ак.

OUT 83 ; УСИ2ПКП

EI ; разрешение прерываний

3.2 Блок-схема алгоритма программы инициализации интерфейсного модуля