Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по МПС.doc
Скачиваний:
32
Добавлен:
26.11.2019
Размер:
3.25 Mб
Скачать

4.9. Система прерываний

Упрощенная схема прерываний микро-ЭВМ 8051 показана на рисунке.

.

Внешние прерывания INT 0 и INT 1 могут быть вызваны либо уровнем, либо переходом сигнала из 1 в 0 на входах 8051 в зависимости от значений управляющих бит IT0 и IT1 в регистре TCON. От внешних прерываний устанавливаются флаги IE0 и IE1 в регистре TCON, которые инициируют вызов соответствующей программы обслуживания прерывания. Сброс этих флагов выполняется аппаратно только в том случае, если прерывание было вызвано по переходу (срезу) сигнала. Если же прерывание вызвано уровнем входного сигнала, то сбросом флага I должна управлять соответствующая подпрограмма обслуживания прерывания путем воздействия на источник прерывания с целью снятия им запроса.

Флаги запросов прерывания от таймеров TF0 и TF1 сбрасываются автоматически при передаче управления подпрограмме обслуживания. Флаги запросов прерывания RI и TI устанавливаются блоком управления приемопередатчика аппаратно, но сбрасываться должны программным путем.

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

Двухуровневая с пятью источниками прерываний. Два внешних – INT0, INT1 и 3 внутренних – от т/с и последовательного порта.

Запросы прерываний фиксируются в регистрах управления таймерами TCON и последовательного канала SCON.

Обозначение прерывания

Разряд регистра

Комментарий

IE0

TCON.1

внешний запрос по входу INT0

IE1

TCON.3

внешний запрос по входу INT1

TF0

TCON.5

внутренний запрос от т/с 0

TF1

TCON.7

внутренний запрос от т/с 1

RI

SCON.0

внутренний запрос от приемника последовательного порта

TI

SCON.1

внутренний запрос от передатчика последовательного порта

Прерывания от каждого из источников могут быть программно и независимо друг от друга запрещены или разрешены. Каждому из них может быть присвоен один из двух уровней приоритета (высокий/низкий). Управление системой прерываний осуществляется через 2 регистра: разрешения прерываний IE и управления прерываний IP.

Формат IE.

7

6

5

4

3

2

1

0

EA

---

---

ES

ETI

EX1

ET0

EX0

индивидуальное управление разрешением прерываний

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

ES – бит разрешения прерывания по состоянию последовательно канала. Устанавливается и сбрасывается программно.

ET1 - -----//----- т/с1.

EX1 - -----//----- INT1.

ET0 - -----//----- т/с0.

EX0 - -----//----- INT0.

Формат IP.

7

6

5

4

3

2

1

0

---

---

---

PS

PT1

PX1

PT0

PX0

индивидуальное задание уровней приоритета прерываний

PS – бит программной установки уровня приоритета прерывания последовательного канала:

1 – высокий

0 – низкий.

PT1 - -----//----- т/с1.

PT0 - -----//----- т/с0.

PX1 - -----//----- INT1.

PX0 - -----//----- INT0.

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

Обозначение

Регистр

Источник

Порядок обслуживания

PX0

IP.0

INT0

0 (высший)

PT0

IP.1

T/C0

1

PX1

IP.2

INT1

2

PT1

IP.3

T/C1

3

PS

IP.4

последовательный канал

4 (низший)

При фиксации запросов прерываний от каждого из источников МК генерирует команду LCALL vect перехода на п/п обработки запроса прерывания, обеспечивая аппаратный переход к адресу vect одной из п/п обслуживания. Каждая п/п имеет собственный алрес.

Источник прерывания

Начальный адрес п/п

INT0

0003h

T/C0

000Bh

INT1

0013h

T/C1

001Bh

последовательный канал

0023h

Анализируются запросы прерываний в конце каждого машинного цикла и подтверждаются установкой одного из двух внутренних триггеров (высшего и низшего приоритетов) с последующим аппаратным вызовом п/п.