33368

Система прерываний ОМК AT90S8515

Доклад

Коммуникация, связь, радиоэлектроника и цифровые приборы

При возникновении прерывания микроконтроллер сохраняет в стеке содержимое счетчика команд PC и загружает в него адрес соответствующего вектора прерывания. По этому адресу должна находиться команда относительного перехода к подпрограмме обработки прерывания. Кроме того последней командой подпрограммы обработки прерывания должна быть команда RETI которая обеспечивает возврат в основную программу и восстановление предварительно сохранённого счетчика команд. Младшие адреса памяти программ начиная с адреса 001 отведены под таблицу векторов...

Русский

2013-09-05

63 KB

7 чел.

Система прерываний ОМК AT90S8515

Прерывание прекращает нормальный ход программы для выполнения приоритетной задачи, определяемой внутренним или внешним событием микроконтроллера. При возникновении прерывания микроконтроллер сохраняет в стеке содержимое счетчика команд PC и загружает в него адрес соответствующего вектора прерывания. По этому адресу должна находиться команда относительного перехода к подпрограмме обработки прерывания. Кроме того, последней командой подпрограммы обработки прерывания должна быть команда RETI, которая обеспечивает возврат в основную программу и восстановление предварительно сохранённого счетчика команд.

Микроконтроллеры AVR семейства Classic имеют многоуровневую систему приоритетных прерываний. Младшие адреса памяти программ, начиная с адреса $001, отведены под таблицу векторов прерывания. Каждому прерыванию соответствует свой адрес в этой таблице, и именно этот адрес загружается в счётчик команд при возникновении прерывания. Положение вектора в таблице определяет также и приоритет соответствующего прерывания: чем меньше адрес, тем выше приоритет прерывания. Распределение адресов векторов прерываний (ВП) микроконтроллера AT90S8515 приведено в таблице 1 .

Таблица 1. Адреса векторов прерывания МК АТ90S8515

Источник

Описание

Адрес ВП

Приоритет

INT0

Внешнее прерывание 0

$001

Высший

INT1

Внешнее прерывание 1

$002

TIMER1 CAPT

Захват таймера/счетчика Т1

$003

T1MER1 COMPA

Совпадение «А» таймера/счетчика Т1

$004

T1MER1 COMPB

Совпадение «В» таймера/счетчика Т1

$005

T1MER1 OVF

Переполнение таймера/счетчика Т1

$006

TIMER0 OVF

Переполнение таймера/счетчика Т0

$007

SPI, STC

Передача по SPI завершена

$008

UART, RX

UART, прием завершён

$009

UART, UDRE

Регистр данных UART пуст

$00A

UART, TX

UART, передача зaвершена

$00B

ANA_COMP

Аналоговый компаратор

$00C

Низший

Для разрешения прерываний флаг I регистра SREG должен быть установлен в «1». Разрешение или запрещение (маскирование) отдельных прерываний производится установкой или сбросом соответствующих разрядов регистров масок прерываний, рассматриваемых ниже.

Обработка прерываний осуществляется следующим образом:

  •  при выполнении условий, необходимых для генерации прерывания, соответствующий этому прерыванию флаг устанавливается в «1», а флаг I аппаратно сбрасывается, запрещая тем самым обработку следующих прерываний. Однако в подпрограмме обработки прерывания этот флаг можно будет установить в «1» для разрешения вложенных прерываний;
  •  если прерывание разрешено (флаг разрешения прерывания установлен), в счётчик команд загружается адрес вектора соответствующего прерывания. При этом флаг прерывания аппаратно сбрасывается;
  •  выполняется подпрограмма обработки прерывания;
  •  выполняется команда возврата из прерывания RETI, при этом флаг I аппаратно устанавливается в «1», разрешая обработку последующих прерываний;
  •  центральный процессор автоматически восстанавливает содержимое счетчика команд. Затем основная программа продолжает свое выполнение с того места, где она была прервана.

