RoboC писал(а):А почему просто не считывать время из DS1307 постоянно?
В принципе, можно и не заниматься счетом в вавилонской 60-ричной системе счисления

а просто считывать по секундным прерываниям время из DS1307, но либа, которую я юзаю для I2C, работает с TWI по опросу. Хотя протокол I2C допускает "плавание" частоты, так что прерывания динамической индикации мешать обмену не должны, все же решил не рисковать, и вынести все общение с DS1307 в те моменты, когда можно запрещать прерывания и гасить индикатор - считывание времени при старте, и запись новых установок при нажатии на кнопку Setup. Если даже индикаторы при этом моргнут заметно для глаза, это не страшно.
Если кому то нужен софт и схема (конечно, каждый здесь собрал уже по куче часиков, но вдруг?

) могу поделиться. Софтом после дописывания установочной части, конечно. Плату выложить могу, но в ней есть пара серьезных косяков, делающих сборку нетехнологичной - изматерился весь, пока паял, нехрен было как говориться гнаться за дешевизной

Плата состоит из трех частей (но нарисована как единое целое для удобства изготовления) - плата индикаторов, плата драйверов и источника питания, и плата контроллера. Собираются бутербродом, кнопки получаются на обратной стороне. Такой конструктив позволяет привести размер всех плат к размеру платы индикаторов, да и давал возможность (которая правда не понадобилась, но после макетных испытаний решил не пренебрегать) отгородить экраном HV конвертер от платы контроллера.
P.S. По глупости, купил десяток 1-Wire термометров (в этих часах нет) DS1820 - а потом узнал, что есть I2C LM75 (если не ошибаюсь с названием). И вот не знаю - не то продать, не то использовать, а вот 1-Wire как раз критичен к таймингам, и температуру из него считывать надо в процессе работы. Правда, его либа позволяет заюзать UART и его прерывания, так что должно получится. UART будет потерян, но в часах это несущественно.
Да и AVR-ки и DS1307 10 штук взял тоже по глупости

вместо того чтобы переходить на STM32F103, встроенный RTC и USB. И ног много - даже в 48-пиновом варианте, 32 линии в/в - этого хватит за глаза, можно подцепить катодные и анодные ключи непосредственно к контроллеру, и софт не усложнится оттого, что катодов 10, а не 8 - архитектура то 32 разрядная. Конечно, STM32 слишком жирно для часов, но цена стольник с небольшим на ebay

У кошки четыре ноги - вход, выход, земля и питание. Но трогать ее не моги - получится замыкание.