ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Факультет автоматики и вычислительной техники
Кафедра электронных вычислительных машин
Обработка прерываний на основе БВПП 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 |