При вызове подпрограмм обработки прерываний содержимое регистра состояния SREG не сохраняется. Поэтому пользователь должен самостоятельно запоминать содержимое этого регистра при входе в подпрограмму обработки прерывания (если это необходимо) и восстанавливать его значение перед вызовом команды RETI.

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

Для внешних прерываний, генерируемых по уровню, флаги не предусмотрены, поэтому информация об этих прерываниях будет храниться до тех пор, пока присутствует событие, вызывающее прерывание. Микроконтроллеры AVR семейства Classic поддерживают очередь прерываний. Она работает следующим образом: если условия генерации одного или более прерываний возникают в то время, когда флаг общего разрешения прерываний сброшен (все прерывания запрещены), соответствующие флаги устанавливаются в «1» и остаются в этом состоянии до установки флага общего разрешения прерываний. После разрешения прерываний выполняется их обработка в соответствии с приоритетом.

Время отклика для любого прерывания составляет 4 машинных цикла. В течение первых двух машинных циклов происходит сохранение счётчика команд в стеке, а в течение следующих двух циклов выполняется команда перехода к подпрограмме обработки прерывания. Причем если прерывание произойдет во время выполнения команды, длящейся несколько циклов, то генерация прерывания произойдет только после выполнения этой команды. Под временем отклика здесь понимается время, прошедшее от наступления события (oт установки флага прерывания) до выполнения первой команды подпрограммы обработки прерывания.

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

Управление внешними прерываниями осуществляется посредством двух регистров GIMSK и GIFR. Регистр маски прерывания GIMSK используется для разрешения/запрещения внешний прерываний, а GIFR- для индикации наступления внешний прерываний. В табл. 2 и табл. 3 приведено описание бит этих регистров.

Таблица 5. Регистр маски внешних прерываний GIMSK

Разряд

Название

Описание

7

 INT1

Флаг разрешения внешнего прерывания INT1. Если в этом разряде записана логическая «1» и флаг I регистра SREG также установлен в «1», то разрешается внешнее прерывания с вывода INT1. Условия генерации прерывания определяются содержимым разрядов ISC11 и ISC10 регистра MCUCR 

6

INT0

Флаг разрешения внешнего прерывания INT0. Если в этом разряде записана логическая «1» и флаг I регистра SREG также установлен в «1», то разрешается внешнее прерывания с вывода INT0. Условия генерации прерывания определяются содержимым разрядов ISC01 и ISC00 регистра MCUCR 

5...0

-

Не используются, читаются как «0»

Таблица 3. Регистр флагов внешних прерываний GIFR

Разряд

Название

Описание

7

INTF1

Флаг внешнего прерывания INT1. Если в результате события на выводе INT1 сформировался запрос на внешнее прерывание, этот разряд устанавливается в «1». Флаг сбрасывается аппаратно при запуске подпрограммы обработки прерывания или программно  записью в него логического «0»

6

INTF0

Флаг внешнего прерывания INT0. Если в результате события на выводе INT0 сформировался запрос на внешнее прерывание, этот разряд устанавливается в «1». Флаг сбрасывается аппаратно при запуске подпрограммы обработки прерывания или программно - записью в него логического «0».

5...0

Не используются, читаются как «0»


 

А также другие работы, которые могут Вас заинтересовать

54428. Учимся дружить 124 KB
  Цели и задачи. Нужно расположить буквы в правильной последовательности Чтобы получилось слово буквам нужно подружиться. Важно уметь находить друг с другом общий язык дружить. Мы обсудим: легко ли найти друга какие качества нужно развивать в себе чтобы научиться дружить.
54429. Морально – екологічне виховання 640 KB
  Спостережливість - це та дорогоцінна властивість людини завдяки якій вона здатна орієнтуватись в навколишньому середовищі розуміти різноманітний світ природи контактувати з людьми. Радість зустрічі із живою істотою надовго залишиться в памяті дітей пробудить допитливість добрі почуття до природи. Уперед до гармонії сучасного суспільства і природи до такої взаємодії окремої особи і людства із середовищем за якої спілкування з природою стало б джерелом всебічного збагачення людини яка прагне не знищувати а вдосконалювати життєві...
