Сброс и обработка прерываний.
В AT90S2313 предусмотрены 10 источников прерываний. Эти прерывания и сброс имеют различные векторы в области памяти программ. Каждому из прерываний присвоен отдельный бит разрешающий данное прерывание при установке бита в 1, если бит I регистра состояния разрешает общее обслуживание прерываний.
Самые младшие адреса памяти программ определены как векторы сброса и прерываний. Полный список векторов прерываний приведен в таблице 2. Этот список определяет и приоритет различных прерываний. Меньшие адреса соответствуют более высокому уровню приоритета. Самый высокий уровень у сброса, следующий приоритет у INT0 - внешнего запроса прерывания 0 и т.д.
Таблица 2. Сброс и векторы прерываний.
Номер вектора | Адрес | Источник | Описание прерывания |
1 | $000 | RESET | Вывод сброса и сброс от сторожевого таймера |
2 | $001 | INT0 | Внешнее прерывание 0 |
3 | $002 | INT1 | Внешнее прерывание 1 |
4 | $003 | TIMER1 CAPT1 | Захват таймера/счетчика 1 |
5 | $004 | TIMER1 COMP1 | Совпадение таймера/счетчика 1 |
6 | $005 | TIMER1 OVF1 | Переполнение таймера/счетчика 1 |
7 | $006 | TIMER0,OVF0 | Переполнение таймера/счетчика 0 |
8 | $007 | UART RX | Последовательный порт: прием закончен |
9 | $008 | UART UDRE | Последовательный порт: регистр данных пуст |
10 | $009 | UART TX | Последовательный порт: передача закончена |
11 | $00A | ANA_COMP | Аналоговый компаратор |
Чаще всего используется следующая установка векторов прерываний в программе:
Адрес Метка Код Комментарий
$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 ; Начало основной программы