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

В устройстве используется микроконтроллер 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:

На видео, в качестве нагрузки я подключил светодиод.
Ниже вы можете скачать прошивку, проект в 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 | |||||