Студопедия — Лекция №14. Обработка внешних прерываний в микроконтроллере.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Лекция №14. Обработка внешних прерываний в микроконтроллере.






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

Самые младшие адреса памяти программ определены как векторы сброса и прерываний. Полный список векторов прерываний приведен в таблице 14.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; Начало основной программы

_ _ _ _

 

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

┌─────────────┬──────┬──────────────┬────────────────────────────────┐

│Номер вектора│ Адрес│Источник │ Описание прерывания │

├─────────────┼──────┼──────────────┼────────────────────────────────┤

│ 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 │ Аналоговый компаратор │

└─────────────┴──────┴──────────────┴────────────────────────────────┘

 

ATtiny2313 имеет два регистра маски прерываний GIMSK - общий регистр маски прерываний и TIMSK - регистр маски прерываний от таймера/счетчика.

Когда возникает прерывание бит глобального разрешения прерываний I сбрасывается (ноль) и все прерывания запрещаются. Программа пользователя может установить этот бит для разрешения прерываний. Флаг разрешения прерываний I устанавливается в 1 при выполнении команды выхода из прерывания - RETI.

Для прерываний включаемых статическими событиями (напр. совпадение значения счетчика/таймера 1 с регистром совпадения) флаг прерывания взводится при возникновении события. Если флаг прерывания очищен и присутствует условие возникновения прерывания, флаг не будет установлен, пока не произойдет следующее событие. Когда программный счетчик устанавливается на текущий вектор прерывания для его обработки, соответствующий флаг, сгенерированный прерыванием, аппаратно сбрасывается. Некоторые флаги прерывания могут быть сброшены записью логической единицы в бит соответствующий флагу.







Дата добавления: 2015-08-12; просмотров: 353. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Что происходит при встрече с близнецовым пламенем   Если встреча с родственной душой может произойти достаточно спокойно – то встреча с близнецовым пламенем всегда подобна вспышке...

Реостаты и резисторы силовой цепи. Реостаты и резисторы силовой цепи. Резисторы и реостаты предназначены для ограничения тока в электрических цепях. В зависимости от назначения различают пусковые...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия