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

Захотелось мне как-то, чтобы компьютер включался или выключался по истечению заданного времени. То есть как будильник. В результате было собрано данное устройство

Таймер обратного отсчёта

В устройстве используется микроконтроллер Atmel Attiny2313.

Для изготовления таймера понадобится:
1. Микроконтроллер Atmel Attiny2313 (С любыми индексами)
2. LCD индикатор 2×16 на контроллере HD44780
3. Тактовые кнопки (3 шт.)
4. Динамик или пьезоизлучатель
3. Резистор 100 Ом (2 шт.)
4. Резистор 4,7кОм
5. Оптопара

Вот схема устройства:

Схема таймера обратного отсчёта

Как видно, схема не такая уж сложная. Кнопка S1 – Установка МинутСекунд (в зависимости от прошивки), кнопка S2 – Установка ЧасовМинут (в зависимости от прошивки), кнопка S3 – ОК. Для устройства я написал две версии прошивки (Ver. 1 – таймер по часам, Ver. 2 – таймер по минутам). Прошивку писал в среде BASCOM-AVR (исходники прилагаются).

После запуска устройства оно попросит ввести изначальное время:

Установка времени

После того как изначальное время установлено, нажните кнопку ОК. Должен начаться обратный отсчёт:

Обратный отсчёт

По истечению заданного времени на 9 (PD5) ножку микроконтроллера (в течение 1 секунды), подаётся логическая 1.

Включение нагрузки

Потом на 9 (PD5) ножку микроконтроллера, подаётся логический 0.

Выключение нагрузки

Далее, устройство уведомит вас о завершении обратного отсчёта.

Установка времени

Если нажать кнопку ОК то таймер начнёт свою работу заново.

Прошивка:
HVtimer.HEX – прошивка таймера по часам Ver. 1
MVtimer.HEX – прошивка таймера по минутам Ver. 2

Установка фьюзов в PonyProg2000:

Установка фьюзов в PonyProg2000

На видео, в качестве нагрузки я подключил светодиод.

Ниже вы можете скачать прошивку, проект в Proteus, исходник

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

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
МК AVR 8-бит ATtiny2313 1
R1, R2 Резистор 100 Ом 2
R3 Резистор 4.7 кОм 1
R4 Переменный резистор 10 кОм 1
LCD-дисплей HD44780 1
Z1 Кварц 10 МГц 1
S1-S3 Кнопка 3
Ls1 Динамическая головка 1
Оптопара 1