Таймер обратного отсчета на МК ATmega8

Таймер обратного отсчёта поможет вам точно отмерять интервал времени в диапазоне от 1 секунды до 24 часов.

Сегодня никого не удивишь конструкцией таймера, т.к. в продаже и в интернете подобных устройств, сколько угодно. И все таймеры вроде бы похожи друг на друга. И когда более подробно начинаешь рассматривать функции схемы, находишь в ней  какие либо неудобства для себя.

Вот из этих соображений я и сделал программу таймера, который отвечает следующим параметрам:
– компактная конструкция и простая схемотехника;
– оперативное кнопочное управление;
– при управлении кнопками, дублирование действий на ЖКИ;
– задание времени с точностью до секунды;
– диапазон отсчета от 1 секунды до 24 часов;
– функция  старт, пауза;
– функция сброса отсчета и выставленных значений времени;  
– при достижении значения 00.00.00, включается исполнительное устройство;

Все поставленные задачи были реализованы в этом  проекте.

Описание режимов работы таймера

После включения таймера, можно выставлять время, которое нам требуется. Назначение кнопок видно на схеме. После установки, нажимаете кнопку  СТАРТ-пауза  отсчет начинается. Максимальное выставляемое время 23.59.59.

Коррекция времени отсчета может быть произведена в любой момент работы таймера, после подачи питания на схему.

Как только время достигает 00.00.00, — включается светодиод  (в данный момент это имитация включения исполнительного устройства или просто можно пищалку с генератором).

Если при его работе таймера нажать кнопку старт-ПАУЗА, таймер остановит отсчет, двойное нажатие кнопки СТАРТ-пауза приводит к возобновлению остановленного отсчета.

Чтобы выключить нагрузку после включения, нужно нажать СБРОС, данные таймера установятся 00.00.01 — нагрузка выключиться. Или выставить новый период отсчета и двойное нажатие кнопки СТАРТ-пауза.

Отображение на ЖКИ символов < ! > означает, что нагрузка отключена (PD3) и при однократном нажатии кнопки СТАРТ начнется обратный отсчет установленного времени.

Принципиальная схема таймера

Кварц внешний 8 MHz, для точности счета.

FUSE

Для программатора в PonyProg и CodeVisionAVR нужно убрать все галочки с настройки тактового генератора.

После прошивки программатором фьюзов от внешнего кварца, контроллер будет читаться программатором только с кварцем.

Внимание! Что касается FUSE-битов. Это основной источник ошибок, приводящих к залочиванию контроллера.
— CKSEL3…0 должны быть НЕзапрограммированы.

В PonyProg и CodeVisionAVR стоят так:

Fuse

ЖК должен быть на  базе контроллера HD44780

ЖКИ

16х1, для него в архиве имеется прошивка V-1

ЖКИ

или  8х2, в архиве прошивка V-2.

Работу схемы можно протестировать в proteus’е.

Моделирование таймера в Proteus

Если при симуляции проекта в proteus’е некорректно отображаются символы кириллицы  на ЖКИ, то для правильного отображения кириллицы на ЖК индикаторе распаковать библиотеку  LCDrus.zip (приложена в архиве проекта) в папку models proteus’а.

Скачать архив проекта: прошивка, фьюзы, proteus вы можете ниже

C@at (http://c2.at.ua)

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
МК AVR 8-бит ATmega8 1
Линейный регулятор LM7805 1
Выпрямительный диод 1N4148 1
Конденсатор 22 пФ 2
Конденсатор 0.1 мкФ 1
Электролитический конденсатор 100 мкФ 1
Электролитический конденсатор 470 мкФ 1
Резистор 470 Ом 1
Подстроечный резистор 5 кОм 1
Резистор 10 кОм 1
Кварцевый резонатор 8 МГц 1
Светодиод 1
Тактовая кнопка 8
LCD-дисплей 16×2 1