ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего профессионального образования

ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Факультет автоматики и вычислительной техники

Кафедра электронных вычислительных машин

Обработка прерываний на основе БВПП K1810ВН59A

Отчет по лабораторной работе № 5

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

«Микропроцессорные системы»

Вариант 17

Выполнил студент группы ВМ-42 ____________________//

Проверил преподаватель ____________________________//

Киров 2007

Цель работы:

- Изучение принципов организации системы прерываний на командном уровне на основе МПК К1810 и К580 для программируемого контроллера прерываний (ПКП) K1810ВН59А;

- Изучение программирования ПКП на различные режимы работы;

- Изучение дисциплин обслуживания запросов на прерывание для заданной последовательности поступающих запросов IRQ от внешних источников прерываний.

Задание на лабораторную работу:

- разработать программу инициализации ПКП для режимов фиксированных приоритетов, спецмаскирования и программного опроса;

- разработать текст пользовательской программы во время выполнения которой приходят запросы на прерывание IRQ;

- разработать также тексты подпрограмм обработки прерываний, во время выполнения которых также могут приходить запросы IRQ;

- выполнить исследования принципов обслуживания запросов для следующих дисциплин обслуживания прерываний:

1)   фиксированных приоритетов;

2)   специального маскирования;

3)   циклического сдвига с использованием OCW2 формата RE по типу А;

НЕ нашли? Не то? Что вы ищете?

4)   циклического сдвига с использованием OCW2 формата RSE по типу В (L2-L0 = №ППОП + X);

5)   программного опроса.

Таблица 1.1 – Вариант задания режимов Таблица 1.2 – Начальные адреса ППОП

Задание

Вариант 17

1 фиксированных пр.

i8080, шаг 8

2 спецмаскирования

Ведомая БИС

3 сдвиг А

4 сдвиг B

Ведущая с PSV

5 программного опр.

X для типа B

2

Ведомые на входы IRQ ведущей:

1, 6

№ ко -

Вариант 17

Основ-

манды

IRQ

CS

IP

ная прог-рамма

2

9

16

6

2,7

0

000h

000h

ППОП

0

1

2

3

4

5

6

7

4

5

6

5

4

6

3

4

223h

753h

812h

3D1h

530h

108h

0EEh

778h

060h

100h

120h

080h

050h

090h

070h

110h

Таблица 1.3 - Последовательность запросов IRQ

№ варианта

Последовательность запросов IRQ

Вариант 17

7,6; 5,1; 0,7; 4; 6; 2,3; 1; 1,0

Таблица 1.4 – Задание для режима прогр. опроса

Номер команды

Номер команды

чтения СС ПКП

поступления IRQ

6

4

9

7

11

14

11

18

17

Базовый адрес ПКП равен 17*10+2*2=17410=АЕh.

Режим фиксированных приоритетов, процессор i8080, шаг 8:

1)  Листинг программы

┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐

│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │

├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤

│000│call 1Ah │ 1 ││переход к инициал │

│001│mov al,10 │ 1 ││ │

│002│dec al │ 1 ││ │

│003│mov al,10 │ 1 ││ │

│004│dec al │ 1 ││ │

│005│mov al,10 │ 1 ││ │

│006│dec al │ 1 ││ │

│007│mov al,10 │ 1 ││ │

│008│dec al │ 1 ││ │

│009│mov al,10 │ 1 ││ │

│00A│dec al │ 1 ││ │

│00B│mov al,10 │ 1 ││ │

│00C│dec al │ 1 ││ │

│00D│mov al,10 │ 1 ││ │

│00E│dec al │ 1 ││ │

│00F│mov al,10 │ 1 ││ │

│010│dec al │ 1 ││ │

│011│mov al,10 │ 1 ││ │

│...│..............................│.....│........│..............................│

│01A│mov al,b │ 1 ││инициализация фикс │

│01B│out AEh, al │ 1 ││КС1 │

│01C│mov al,0 │ 1 ││ │

│01D│out AFh, al │ 1 ││КС2 │

│01E│mov al, │ 1 ││ │

│01F│out AFh, al │ 1 ││КС4 │

│020│ret │ 1 ││ │

│...│..............................│.....│........│..............................│

│050│push ax │ 1 ││ППОП4 │

│051│add ax,2 │ 1 ││ │

│052│dec ax │ 1 ││ │

│053│inc ax │ 1 ││ │

│054│mov ax,10h │ 1 ││ │

│055│add ax,2 │ 1 ││ │

│056│dec ax │ 1 ││ │

│057│mov al,b │ 1 ││ │

│058│out AEh, al │ 1 ││ОС2 │

│059│ret │ 1 ││ │

│...│..............................│.....│........│..............................│

│060│push ax │ 1 ││ППОП0 │

│061│add ax,2 │ 1 ││ │

│062│dec ax │ 1 ││ │

