Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1_Analiz_vikhidnikh_danikh (1).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
497.91 Кб
Скачать

1.9 Скидання й обробка переривань

AVR-мікроконтролерипідтримуютьдекількарізнихджерелпереривань. Всіпереривання, а такожскиданнямаютьсвійіндивідуальний вектор в пам'ятіпрограм. Для кожного переривання є власнийбітдозволу. Крім того, є можливістьспільногодозволуроботипереривань за допомогоюуправліннявідповіднимбітом в статусному регістрі. В залежностівідзначенняпрограмноголічильникаперериванняможуть бути автоматично відключені, якщозапрограмуватибітизахистузавантажувального сектора BLB02 або BLB12. Цяфункціяпокращуєзахистпрограми. Найменшіадреси в пам'ятіпрограм за замовчуваннямвизначені як вектора скидання і переривань. Менші адреси володіють більш високим рівнем пріоритетом. Скидання (RESET) має найвищий пріоритет, за ним слідує INT0 - запит на зовнішнє переривання по входу INT0. Вектори переривання можуть бути переміщені в початок завантажувального сектора флеш-пам'яті установкою біта IVSEL в регістрі управління мікроконтролером (MCUCR). Після виникнення переривання біт I загального дозволу переривань скидається і всі переривання забороняються.

Користувач може програмно записати лог. 1 в біт I для дозволу вкладених переривань. У цьому випадку всі дозволені переривання можуть перервати поточну процедуру обробки переривань. Біт I автоматично встановлюється після виконання інструкції виходу з переривання RETI.Є два основних типи переривань. Перший тип переривань активізується подією, яка приводить до установки прапора переривань. Для даних переривань програмний лічильник змінюється на відповідний вектор переривання для виконання процедури його обробки і потім апаратно очищає прапор переривання. Прапори переривання також скидаються шляхом запису лог.1 у відповідний розряд. Якщо виникає умова переривання, але дане перериваннязаборонено, то прапор встановлюється і запам'ятовується до вирішення цьогопереривання або скидається програмно. Аналогічно, якщо виникає одне і більше умов

переривань при скинутому прапорі загального дозволу переривань, то відповідний прапор встановлюється і запам'ятовується до відновлення роботи переривань, а потім переривання будуть виконані відповідно до пріоритета.Другий тип переривань активізується відразу після виконання умови переривання. Дані переривання не обов'язково мають прапори переривань.Якщо умова переривання зникає до його дозволу, то даний запит ігнорується.Після виходу з переривання AVR-мікроконтролер повертається до виконання основної програми і виконує ще одну інструкцію до обслуговування будь-якого з відкладених переривань.Зверніть увагу, що регістр статусу автоматично не запам'ятовується при виклику процедури обробки переривання і не відновлюється при виході з цієї процедури. Дані дії необхідно виконати програмно.При виконанні інструкції CLI всі переривання забороняються. Запит на переривання не буде відпрацьований після виконання інструкції CLI, навіть якщо воно виникає одночасно з виконанням команд.