Система прерываний AVR микроконтроллера (инкрементальный энкодер)

Опубликовано: 03 Сентябрь 2026
на канале: Михаил Копычев
3,017
79

Лекция расскажет о системе прерываний AVR микроконтроллера. Рассматриваются регистры внешних прерываний и пример программирования энкодера.
Прерывания в микроконтроллере - это набор инструкций, которые исполняются в произвольный момент времени, не определённый программистом заранее, а исполняются они по причине некоего события - внешнего (например, смена состояния сигнала на ножке контроллера) или внутреннего (например, переполнение и сброс значения таймера/счётчика) по отношению к микроконтроллеру.
Atmega128 имеет 8 ножек для подключения внешних сигналов, могущих вызвать прерывание программы, каждая ножка может быть настроена независимо с помощью специальных регистров - регистра локального разрешения прерываний EIMSK, регистра настройки типа сигнала, вызывающего функцию-обработчик прерывания EICRA (для младших ножек прерываний INT3...INT0) и EICRB (для старших ножек прерываний INT7...INT4) и регистра флагов прерываний EIFR (выставляется при переходе функции main() в функцию-обработчик прерывания).

Тайм-коды:
00:00 Введение
00:05 Определение прерываний
01:21 Источники прерываний
03:18 Базовые вектора прерываний
04:07 Регистр EIMSK внешних прерываний
05:32 Регистр EIFR внешних прерываний
06:02 Регистр EICRA внешних прерываний
06:49 Регистр EICRB внешних прерываний
07:22 Моделируем кнопку в Proteus
14:14 Поработаем с механическим энкодером
14:58 Принцип работы энкодера
16:51 Подключение энкодера к AVR
17:18 Функция-обработчик прерывания сигнала с энкодера
19:17 Демонстрация работы