Сайт использует сервис веб-аналитики Яндекс Метрика с помощью технологии «cookie». Пользуясь сайтом, вы даете согласие на использование данной технологии.
Система прерываний AVR микроконтроллера (инкрементальный энкодер)
Лекция расскажет о системе прерываний 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 Демонстрация работы