Схема счетчик таймер на attiny

схема счетчик таймер на attiny
Микроконтроллер ATTiny2313 является возрождением в новой серии старого микроконтроллера AT90S2313, который в свое время вышел довольно удачным. ATTiny2313 улучшенный вариант своего предка. Но он также унаследовал и довольно скромную периферию. Если прерывание происходит в то время, когда контроллер находился в режиме ожидания, добавляются еще 4 такта для перехода контроллера в активный режим. Следуя инструкции, можно за несколько минут установить все необходимое ПО. Единственный ньюанс, на который следует обратить внимание — avrdude (ПО для записи на контроллер) может потребовать права супер-пользователя для доступа к программатору. Возможностью внутрисхемного программирования (функция ISP) через коммуникационный интерфейс SPI обладают все микроконтроллеры AVR, кроме Tiny11 и Tiny28. Все микроконтроллеры семейства Mega имеют возможность самопрограммирования, т. е. самостоятельного изменения содержимого своей памяти программ. Биты защиты не требуют комментариев, их функции очевидны.


Если вам потребуется работа в другом режиме, то читайте Datasheet к ATMega16 – там все подробнейше по-английски написано, даны даже примеры программ на С и ассемблере (недаром же он занимает 357 страниц печатного текста!). Теперь займемся кнопками. Это значит, что передаваемый байт не может быть записан в регистр данных SPI до завершения цикла сдвига. Два бита SUT (startup time) определяют задержку пуска микроконтроллера.

Сохранение статуса нажатия в соответствующих битах переменной _pressed используется для исключения повторного срабатывания при длительном нажатии на кнопку. Это совпадение не случайно и относится ко всем регистрам МК (или почти ко всем). Т. е., написав «(1 Итого, строчка TCCR0 = (1 означает, что включен режим СТС, при срабатывании таймера0 меняется состояние «ножки» ОС0 (Она же PB3), содержимое счетчика увеличивается каждые 1024 такта. Рассмотрим бесконечный цикл while(1) в main(). В этом цикле проверяется состояние кнопок путем анализа содержимого регистра PINB. А зачем там стоит задержка на 50 мс? Это не позволяет процессору, не выполнив одного прерывания, схватиться за другое (ведь ориентируется он в программе именно таким образом – по флагам). Значит, нужно добавить строчку кода для установки этого бита в единичное состояние. Бит OCDEN требует внимательного к себе отношения, так как при его активном состоянии некоторые внутренние цепи тактирования не отключаются, что приводит к повышенному потреблению мощности в режиме ожидания.

Похожие записи: