В начало | Зарегистрироваться | Заказать наши киты почтой
 
 
 
 

Анатомия микроконтроллеров ATmega - 3. Прерывания.

📆21 июля 2008   ✒️alx32   🔎27.931   💬4  
Итак, наши светодиоды мигают, но мы не можем никак повлиять на программу, давайте добавим в схему кнопку:

и подключим её к выводу порта В, к нулевому разряду.
Откроем мастер Code Wizard AVR, и создадим новый проект:
Анатомия микроконтроллеров ATmega - 3. Прерывания.

Исключён фрагмент. Полный вариант доступен меценатам и полноправным членам сообщества.

Источник тактовых импульсов по умолчанию установлен системным, частоту таймера устанавливаем равной 3906 кГц, и поставим галочку прерывания по переполнению. Щас я объясню что почём.

Таймер 0 восьмибитный, то есть он считает с 0 до 255, при превышении числа 255 происходит переполнение, вырабатывается прерывание и значение таймера сбрасывается в 0. При генерации прерывания основная программа останавливается и происходит переход на подпрограмму обработчик прерывания по вектору записанному в начале памяти программ. Для каждого события отведён свой вектор. Основная программа не замечает прерываний, но она может ими управлять.

Давайте реализуем это всё на практике.
Исключён фрагмент. Полный вариант доступен меценатам и полноправным членам сообщества.


Далее заполним наш бесконечный цикл:


В бесконечном цикле программа проверяет нажатие кнопки, и переключает прерывания, разрешая или запрещая их. обратите внимание на команду #asm("sei")/#asm("cli"), это инструкция компилятору для вставки в данном месте команды ассемблера разрешения/запрещения прерывания. Таким образом мы запускаем/останавливаем бегущие огни.

Подробнее с прерываниями можно ознакомиться в даташите на ATmega8, даташит можно найти в "Справочнике" на нашем сайте.
Продолжение следует...
Александр

Камрад, рассмотри датагорские рекомендации

🌼 Полезные и проверенные железяки, можно брать

Опробовано в лаборатории редакции или читателями.




 

Читательское голосование

Нравится

Статью одобрили 10 читателей.

Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.
 

Поделись с друзьями!

 

 

Связанные материалы

 

Схема на Датагоре. Новая статья Анатомия микроконтроллеров ATmega - 2... Итак, продолжим издевательство над МК. Что же нам ещё такого сделать? Давайте заставим мигать...
Схема на Датагоре. Новая статья Грызём микроконтроллеры. Урок 3. Циклы, прерывания и массивы... Эту статью я начну с провокационного вопроса… А какую конструкцию на основе МК хотите создать ВЫ?...
Схема на Датагоре. Новая статья Грызём микроконтроллеры. Урок 8. Программирование кнопок, клавиатуры, энкодера... Здравствуйте, дорогие Датагорцы! По некоторым слабо зависящим от меня причинам не мог участвовать в...
Схема на Датагоре. Новая статья Програмирование в AVR Studio 5 с самого начала. Часть 7... Поговорим о прерываниях. Слово прерывание говорит само за себя, происходит остановка какого — то...
Схема на Датагоре. Новая статья Програмирование в AVR Studio 5 с самого начала. Часть 8... Перейдем к изучению встроенных таймеров. Изучение прерываний и особенно таймеров в...
Схема на Датагоре. Новая статья Грызём микроконтроллеры. Урок 9. Клавиатура вглубину... И снова приветствую Вас в моей лекционной! На этот раз я расскажу Вам как "сэкономить"...
Схема на Датагоре. Новая статья Программный валкодер... Это не новость и не статья. Это просто развёрнутый комментарий к датагосркой статье "Что есть...
Схема на Датагоре. Новая статья Немного про шину 1-Wire и цифровой термометр DS18b20... Здравствуйте, друзья. Хочу предложить вашему вниманию несколько простых функций для работы с шиной...
Схема на Датагоре. Новая статья Анатомия микроконтроллеров ATmega... Здравствуйте, датагорцы! После публикации моей первой статьи, меня завалили вопросами о...
Схема на Датагоре. Новая статья Программа обмена по RS-232 на языке C# в среде Microsoft Visual Studio... Сограждане, применяющие микроконтроллеры, часто испытывают потребность использования функций...
Схема на Датагоре. Новая статья Програмирование в AVR Studio 5 с самого начала. Часть 3... Мы научились включать и выключать светодиоды, а как сделать, чтобы они сами заморгали? Понятно,...
Схема на Датагоре. Новая статья Программирование микроконтроллеров ATmega... Хеллоу ВСЕМ!!! Итак, как я и обещал, расскажу как залить программу в МК. Для этого нам понадобится...
 

Комментарии, вопросы, ответы, дополнения, отзывы

 

<
Читатель Датагора

GuntisK

<
Читатель Датагора

alx32

<
Читатель Датагора

alx32

<
Читатель Датагора

GuntisK

Добавить комментарий, вопрос, отзыв 💬

Камрады, будьте дружелюбны, соблюдайте правила!

  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги
 
 
В начало | Зарегистрироваться | Заказать наши киты почтой