Лекция: Сброс и обработка прерываний.

В AT90S2313 предусмотрены 10 источников прерываний. Эти прерывания и сброс имеют различные векторы в области памяти программ. Каждому из прерываний присвоен отдельный бит разрешающий данное прерывание при установке бита в 1, если бит I регистра состояния разрешает общее обслуживание прерываний.

Самые младшие адреса памяти программ определены как векторы сброса и прерываний. Полный список векторов прерываний приведен в таблице 2.1. Этот список определяет и приоритет различных прерываний. Меньшие адреса соответствуют более высокому уровню приоритета. Самый высокий уровень у сброса, следующий приоритет у INT0 — внешнего запроса прерывания 0 и т.д.

Ниже приведена типичная программа обработки сброса и векторов прерываний:

 

Address Labels Code Comments
$000 rjmp RESET Обработка сброса
$001 rjmp EXT_INT0 Обработка IRQ0
$002 rjmp EXT_INT1 Обработка IRQ1
$003 rjmp TIM_CAPT1 Обработка захвата таймера 1
$004 rjmp TIM_COMP1 Обработка совпадения таймера 1
$005 rjmp TIM_OVF1 Обработка переполнения таймера1
$006 rjmp TIM_OVF0 Обработка переполнения таймера0
$007 rjmp UART_RXC Обработка приема байта
$008 rjmp UART_DRE Обработка освобождения UDR
$009 rjmp UART_TXC Обработка передачи байта
$00a rjmp ANA_COMP Обработка аналогового компаратора
$00b MAIN<instr> xxx Начало основной программы

Таблица 2.1. Сброс и векторы прерываний.

Номер вектора Адрес Источник Описание прерывания
0x000 RESET Ножка сброса и сброс от сторожевого таймера
0x001 INT0 Внешнее прерывание 0
0x002 INT1 Внешнее прерывание 1
0x003 TIMER1 CAPT1 Захват таймера/счетчика 1
0x004 TIMER1 COMP1 Совпаден. таймера/счетчика 1
0x005 TIMER1 OVF1 Переполнение таймера/счетчика 1
0x006 TIMER0 OVF0 Переполнение таймера/счетчика 0
0x007 UART RX Последоват. порт прием закончен
0x008 UART UDRE Посл. порт регистр данных пуст
0x009 UART TX Посл.порт передача закончена
0x00A ANA_COMP Аналоговый компаратор
еще рефераты
Еще работы по информатике