Читаем Микроконтроллеры AVR: от простого к сложному полностью

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

Для прерываний, вызываемых статическими событиями, например переполнение таймера 0, флаг соответствующего прерывания устанавливается при возникновении события. Если флаг прерывания очищен и присутствует условие возникновения прерывания, флаг не будет установлен, пока не произойдет следующее событие.

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

Рис. 2.20.Общий регистр маски прерываний GIMCK

Бит 7 — INT1: запрос внешнего прерывания 1 разрешен. Когда этот бит установлен, а также установлен бит I, разрешается прерывание от внешнего вывода. Биты управления запуском прерывания (ISC11 и ISC10) в регистре управления микроконтроллеров (MCUCR) определяют, по какому событию отрабатывается прерывание — по спадающему или нарастающему фронту или по уровню Активность на выводе приводит к возникновению прерываний, даже если вывод сконфигурирован как выход. При возникновении прерывания выполняется переход по адресу $001 для выполнения подпрограммы обработки прерывания.

Бит 6 — INTO: запрос внешнего прерывания 0 разрешен. Когда этот бит установлен, а также установлен бит I, разрешается прерывание от внешнего вывода. Биты управления запуском прерывания (ISC01 и ISC00) в регистре управления микроконтроллером (MCUCR) определяют, по какому событию отрабатывается прерывание — по спадающему или нарастающему фронту или по уровню Активность на выводе приводит к возникновению прерываний, даже если вывод сконфигурирован как выход. При возникновении прерывания выполняется переход по адресу $001 для выполнения подпрограммы обработки прерывания.

Биты 5…0 — в AT90S2313 эти биты зарезервированы и всегда читаются как 0.

Рис. 2.21.Общий регистр флагов прерываний GIFR

Бит 7 — INTF1: флаг внешнего прерывания 1. При возникновении на выводе INT1 события, вызывающего прерывание, INTF1 устанавливается в 1. Если установлены бит 1 регистра SREG и бит INT1 в GIMCK, происходит переход на вектор прерывания по адресу $002. Флаг очищается после выполнения обработчика прерывания. Кроме того, флаг можно очистить, записав в него логическую единицу.

Бит 6 — INTF0: флаг внешнего прерывания 0. При возникновении на выводе INTO события, вызывающего прерывание, INTF0 устанавливается в 1. Если установлены бит I регистра SREG и бит INTO в GIMCK, происходит переход на вектор прерывания по адресу $001. Флаг очищается после выполнения обработчика прерывания. Кроме того, флаг можно очистить, записав в него логическую единицу.

Биты 5…0 — в AT90S2313 зарезервированы и всегда читаются как 0.

Рис. 2.22.Регистр маски прерываний от таймера/счетчика TIMCK

Бит 7 — TOIE1: разрешение прерывания по переполнению таймера/счетчика 1. Если установлены этот бит и бит разрешения прерываний в регистре состояния, разрешены прерывания по переполнению таймера/счетчика 1. Соответствующее прерывание (вектор $005) выполняется при переполнении таймера/счетчика 1. В регистре флагов таймеров/счетчиков (TIFR) устанавливается флаг переполнения. Если таймер/счетчик 1 работает в режиме широтно-импульсной модуляции (ШИМ), флаг переполнения устанавливается при изменении направления счета, при значении $0000.

Бит 6 — OCIE1А: разрешение прерывания по совпадению таймера/счетчика 1. Если установлены бит OCIE1А и бит разрешения прерывания в регистре состояния, разрешены прерывания по совпадению таймера/счетчика 1. Прерывание (вектор $004) выполняется при равенстве таймера/счетчика 1 и регистра совпадения. Во флаговом регистре TIFR устанавливается в 1 флаг совпадения.

Биты 5, 4 — в AT90S2313 зарезервированы и всегда читаются как 0.

Бит 3 — TICIE1: разрешение прерывания по входу захвата. Если установлены бит TICIE1 и бит разрешения прерывания в регистре состояния, разрешены прерывания по входу захвата. Соответствующее прерывание (вектор $003) выполняется по сигналу захвата на выводе 11 (PD6/1CP). Во флаговом регистре TIFR устанавливаете» флаг захвата.

Бит 2 — в AT90S2313 зарезервирован и всегда читается как 0.

Перейти на страницу:

Все книги серии Библиотека инженера

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника