Студопедия Главная Случайная страница Обратная связь

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

Лекция №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; просмотров: 373. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

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