│063│inc ax │ 1 ││ │

│064│mov ax,10h │ 1 ││ │

│065│add ax,2 │ 1 ││ │

│066│dec ax │ 1 ││ │

│067│mov al,b │ 1 ││ │

│068│out AEh, al │ 1 ││ОС2 │

│069│pop ax │ 1 ││ │

│06A│ret │ 1 ││ │

│...│..............................│.....│........│..............................│

│070│push ax │ 1 ││ППОП6 │

│071│add ax,2 │ 1 ││ │

│072│dec ax │ 1 ││ │

│073│inc ax │ 1 ││ │

│074│mov ax,10h │ 1 ││ │

│075│add ax,2 │ 1 ││ │

│076│dec ax │ 1 ││ │

│077│mov al,b │ 1 ││ │

│078│out AEh, al │ 1 ││ОС2 │

│079│pop ax │ 1 ││ │

│07A│ret │ 1 ││ │

│...│..............................│.....│........│..............................│

│080│push ax │ 1 ││ППОП3 │

│081│add ax,2 │ 1 ││ │

│082│dec ax │ 1 ││ │

│083│inc ax │ 1 ││ │

│084│mov ax,10h │ 1 ││ │

│085│add ax,2 │ 1 ││ │

│086│dec ax │ 1 ││ │

│087│mov al,b │ 1 ││ │

│088│out AEh, al │ 1 ││ОС2 │

│089│pop ax │ 1 ││ │

│08A│ret │ 1 ││ │

│...│..............................│.....│........│..............................│

│090│push ax │ 1 ││ППОП5 │

│091│add ax,2 │ 1 ││ │

│092│dec ax │ 1 ││ │

│093│inc ax │ 1 ││ │

│094│mov ax,10h │ 1 ││ │

│095│add ax,2 │ 1 ││ │

│096│dec ax │ 1 ││ │

│097│mov al,b │ 1 ││ │

│098│out AEh, al │ 1 ││ОС2 │

│099│pop ax │ 1 ││ │

│09A│ret │ 1 ││ │

│...│..............................│.....│........│..............................│

│0C0│jmp 60h │ 1 ││переход на ППОП0 │

│...│..............................│.....│........│..............................│

│0C8│jmp 100h │ 1 ││переход на ППОП1 │

│...│..............................│.....│........│..............................│

│0D0│jmp 120h │ 1 ││переход на ППОП2 │

│...│..............................│.....│........│..............................│

│0D8│jmp 80h │ 1 ││переход на ППОП3 │

│...│..............................│.....│........│..............................│

│0E0│jmp 50h │ 1 ││переход на ППОП4 │

│...│..............................│.....│........│..............................│

│0E8│jmp 90h │ 1 ││переход на ППОП5 │

│...│..............................│.....│........│..............................│

│0F0│jmp 70h │ 1 ││переход на ППОП6 │

│...│..............................│.....│........│..............................│

│0F8│jmp 110h │ 1 ││переход на ППОП7 │

│...│..............................│.....│........│..............................│

│100│push ax │ 1 ││ППОП1 │

│101│add ax,2 │ 1 ││ │

│102│dec ax │ 1 ││ │

│103│inc ax │ 1 ││ │

│104│mov ax,10h │ 1 ││ │

│105│add ax,2 │ 1 ││ │

│106│dec ax │ 1 ││ │

│107│mov al,20h │ 1 ││ │

│108│out AEh, al │ 1 ││ОС2 │

│109│pop ax │ 1 ││ │

│10A│ret │ 1 ││ │

│...│..............................│.....│........│..............................│

│110│push ax │ 1 ││ППОП7 │

│111│add ax,2 │ 1 ││ │

│112│dec ax │ 1 ││ │

│113│inc ax │ 1 ││ │

│114│mov ax,10h │ 1 ││ │

│115│add ax,2 │ 1 ││ │

│116│dec ax │ 1 ││ │

│117│mov al,b │ 1 ││ │

│118│out AEh, al │ 1 ││ОС2 │

│119│pop ax │ 1 ││ │

│11A│ret │ 1 ││ │

│...│..............................│.....│........│..............................│

│120│push ax │ 1 ││ППОП2 │

│121│add ax,2 │ 1 ││ │

│122│dec ax │ 1 ││ │

│123│inc ax │ 1 ││ │

│124│mov ax,10h │ 1 ││ │

│125│add ax,2 │ 1 ││ │

│126│dec ax │ 1 ││ │

│127│mov al,b │ 1 ││ │

│128│out AEh, al │ 1 ││ОС2 │

│129│pop ax │ 1 ││ │

│12A│ret │ 1 ││ │

│...│..............................│.....│........│..............................│

└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘

2) График вложенности

Рисунок 1 – график вложенности для режима фиксированных приоритетов

Режим спецмаскирования:

1)  Листинг программы

┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐

│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │

