Читайте также:
|
|
Регистр XDIV используется для установления коэффициента деления частоты кварцевого генератора в диапазоне от 1 до 129.
Биты |
| |||||||||
$3C ($5C) |
| XDIV | ||||||||
Чтение/Запись |
| |||||||||
Начальное состояние |
|
f clk = | XTAL |
---------- | |
(129-d) |
Обработка прерываний и сброса
Микроконтроллеры ATmega603/103 используют 23 источника прерывания. Эти прерывания и вектор сброса располагают отдельными программными векторами в пространстве памяти программ. Каждому прерыванию присвоен свой бит разрешения который должен быть установлен совместно с битом I регистра статуса.
Младшие адреса пространства памяти программ автоматически определяются как векторы сброса и прерываний.
Полный перечень векторов представлен в Таблице 5. Перечень представляет также уровень приоритета для каждого прерывания. Прерывания с младшими адресами имеют больший уровень приоритета. RESET имеет наивысший уровень приоритета, следующим является INT0 - Запрос внешнего прерывания 0 и т.д.
Таблица 5. Векторы сброса и прерываний
Vector No. | Program Address | Source | Interrupt Definition |
$0000 | RESET | Сброс по выводу и сторожевому таймеру (Hardware Pin and Watchdog Reset) | |
$0002 | INT0 | Запрос внешнего прерывания 0 (External Interrupt Request 0) | |
$0004 | INT1 | Запрос внешнего прерывания 1 (External Interrupt Request 1) | |
$0006 | INT2 | Запрос внешнего прерывания 2 (External Interrupt Request 2) | |
$0008 | INT3 | Запрос внешнего прерывания 3 (External Interrupt Request 3) | |
$000A | INT4 | Запрос внешнего прерывания 4 (External Interrupt Request 4) | |
$000C | INT5 | Запрос внешнего прерывания 5 (External Interrupt Request 5) | |
$000E | INT6 | Запрос внешнего прерывания 6 (External Interrupt Request 6) | |
$0010 | INT7 | Запрос внешнего прерывания 7 (External Interrupt Request 7) | |
$0012 | TIMER2 COMP | Совпадение при сравнении таймера/счетчика 2 (Timer/Counter2 Compare Match) | |
$0014 | TIMER2 OVF | Переполнение таймера/счетчика 2 (Timer/Counter2 Overflow) | |
$0016 | TIMER1 CAPT | Захват таймера/счетчика 1 (Timer/Counter1 Capture Event) | |
$0018 | TIMER1 COMPA | Совпадение A при сравнении таймера/счетчика 1 (Timer/Counter1 Compare Match A) | |
$001A | TIMER1 COMPB | Совпадение B при сравнении таймера/счетчика 1 (Timer/Counter1 Compare Match B) | |
$001C | TIMER1 OVF | Переполнение таймера/счетчика 1 (Timer/Counter1 Overflow) | |
$001E | TIMER0 COMP | Совпадение при сравнении таймера/счетчика 0 (Timer/Counter0 Compare Match) | |
$0020 | TIMER0 OVF | Переполнение таймера/счетчика 0 (Timer/Counter0 Overflow) | |
$0022 | SPI, STC | Завершение пересылки SPI (SPI Ser ial Transfer Complete) | |
$0024 | UART, RX | Завершение приема UART (UART, Rx Complete) | |
$0026 | UART, UDRE | Регистр данных UART пуст (UART Data Register Empty) | |
$0028 | UART, TX | Завершение передачи UART (UART, Tx Complete) | |
$002A | ADC | Завершение ADC преобразования (ADC Conversion Complete) | |
$002C | EE READY | Готовность EEPROM (EEPROM Ready) | |
$002E | ANALOG COMP | Срабатывание аналогового компаратора (Analog Comparator) |
Наиболее часто используемые программные установки адресов векторов сброса и прерываний:
Адрес Метка Код Комментарий $0000 jmp RESET; Обработчик сброса (Reset Handler) $0002 jmp EXT_INT0; Обработчик прерывания IRQ0 (IRQ0Handler) $0004 jmp EXT_INT1; Обработчик прерывания IRQ1 (IRQ1 Handler) $0006 jmp EXT_INT2; Обработчик прерывания IRQ2 (IRQ2 Handler) $0008 jmp EXT_INT3; Обработчик прерывания IRQ3 (IRQ3 Handler) $000A jmp EXT_INT4; Обработчик прерывания IRQ4 (IRQ4 Handler) $000C jmp EXT_INT5; Обработчик прерывания IRQ5 (IRQ5 Handler) $000E jmp EXT_INT6; Обработчик прерывания IRQ6 (IRQ6 Handler) $0010 jmp EXT_INT7; Обработчик прерывания IRQ7 (IRQ7 Handler) $0012 jmp TIM2_COMP; Обработчик сравнения таймера 2 (Timer2 Compare Handler) $0014 jmp TIM2_OVF; Обработчик переполнения таймера 2 (Timer2 Overflow Handler) $0016 jmp TIM1_CAPT; Обработчик захвата таймера 1 (Timer1 Capture Handler) $0018 jmp TIM1_COMPA; Обработчик сравнения A таймера 1 (Timer1 CompareA Handler) $001A jmp TIM1_COMPB; Обработчик сравнения B таймера 1 (Timer1 CompareB Handler) $001C jmp TIM1_OVF; Обработчик переполнения таймера 1 (Timer1 Overflow Handler) $001E jmp TIM0_COMP; Обработчик сравнения таймера 0 (Timer0 Compare Handler) $0020 jmp TIM0_OVF; Обработчик переполнения таймера 0 (Timer0 Overflow Handler) $0022 jmp SPI_STC; Обработчик завершения пересылки SPI (SPI Transfer Complete Handler) $0024 jmp UART_RXC; Обработчик завершения приема UART (UART RX Complete Handler) $0026 jmp UART_DRE; Обработчик пустого регистра данных (UDR Empty Handler) $0028 jmp UART_TXC; Обработчик завершения передачи UART (UART TX Complete Handler) $002A jmp ADC; Обработчик завершения преобразования ADC (ADC Conversion Complete Handler) $002C jmp EE_RDY; Обработчик готовности EEPROM (EEPROM Ready Handler) $002E jmp ANA_COMP; Обработчик срабатывания аналогового компаратора(Analog Comparator Handler) ; $0030 MAIN: <instr> xxx; Начало основной программы (Main program start) ............ |
Дата добавления: 2015-07-18; просмотров: 84 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Регистр статуса - SREG | | | Сброс по включению питания |