Часы - AТtiny2313 - DS1307 - LED.

Автор vitalyadm
Захотелось мне сделать часики на DS1307, убил на это дело день, в протеусе накидал схемку, написал прошивку, развёл быстренько ПП, уже вечером любовался на готовый результат .
В общем кому пригодится- пользуйте на здоровье, у меня по крайней мере работают уже как с пару месяцев и ход конечно впечатляющий, пока секунда в секунду, но больше всего радует то что после отключения питания не нужно ставить время заново, установил раз и забыл.
В своей конструкции я использовал индикатор фирмы «Kingbright» с общим катодом, хотя можете использовать и с общим анодом,
прошивку прилагаю на оба вида индикаторов.



Сопротивления сегментов (270 Ом) можно использовать другие, в зависимости от желаемого уровня свечения, но не меньше 120 Ом.
Подтягивающие резисторы 100 кОм могут варьироваться в пределах 10 кОм…100 кОм, смотря что есть под рукой.
Кварц обычный «часовой кварц» (он кстати так и называется), если закончились в магазине можете выпаять из любых китайских стрелочных часов. Батарейка резервного питания «CR2032», при использовании новой- года 3 вам часы устанавливать заново точно не потребуется.
Светодиод не несёт особого смысла, просто оставалась свободная лапка, поэтому единственное что он делает- так это загорается при переходе на каждый новый час на 15 секунд.
Входной диод на 78L05 предназначен для защиты- номинал любой, я ставил 1N4007.
Сердцем устройства является МК «AТtiny2313».
Печатная плата в моём варианте имеет размеры 53 х 60, изготавливал её при помощи обычного «утюжного» способа.
Для питания готовой конструкции использую зарядку от умершего своей смертью телефона Siemens, подойдёт любая с выходным напряжением больше 5 вольт.

Очень удобно, во первых- готовый БП, во вторых- малый ток потребления, да и размер что надо.
Теперь непосредственно по работе. После подачи напряжения загорается сегмент G первой цифры и в стиле бегущего огня доходит до последней. В этот момент МК проверяет- не было ли замены батарейки и идут ли часы. Если была замена, то МК выставляет текущее время- 16:23:00, соответственно вам нужно сменить его на реальное текущее.
Коррекция времени осуществляется нажатием и удержанием необходимой кнопки (часы или минуты), алгоритм коррекции: текущее значение + 1, если больше максимально возможного = 0.
Считывание значений текущего времени с DS- ки происходит приблизительно с интервалом 2 секунды. Время отображается в формате 24 часа, часы минуты разделяются мигающим двоеточием.
Несколько если:
Если точность хода страдает- выкиньте кварц и поставьте новый.
Если будете разводить печатную плату по своему усмотрению- дорожки идущие от кварца к ножкам DS- ки делайте максимально короткими.
Если вместо цифр у вас какая- то непонятность, а при запуске сегмент G появляется правильно- смените батарейку.
Схема

Fuse.

Архив файлов; схема, прошивки ОА и ОК, исходник, печатная плата.