close

Вход

Забыли?

вход по аккаунту

?

МПСЛаб3

код для вставкиСкачать
 Министерство образования Российской Федерации
Вятский Государственный Технический Университет
Факультет Автоматики и Вычислительной Техники
Кафедра ЭВМ
Отчет по лабораторной работе №3
По дисциплине "Микропроцессорные системы"
"Программируемый контроллер прерываний K1810ВН59А"
Выполнил: студент группы ВМ-43 Рыбаков Н.Þ.
Проверил: доцент кафедры ЭВМ Бакшаев А.М. 2000 г.
Программируемый контроллер прерываний K1810ВН59А.
Вариант 3.
Задание.
Выполнить исследования для следующих дисциплин обслуживания прерываний:
1. фиксированных приоритетов;
2. специального маскирования;
3. циклического сдвига с использованием OCW2 формата RE по типу А;
1. циклического сдвига с использованием OCW2 формата- RSE по типу В (L2-L0 = №ППОП + X);
2. программного опроса.
Задание на теоретическую часть.
1. Разработать функциональную схему каскадного включения БИС ПКП ВН59А для микропроцессора К1810ВМ86.
2. Привести программу инициализации ведущей и одной ведомой БИС с настройкой на режимы работы,
где 1 - режим фиксированных приоритетов;
2 - режим без вложенности;
3 - режим спецмаскирования;
4 - сдвиг по типу А;
5 - сдвиг по типу В;
6 - бесприоритетная обработка аппаратная;
7 - бесприоритетная обработка программн
Режим/вариант3Ведущая: режим
маска (IRQ)3
6Ведомая: режим
маска (IRQ)5
3. Привести фрагмент текста ППОП для ведомой и ведущей БИС ПКП (начало и конец ППОП).
Режим фиксированных приоритетов.
Листинг подпрограммы инициализации.
01F¦ ¦ ¦ ¦Init фиксированная 020¦mov al,00010011b ¦ 1 ¦00000000¦по фронту, безкаскад,ICW4 021¦out 24h,al ¦ 1 ¦00000000¦ICW1 022¦mov al,0 ¦ 1 ¦00000000¦IDT адрес 023¦out 25h,al ¦ 1 ¦00000000¦ICW2 024¦mov al,00001101b ¦ 1 ¦00000000¦с 86 025¦out 25h,al ¦ 1 ¦00000000¦ICW4 026¦ret ¦ 1 ¦00000000¦
Текст ППОП.
040¦sti ¦ 1 ¦00000000¦разрешение прерываний 041¦push ax ¦ 1 ¦00000000¦ППОП 2 042¦push bx ¦ 1 ¦00000000¦ 043¦mov ax,1h ¦ 1 ¦00000000¦ 044¦mov bx,2h ¦ 1 ¦00000000¦ 045¦sub ax,bx ¦ 1 ¦00000000¦ 046¦mov ax,1h ¦ 1 ¦00000000¦ 047¦pop bx ¦ 1 ¦00000000¦ 048¦pop ax ¦ 1 ¦00000000¦
049|cli | 1 |00000000|запрет прерываний
04A¦mov al,00100000b ¦ 1 ¦00000000¦EOI 04B¦out 24h,al ¦ 1 ¦00000000¦OCW2 04C¦iret ¦ 1 ¦00000000¦
Диаграмма обработки последовательности запросов.
0┤ ▒▒░░ ▒▒░░ │ ││││ ││││ 1┤ ││││ ││││ │ ││││ ││││ 2┤▒▒░░ ▒▒░░ ││││▒▒││││░░▒▒░░ ▒▒░░ │││││ ││││ ││││││││││││││││ ││││ 3┤││││▒▒││││░░▒▒░░▒▒░░ ││││││││││││││││▒▒░░ ▒▒░░││││ │││││││││││││││││││││ ││││││││││││││││││││ ││││││││ 4┤││││││││││││││││││││ ││││││││││││││││││││ ││││││││ │││││││││││││││││││││ ││││││││││││││││││││ ││││││││ 5┤││││││││││││││││││││▒▒││││││││││││││││││││░░ ││││││││▒▒░░
│││││││││││││││││││││││││││││││││││││││││││││ ││││││││││││
6┤││││││││││││││││││││││││││││││││││││││││││││▒▒░░ ││││││││││││
│││││││││││││││││││││││││││││││││││││││││││││││││ ││││││││││││
7┤││││││││││││││││││││││││││││││││││││││││││││││││▒▒░░││││││││││││
│││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││
└─────────────────────────────────────────────────────────────────────────────
Режим специального маскирования.
Листинг подпрограммы инициализации.
01F¦ ¦ ¦ ¦Init спецмаскирование 020¦mov al,00010001b ¦ 1 ¦00000000¦по фронту, каскад,ICW4 021¦out 24h,al ¦ 1 ¦00000000¦ICW1 022¦mov al,0 ¦ 1 ¦00000000¦IDT адрес 023¦out 25h,al ¦ 1 ¦00000000¦ICW2 024¦mov al,00100100b ¦ 1 ¦00000000¦номера ведомых 025¦out 25h,al ¦ 1 ¦00000000¦ICW3 026¦mov al,00011101b ¦ 1 ¦00000000¦PSV,~EN,86 027¦out 25h,al ¦ 1 ¦00000000¦ICW4 028¦mov al,01101000b ¦ 1 ¦00000000¦установка спецмаскирования 029¦out 24h,al ¦ 1 ¦00000000¦OCW3 02A¦ret ¦ 1 ¦00000000¦
Текст ППОП для ведомой БИС.
040¦sti ¦ 1 ¦00000000¦разрешение прерываний 041¦push ax ¦ 1 ¦00000000¦ППОП 2 042¦mov ax,3 ¦ 1 ¦00000000¦ 043¦mov ax,1h ¦ 1 ¦00000000¦ 044¦mov ax,2h ¦ 1 ¦00000000¦ 045|cli | 1 |00000000|запрет прерываний
046¦mov al,00100000b ¦ 1 ¦00000000¦EOI 047¦out 2Ah,al ¦ 1 ¦00000000¦OCW2 048¦in al,2ah ¦ 1 ¦00000000¦al<-ISR 049¦cmp al,0 ¦ 1 ¦00000000¦команда завершения 04A¦jnz 4Dh ¦ 1 ¦00000000¦ 04B¦mov al,2 ¦ 1 ¦00000000¦номер команды 04C¦call 30h ¦ 1 ¦00000000¦команда завершения 04D¦pop ax ¦ 1 ¦00000000¦ 04E¦iret ¦ 1 ¦00000000¦
Текст ППОП для ведущей БИС.
070¦sti ¦ 1 ¦00000000¦ 071¦push ax ¦ 1 ¦00000000¦ППОП 6 072¦push bx ¦ 1 ¦00000000¦ 073¦mov ax,1h ¦ 1 ¦00000000¦ 074¦mov bx,2h ¦ 1 ¦00000101¦ 075¦sub ax,bx ¦ 1 ¦00000000¦ 076¦mov ax,1h ¦ 1 ¦00000000¦ 077|cli | 1 |00000000|запрет прерываний 078¦mov ax,6 ¦ 1 ¦00000000¦номер ППОП 079¦call 30h ¦ 1 ¦00000000¦команда завершения 07A¦pop bx ¦ 1 ¦00000000¦ 07B¦pop ax ¦ 1 ¦00000000¦ 07C¦iret ¦ 1 ¦00000000¦
Текст процедуры возврата.
02F¦ ¦ ¦ ¦Возврат 030¦or al,01100000b ¦ 1 ¦00000000¦SEOI 031¦out 24h,al ¦ 1 ¦00000000¦OCW2 032¦ret ¦ 1 ¦00000000¦
Диаграмма обработки последовательности запросов.
0┤ ▒▒░░ ▒▒░░ │ ││││ ││││ 1┤ ││││ ││││ │ ││││ ││││ 2┤▒▒ ││││ ││││ ░░▒▒░░ ▒▒ ░░
│││ ││││ ││││ ││││││ ││ ││
3┤││▒▒ ││││ ░░▒▒││││░░││││││▒▒░░││ ││
│││││ ││││ ││││││││││││││││││││││ ││
4┤││││ ││││ ││││││││││││││││││││││ ││
│││││ ││││ ││││││││││││││││││││││ ││
5┤││││▒▒ ░░▒▒░░ ││││ ││││││││││││││││││││││▒▒░░││
│││││││ ││││││ ││││ ││││││││││││││││││││││││││││
6┤││││││ ││││││▒▒││││░░││││││││││││││││││││││││││││
│││││││ ││││││││││││││││││││││││││││││││││││││││││
7┤││││││▒▒░░││││││││││││││││││││││││││││││││││││││││││
│││││││││││││││││││││││││││││││││││││││││││││││││││││
└─────────────────────────────────────────────────────────────────────────────
Режим циклического сдвига по типу А.
Листинг подпрограммы инициализации.
01F¦ ¦ ¦ ¦Init type A 020¦mov al,00010011b ¦ 1 ¦00000000¦по фронту, безкаск, ICW4 021¦out 24h,al ¦ 1 ¦00000000¦ICW1 022¦mov al,0 ¦ 1 ¦00000000¦IDT addres 023¦out 25h,al ¦ 1 ¦00000000¦ICW2 024¦mov al,00001101b ¦ 1 ¦00000000¦ 025¦out 25h,al ¦ 1 ¦00000000¦ICW4 026¦ret ¦ 1 ¦00000000¦
Текст ППОП.
040¦sti ¦ 1 ¦00000000¦PROC 2 041¦push ax ¦ 1 ¦00000000¦ 042¦mov ax,05h ¦ 1 ¦00000000¦ 043¦inc ah ¦ 1 ¦00000000¦ 044¦sub ax,3 ¦ 1 ¦00000000¦ 045¦test ax,3h ¦ 1 ¦00000000¦ 046¦dec al ¦ 1 ¦00000000¦ 047¦pop ax ¦ 1 ¦00000000¦ 048¦cli ¦ 1 ¦00000000¦ 049¦mov al,10100000b ¦ 1 ¦00000000¦R-EOI 04A¦out 24h,al ¦ 1 ¦00000000¦OCW2 04B¦iret ¦ 1 ¦00000000¦
Диаграмма обработки последовательности запросов.
0┤ ▒▒░░ │ ││││ 1┤ ││││ │ ││││ 2┤▒▒░░ ▒▒░░ ││││▒▒░░ ▒▒░░
│││││ ││││ ││││││││ ││││
3┤││││▒▒░░ ││││▒▒░░ ││││││││▒▒░░▒▒░░ ││││
│││││││││ ││││││││ ││││││││││││││││ ││││
4┤││││││││ ││││││││ ││││││││││││││││ ││││
│││││││││ ││││││││ ││││││││││││││││ ││││
5┤││││││││▒▒░░ ││││││││▒▒░░ ││││││││││││││││▒▒░░││││
│││││││││││││ ││││││││││││ ││││││││││││││││││││││││
6┤││││││││││││ ││││││││││││▒▒░░││││││││││││││││││││││││
│││││││││││││ ││││││││││││││││││││││││││││││││││││││││
7┤││││││││││││▒▒░░││││││││││││││││││││││││││││││││││││││││
│││││││││││││││││││││││││││││││││││││││││││││││││││││││││
└─────────────────────────────────────────────────────────────────────────────
Режим циклического сдвига по типу В.
Листинг подпрограммы инициализации.
01F¦ ¦ ¦ ¦Init type B 020¦mov al,00010001b ¦ 1 ¦00000000¦по фронту, ведомая, ICW4 021¦out 24h,al ¦ 1 ¦00000000¦ICW1 022¦mov al,0 ¦ 1 ¦00000000¦IDT addres 023¦out 25h,al ¦ 1 ¦00000000¦ICW2 024¦mov al,00000010b ¦ 1 ¦00000000¦ 025¦out 25h,al ¦ 1 ¦00000000¦ICW3 026¦mov al,00000001b ¦ 1 ¦00000000¦ 027¦out 25h,al ¦ 1 ¦00000000¦ICW4 028¦mov al,00001011b ¦ 1 ¦00000000¦чтение ISR 029¦out 24h,al ¦ 1 ¦00000000¦OCW3 02A¦ret ¦ 1 ¦00000000¦
Текст ППОП.
040¦sti ¦ 1 ¦00000000¦PROC 2 041¦push ax ¦ 1 ¦00000000¦ 042¦mov ax,05h ¦ 1 ¦00000000¦ 043¦inc ah ¦ 1 ¦00000000¦ 044¦sub ax,3 ¦ 1 ¦00000000¦ 045¦test ax,3h ¦ 1 ¦00000000¦ 046¦dec al ¦ 1 ¦00000000¦ 047¦inc ah ¦ 1 ¦00000000¦ 048¦pop ax ¦ 1 ¦00000000¦ 049¦cli ¦ 1 ¦00000000¦ 04A¦mov al,11100110b ¦ 1 ¦00000000¦R-SEOI 04B¦out 24h,al ¦ 1 ¦00000000¦OCW2 04C¦call 30h ¦ 1 ¦00000000¦алгоритм загрузки OCW2 04D¦iret ¦ 1 ¦00000000¦
Текст процедуры возврата.
02F¦ ¦ ¦ ¦Алгоритм чтения 030¦in al,24h ¦ 1 ¦00000000¦чтение ISR 031¦cmp al,0 ¦ 1 ¦00000000¦сравнение с 0 032¦jnz 35h ¦ 1 ¦00000000¦ 033¦mov al,00100000b ¦ 1 ¦00000000¦EOI 034¦out 1Eh,al ¦ 1 ¦00000000¦OCW2 035¦ret ¦ 1 ¦00000000¦
Диаграмма обработки последовательности запросов.
0┤ ▒▒░░ ▒▒░░ │ ││││ ││││ 1┤ ││││ ││││ │ ││││ ││││ 2┤▒▒░░ ▒▒░░ ││││ ││││▒▒░░ ▒▒░░ │││││ ││││ ││││ ││││││││ ││││ 3┤││││▒▒ ││││░░▒▒││││ ░░││││││││▒▒░░▒▒░░││││ │││││││ ││││││││││││ ││││││││││││││││││││││ 4┤││││││ ││││││││││││ ││││││││││││││││││││││ │││││││ ││││││││││││ ││││││││││││││││││││││ 5┤││││││ ▒▒░░││││││││││││ ││││││││││││││││││││││▒▒░░
│││││││ ││││││││││││││││ ││││││││││││││││││││││││││
6┤││││││ ││││││││││││││││▒▒░░││││││││││││││││││││││││││
│││││││ ││││││││││││││││││││││││││││││││││││││││││││││
7┤││││││▒▒░░││││││││││││││││││││││││││││││││││││││││││││││
│││││││││││││││││││││││││││││││││││││││││││││││││││││││││
└─────────────────────────────────────────────────────────────────────────────
Режим программного опроса.
Листинг подпрограммы инициализации.
016¦cli ¦ 1 ¦00000000¦ 017¦mov al,00010010b ¦ 1 ¦00000000¦по фронту, безкаскад,ICW4 нет 018¦out 24h,al ¦ 1 ¦00000000¦ICW1 019¦mov al,0 ¦ 1 ¦00000000¦IDT адрес 01A¦out 25h,al ¦ 1 ¦00000000¦ICW2 01B¦mov [10h],110h ¦ 1 ¦00000000¦ 01C¦mov [11h],100h ¦ 1 ¦00000000¦ 01D¦mov [12h],40h ¦ 1 ¦00000000¦ 01E¦mov [13h],60h ¦ 1 ¦00000000¦ 01F¦mov [14h],80h ¦ 1 ¦00000000¦ 020¦mov [15h],50h ¦ 1 ¦00000000¦ 021¦mov [16h],70h ¦ 1 ¦00000000¦ 022¦mov [17h],90h ¦ 1 ¦00000000¦ 023¦ret ¦ 1 ¦00000000¦
Текст ППОП.
040¦push ax ¦ 1 ¦00000000¦ППОП 2 041¦push bx ¦ 1 ¦00000000¦ 042¦mov bx,2h ¦ 1 ¦00000000¦ 043¦sub ax,bx ¦ 1 ¦00000000¦ 044¦mov ax,1h ¦ 1 ¦00000000¦ 045¦mov bx,2h ¦ 1 ¦00000000¦ 046¦pop bx ¦ 1 ¦00000000¦ 047¦pop ax ¦ 1 ¦00000000¦ 048¦mov al,00100000b ¦ 1 ¦00000000¦EOI 049¦out 24h,al ¦ 1 ¦00000000¦OCW2 04A¦ret ¦ 1 ¦00000000¦
Подпрограмма формирования адреса перехода на ППОП.
09F¦ ¦ ¦ ¦ЧТ СС ПКП 0A0¦pushf ¦ 1 ¦00000000¦ 0A1¦push ax ¦ 1 ¦00000000¦ 0A2¦xor ax,ax ¦ 1 ¦00000000¦ 0A3¦mov al,00001100b ¦ 1 ¦00000000¦прог опр 0A4¦out 24h,al ¦ 1 ¦00000000¦osw3 0A5¦in al,24h ¦ 1 ¦00000000¦ 0A6¦test al,10000000b ¦ 1 ¦00000000¦ 0A7¦jz ABh ¦ 1 ¦00000000¦ 0A8¦and al,111b ¦ 1 ¦00000000¦ 0A9¦add ax,10h ¦ 1 ¦00000000¦ 0AA¦call [ax] ¦ 1 ¦00000000¦ 0AB¦pop ax ¦ 1 ¦00000000¦ 0AC¦popf ¦ 1 ¦00000000¦ 0AD¦ret ¦ 1 ¦00000000¦
Диаграмма обработки последовательности запросов.
1┤ │ 2┤ ▒▒░░ │ ││││ 3┤▒▒░░││││▒▒░░ ▒▒░░
│││││││││││││ ││││
4┤││││││││││││ ││││
│││││││││││││ ││││
5┤││││││││││││▒▒░░││││
│││││││││││││││││││││
6┤││││││││││││││││││││
│││││││││││││││││││││
7┤││││││││││││││││││││
│││││││││││││││││││││
└─────────────────────
Выводы.
1. В режиме фиксированных приоритетов приоритеты входов запросов на прерывание IRQ7-IRQ0 остаются неизменными. Если одновременно поступают несколько запросов IRQ, то обслуживается запрос с наивысшим приоритетом (с меньшим номером). Если во время ППОП по одному из входов IRQ поступит запрос с более высоким приоритетом, то ПКП прерывает выполнение ППОП и переходит к выполнению ППОП с более высоким приоритетом. Данный режим применяется для обслуживания устройств с неодинаковыми фиксированными приоритетами, при этом пришедший запрос с более низким приоритетом может быть вообще не обработан в случае прихода повторного запроса с тем же номером.
2. В режиме специального маскирования (в отличие от режима фиксированных приоритетов) разрешаются прерывания от источников с более низким приоритетом, чем у запросов, находящихся в обработке в текущий момент. Если пришел запрос с тем же номером, который находиться в обработке, то его выполнение откладывается до завершения текущей ППОП. Данный режим применяется для обслуживания бесприоритетных устройств.
3. В отличие от режима фиксированных приоритетов, при циклическом сдвиге типа А приоритеты динамически изменяются: при завершении ППОП данному выходу IRQ присваивается наименьший приоритет. Данный режим применяется для обслуживания однотипных внешних устройств.
4. При циклическом сдвиге типа В (в отличие от сдвига типа А) дно приоритетного кольца задается программистом по некоторому алгоритму, что позволяет обслуживать внешние устройства в нужной программисту последовательности.
5. В режиме программного опроса источник прерывания определятся непосредственно программистом путем последовательного опроса источников запроса на прерывание. Данный режим обычно применяется в микроконтроллерах, которые не имеют аппаратных средств поддержки прерываний (генерации ~INTA).
Теоретическая часть.
Программа инициализации ведущей БИС. (спецмаскирование, маска 6)
01F¦ ¦ ¦ ¦Init спецмаскирование 020¦mov al,00010001b ¦ 1 ¦00000000¦по фронту, каскад,ICW4 021¦out 24h,al ¦ 1 ¦00000000¦ICW1 022¦mov al,0 ¦ 1 ¦00000000¦IDT адрес 023¦out 25h,al ¦ 1 ¦00000000¦ICW2 024¦mov al,00100100b ¦ 1 ¦00000000¦номера ведомых 025¦out 25h,al ¦ 1 ¦00000000¦ICW3 026¦mov al,00011101b ¦ 1 ¦00000000¦PSV,~EN,86 027¦out 25h,al ¦ 1 ¦00000000¦ICW4 028¦mov al,01000000b ¦ 1 ¦00000000¦установка маски 6 029¦out 25h,al ¦ 1 ¦00000000¦OCW1 02A¦mov al,01101000b ¦ 1 ¦00000000¦установка спецмаскирования 02B¦out 24h,al ¦ 1 ¦00000000¦OCW3 02C¦ret ¦ 1 ¦00000000¦
Остальные заданий теоретической части выполнены во время выполнения лабораторной работы и приведены выше.
Подпрограмма инициализации ведомой БИС. (сдвиг по типу В)
01F¦ ¦ ¦ ¦Init type B 020¦mov al,00010001b ¦ 1 ¦00000000¦по фронту, ведомая, ICW4 021¦out 24h,al ¦ 1 ¦00000000¦ICW1 022¦mov al,0 ¦ 1 ¦00000000¦IDT addres 023¦out 25h,al ¦ 1 ¦00000000¦ICW2 024¦mov al,00000010b ¦ 1 ¦00000000¦ 025¦out 25h,al ¦ 1 ¦00000000¦ICW3 026¦mov al,00000001b ¦ 1 ¦00000000¦ 027¦out 25h,al ¦ 1 ¦00000000¦ICW4 028¦mov al,00001011b ¦ 1 ¦00000000¦чтение ISR 029¦out 24h,al ¦ 1 ¦00000000¦OCW3 02A¦ret ¦ 1 ¦00000000¦
Текст(начало и конец) ППОП для спецмаскирования.
Ведомая БИС
040¦sti ¦ 1 ¦00000000¦разрешение прерываний 041¦push all ¦ 1 ¦00000000¦ППОП 2 ... ... ...
045|cli | 1 |00000000|запрет прерываний
046¦mov al,00100000b ¦ 1 ¦00000000¦EOI 047¦out 2Ah,al ¦ 1 ¦00000000¦OCW2 048¦in al,2ah ¦ 1 ¦00000000¦al<-ISR 049¦cmp al,0 ¦ 1 ¦00000000¦команда завершения 04A¦jnz 4Dh ¦ 1 ¦00000000¦ 04B¦mov al,2 ¦ 1 ¦00000000¦номер команды 04C¦call 30h ¦ 1 ¦00000000¦команда завершения 04D¦pop all ¦ 1 ¦00000000¦ 04E¦iret ¦ 1 ¦00000000¦
Ведущая БИС.
070¦sti ¦ 1 ¦00000000¦ 071¦push all ¦ 1 ¦00000000¦ППОП 6 ... ... ...
077|cli | 1 |00000000|запрет прерываний 078¦mov ax,6 ¦ 1 ¦00000000¦номер ППОП 079¦call 30h ¦ 1 ¦00000000¦команда завершения 07A¦pop bx ¦ 1 ¦00000000¦ 07B¦pop ax ¦ 1 ¦00000000¦ 07C¦iret ¦ 1 ¦00000000¦
Процедура возврата
02F¦ ¦ ¦ ¦Возврат 030¦or al,01100000b ¦ 1 ¦00000000¦SEOI 031¦out 24h,al ¦ 1 ¦00000000¦OCW2 032¦ret ¦ 1 ¦00000000¦
Текст(начало и конец) ППОП для сдвига типа В .
040¦sti ¦ 1 ¦00000000¦PROC 2 041¦push all ¦ 1 ¦00000000¦ ... ... ...
048¦pop all ¦ 1 ¦00000000¦ 049¦cli ¦ 1 ¦00000000¦ 04A¦mov al,11100110b ¦ 1 ¦00000000¦R-SEOI 04B¦out 24h,al ¦ 1 ¦00000000¦OCW2 04C¦call 30h ¦ 1 ¦00000000¦алгоритм загрузки OCW2 04D¦iret ¦ 1 ¦00000000¦
Текст процедуры возврата.
030¦in al,24h ¦ 1 ¦00000000¦чтение ISR 031¦cmp al,0 ¦ 1 ¦00000000¦сравнение с 0 032¦jnz 35h ¦ 1 ¦00000000¦ 033¦mov al,00100000b ¦ 1 ¦00000000¦EOI 034¦out 1Eh,al ¦ 1 ¦00000000¦OCW2 035¦ret ¦ 1 ¦00000000¦
Документ
Категория
Рефераты
Просмотров
12
Размер файла
98 Кб
Теги
мпслаб
1/--страниц
Пожаловаться на содержимое документа