├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤

│000│call 1Ah │ 1 ││переход к инициал │

│001│mov al,10 │ 1 ││ │

│002│dec al │ 1 ││ │

│003│mov al,10 │ 1 ││ │

│004│dec al │ 1 ││ │

│005│mov al,10 │ 1 ││ │

│006│dec al │ 1 ││ │

│007│mov al,10 │ 1 ││ │

│008│dec al │ 1 ││ │

│009│mov al,10 │ 1 ││ │

│00A│dec al │ 1 ││ │

│00B│mov al,10 │ 1 ││ │

│00C│dec al │ 1 ││ │

│00D│mov al,10 │ 1 ││ │

│00E│dec al │ 1 ││ │

│00F│mov al,10 │ 1 ││ │

│010│dec al │ 1 ││ │

│011│mov al,10 │ 1 ││ │

│012│dec al │ 1 ││ │

│...│..............................│.....│........│..............................│

│01A│mov al,b │ 1 ││инициализация спецмаск │

│01B│out AEh, al │ 1 ││КС1 │

│01C│mov al,0 │ 1 ││ │

│01D│out AFh, al │ 1 ││КС2 │

│01E│mov al,b │ 1 ││ │

│01F│out AFh, al │ 1 ││КС3 │

│020│mov al,b │ 1 ││ │

│021│out AFh, al │ 1 ││КС4 │

│022│mov al,b │ 1 ││ │

│023│out AEh, al │ 1 ││ОС3 │

│024│ret │ 1 ││ │

│...│..............................│.....│........│..............................│

│050│sti │ 1 ││ППОП 4 │

│051│push ax │ 1 ││ │

│052│dec ax │ 1 ││ │

│053│inc ax │ 1 ││ │

│054│mov ax,10h │ 1 ││ │

│055│pop ax │ 1 ││ │

│056│add ax,2 │ 1 ││ │

│057│mov al,64h │ 1 ││ОС2 для ведомой │

│058│out AEh, al │ 1 ││ │

│059│in al, AEh │ 1 ││ │

│05A│or al, al │ 1 ││ │

│05B│jnz 6Eh │ 1 ││ │

│05C│mov al,20h │ 1 ││ОС2 для ведущей │

│05D│out AAh, al │ 1 ││ │

│05E│iret │ 1 ││ │

│05F│ │ │ │ │

│060│sti │ 1 ││ППОП0 │

│061│push ax │ 1 ││ │

│062│dec ax │ 1 ││ │

│063│inc ax │ 1 ││ │

│064│mov ax,10h │ 1 ││ │

│065│pop ax │ 1 ││ │

│066│add ax,2 │ 1 ││ОС2 для ведомой │

│067│mov al,60h │ 1 ││ │

│068│out AEh, al │ 1 ││ │

│069│in al, AEh │ 1 ││ │

│06A│or al, al │ 1 ││ │

│06B│jnz 6Eh │ 1 ││ │

│06C│mov al,20h │ 1 ││ОС2 для ведущей │

│06D│out AAh, al │ 1 ││ │

│06E│iret │ 1 ││ │

│06F│ │ │ │ │

│070│sti │ 1 ││ППОП6 │

│071│push ax │ 1 ││ │

│072│dec ax │ 1 ││ │

│073│inc ax │ 1 ││ │

│074│mov ax,10h │ 1 ││ │

│075│pop ax │ 1 ││ │

│076│add ax,2 │ 1 ││ │

│077│mov al,66h │ 1 ││ОС2 для ведомой │

│078│out AEh, al │ 1 ││ │

│079│in al, AEh │ 1 ││ │

│07A│or al, al │ 1 ││ │

│07B│jnz 6Eh │ 1 ││ │

│07C│mov al,20h │ 1 ││ОС2 для ведущей │

│07D│out AAh, al │ 1 ││ │

│07E│iret │ 1 ││ │

│07F│ │ │ │ │

│080│sti │ 1 ││ППОП3 │

│081│push ax │ 1 ││ │

│082│dec ax │ 1 ││ │

│083│inc ax │ 1 ││ │

│084│mov ax,10h │ 1 ││ │

│085│add ax,2 │ 1 ││ │

│086│pop ax │ 1 ││ │

│087│mov al,63h │ 1 ││ОС2 для ведомой │

│088│out AEh, al │ 1 ││ │

│089│in al, AEh │ 1 ││ │

│08A│or al, al │ 1 ││ │

│08B│jnz 6Eh │ 1 ││ │

│08C│mov al,20h │ 1 ││ОС2 для ведущей │

│08D│out AAh, al │ 1 ││ │

│08E│iret │ 1 ││ │

│08F│ │ │ │ │

│090│sti │ 1 ││ППОП5 │

│091│push ax │ 1 ││ │

│092│dec ax │ 1 ││ │

│093│inc ax │ 1 ││ │

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3