Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
44
Добавлен:
23.02.2015
Размер:
1.68 Mб
Скачать

ПРЕРЫВАНИЯ

маскируемые прерывания от аппаратных средств (см. табл. 3.1) и не маскируемое программное прерывание командой TRAP.

Обработка прерываний показана на рис. 1.

Маскируемые прерывания запрещаются битом I=1 и разрешаются I=0.

Примечание. После RESET все прерывания запрещены.

Обслуживание прерывания

Нормальная обработка в конце выполнения текущей инструкции.

Содержимое регистров PC, X, A и СС сохраняется в стеке.

Бит I в регистре СС устанавливается, предотвращая

дополнительные прерывания.

– В PC загружается вектор прерывания (табл. 3.1), и процессор приступает к обслуживанию первой инструкции подпрограммы обработки прерывания.

- Инструкция IRET возвращает содержимое сохраненных регистров из стека.

Рис. 3.1. Схема процесса прерывания

Source

N° Description

Block

 

RESET

Reset

 

TRAP

Software Interrupt

0

AWU

Auto Wake Up Interrupt

1

ei0

External Interrupt 0

2

ei1

External Interrupt 1

3

ei2

External Interrupt 2

4

ei3

External Interrupt 3

Т а б л и ц а 3.1

Register

Priori-

Label

ty Order

N/A

AWUCSR Highest

Priority

Lowest

N/A Priority

Exit from HALT or AWU FH

yes

no yes1)

yes

Exit from ACT IVE

Address

-

Vector

HAL

T

yes FFFEh-FFFFh FFFCh-FFFDh

FFFAh-FFFBh

FFF8h-FFF9h

no

FFF6h-FFF7h

FFF4h-FFF5h

FFF2h-FFF3h

5

LITE

LITE TIMER RTC2

LTCSR2

TIMER

interrupt

 

 

6

 

Not used

 

7

SI

AVD interrupt

SICSR

 

 

AT TIMER Output

 

8AT TIMER

9

 

10

LITE

 

11

TIMER

 

12 SPI

Compare Interrupt or Input Capture

Interrupt

AT TIMER Overflow

Interrupt

LITE TIMER Input

Capture Interrupt LITE TIMER RTC1

Interrupt

SPI Peripheral Interrupts

PWMxCSR

or ATCSR

ATCSR

LTCSR

LTCSR

SPICSR

no

Highest no Priority Lowest Priority

yes

no FFF0h-FFF1h

FFEEh-FFEFh FFECh-FFEDh

no FFEAh-FFEBh

yes FFE8h-FFE9h no FFE6h-FFE7h

yes FFE4h-FFE5h no FFE2h-FFE3h

13

Not usedNot used

FFE0h-FFE1h

Периферийные прерывания

Различные периферийные устройства устанавливают флаги прерывания в своих статус–регистрах.

Когда эти флаги являются активными, они вызывают прерывания, если бит I = 0 в регистре СС (см. табл. 3.1.).

Внешние прерывания

Если возникает соответствующее внешнее прерывание и бит I = 0 (очищен), то вектор, соответствующий внешнему прерыванию, загружается в регистр PC (см. табл. 3.1.).

Внешние прерывания

Выбор линии порта прерывания и чувствительность прерывания выбираются через регистры EISR (External Interrupt Selection Register) и EICR (External Interrupt Control Register).

Регистр управления внешними

прерываниями (EICR) доступен по чтению и записи, после сброса имеет состояние 00000000 (00h). Битами этого регистра (рис. 3.2) программируется чувствительность вызова вектора внешних прерываний в соответствии с данными табл.3.2.

Т а б л и ц а 3.2 Биты чувствительности прерываний

ISx1

ISx0

Чувствительность внешнего прерывания

0

0

Падающий фронт и низкий уровень

0

1

Только нарастающий фронт

1

0

Только падающий фронт

1

1

Падающий и нарастающий фронты

Выбор линий портов РА и РВ для внешних прерываний осуществляется битами регистра EISR (рис. 3.3). Этот регистр доступен по чтению и записи, его состояние после сброса: 0000 1100 (0Ch).

Рис. 3.3. Выбор линий запросов прерывания

Биты 7:6 = ei31: ei30] выбирают линию ввода–вывода порта РB для приема внешнего прерывания типа ei3, а биты 5:4 = ei21:ei20

выбирают линию порта PB для приема внешнего прерывания типа ei2 (табл. 3.3). Биты 3:2 = ei11: ei10 выбирают линию порта РА для приема внешнего прерывания типа ei1, а биты 1:0 = ei01:ei00 выбирают линию порта РА для приема внешнего прерывания типа ei0. Эти биты

записываются программно.

Периферийные устройства

Состав периферийных устройств зависит от модели микроконтроллера:

•параллельные порты ввода-вывода (порты А, В);

•интерфейсы SPI, SCI, CAN, USB, IIC;

•8- и 16-битные таймеры общего назначения;

•сторожевой таймер (WATCHDOG);

•10-битный аналого-цифровой преобразователь (ADC).

•блок прерываний.

АЛУ

ПАМЯТЬ

ПРОГРАММ

RAM

Ш

SPI

И

Н

А

ПОРТ В

А

 

Д

АЦП

Р

Е

 

С

ТАЙМЕР А

А

И

 

Д

ТАЙМЕР В

А

 

Н

сторожевой

Н

Ы

ТАЙМЕР

Х

 

Соседние файлы в папке МПСслайды