Наконец таки испекся практически полный аналог КР145ИК1901 на ардуинке.
Схемка макетки
https://img.radiokot.ru/files/20529/2tic4f218y.GIF
Собственно моя версия макета из "подручных кубиков"
https://img.radiokot.ru/files/20529/2tic3k8gq1.jpg
Собственно сам СКОТч:
Исходник с самодельной библиотечкой для дисплея на MAX7219 лежит в папке max72m.
Его надо перекинуть в соответствующий раздел IDE перед запуском компиляции.
Размер конечно жутковатый - результат компиляции под 10 килобайт, менюшкины экраны весьма примитивны - но то ужшшш...возможности дисплея...
Система без RTC на собственном источнике тактирования.
Вот тут более серъезная проблема.
Основной генератор (на основе прерывания SIGNAL(TIMER0_COMPA_vect) ), как оказалось таки дает суточное отклонение (хотя и стабильное)...
Второй вариант - тактирование часов от INT0/INT1+ tone позволяет сделать коррекцию.
Но там вылазит нестабильность при одновременной работе главных часов и кого-то из секундомера/таймера.
Так что все же лучше (при необходимости) запускать часики от RTC.
Ранние конструкции под ассемблером такой пакостью не страдали - но... там я абсолютно владел структурой программы, а в данном случае специально ограничивался рамками "референса".
Касательно функционала самого устройства -
главные часы (настройка часов, минут, пуск секундомера и корректор точности хода);
секундомер;
таймер обратного отсчета с возможностью ввода уставки (до 99 часов 59 минут);
два будильника с раздельной установкой времени, разрешения и активного уровня на выходе;
ну и там еще 4 свободных места под.... фантазию пользователя.
Из режима индикации главных часов возможно отключение активированного выхода будильника...
УФФ...
Описание работы с менюшками для пользователя отдельно попозже постараюсь нашкрябать, ежли настроение творческо посетит...