54430. Моральні норми і правила співжиття у людському суспільстві 44 KB
  Нагадайте будь ласка що таке етикет Памятаєте я вам розповідала що у часи Людовіка ХІУ етикетками називали картки на яких писали основні правила поведінки та роздавали придворним. Скажіть про які обовязкові правила етикету нагадала дівчинці королева Які з правил етикету виконуються й зараз а які вже є застарілими Діти відповідають. З часом деякі норми змінюються ми вже не робимо реверанси але головні правила спілкування зостаються тими ж що в Аристотеля і Декарта вихованість ввічливість...
54431. РЕПРЕЗЕНТАЦІЯ ОБРАЗУ МОРЯ У ТВОРАХ УКРАЇНСЬКИХ ПИСЬМЕННИКІВ ЯК ЗАСІБ ЕКСПРЕСИВНОГО ВПЛИВУ, ФОРМУВАННЯ СВІДОМОСТІ СУЧАСНОГО СТУДЕНТА, ЙОГО ІНТЕЛЕКТУАЛЬНО-ЕСТЕТИЧНОГО СМАКУ І СВІТОСПРИЙНЯТТЯ 109.5 KB
  Це і мариністичні мотиви і образи в народній класичній і сучасній літературах; жанри морського роману й мариністичної лірики образи мореплавців першовідкривачів піратів та морських фантастичних істот у художніх творах. Не можна оминути й прислівїв та приказок повязаних з морем рибалками риболовлею. Море Нащо в море воду лити коли й так море повне. І море починалося з краплі.
54432. Бачу пейзаж неозорого моря 122.5 KB
  Діти посміхаються. Що за вивіска така Музей Діти читають. Паличка торкається до стрічки і вона опускається падає і діти заходять в картинну галерею. Портретдіти декламують вірші Якщо бачиш на картині В безкозирці моряка Чи принцесу в кринолині Чи сусідського Вітька Як зображено людину А не вазу чи букет Всім відомо цю картину Називаємо портрет.
54433. Комплексная система заданий по развитию творческих способностей учащихся по теме «Морфология» 145 KB
  Я уверена, что вы хорошо усвоили изученную тему. Но если хотите проверить свои знания, творческие способности, умение использовать их в нестандартных ситуациях, предлагаю вам выполнить задания разных видов и выразить своё отношение к ним.
54434. ВЕСІЛЛЯ МОРКОВИНКИ 74.5 KB
  Діти співають пісню Вже настала осінь Дід Панас: Дорогі гості Сьогодні в наш край завітала ОСІНЬ ЗОЛОТАВКА встелила килимами землю навкруги.Жовтий лист під ноги пада Осінь Осінь Золотисту стелить постіль Осінь Осінь 2. Сидить осінь на горбрчку вишиває лісові сорочку Наче золоті пташенята Злітають у дерев листки.
54435. Пояснювальна записка до інтегрованого уроку (англійська, німецька мови, інформатика) 115 KB
  Тема: Die Brücke vom Herzen zum Herzen The Bridge from Hert to Hert Міст від серця до серця Мета уроку: 1 практична: розвивати навички монологічного та діалогічного мовлення; стимулювати інтерес учнів до теми уроку активізуючи використання вивченого лексичного матеріалу з теми; повторити правила утворення ступенів порівняння прикметників тренувати їх вживання; розвивати навички читання пошуку потрібної інформації в тексті; повторити географічні назви країн та...
54436. Мотивація навчальної діяльності учнів 58.5 KB
  Мотивація навчальної діяльності учнів Найважливіший сенс учительської праці навчити учнів так щоб вони не розгубилися в бурхливому вирії сучасного життя. Треба зацікавити учнів не лише конкретним предметом а й процесом отримання знань. За словами французького письменника вчитись треба тільки весело; щоб переварити знання треба поглинати їх з апетитом Саме тому однією з моїх методичних тем є проблема Мотивація навчальної діяльності учнів Будь яка діяльність людинив тому числі і навчання підкоряється загальній схемі: 1. Навіщо...