Увы, длинные новогодние каникулы кончились и уже не получается уделять хобби так много времени. Однако, прошедшие выходные были на удивление плодотворными.
По некоторому размышлению я снял со схемы кварцевый резонатор. Измерением точного времени занимается специальная микросхема, поэтому точности встроенного генератора на 8МГц вполне хватает.

Самое главное — на этой неделе почта привезла USB-программатор (на фото справа). Вместе с доставкой из Китая получилось дешевле, чем аналогичный набор деталей здесь.
Вещь, конечно, удобнейшая. До этого я пользовался так называемым «программатором Громова» и программой UniProf. Процесс прошивки выглядел примерно следующим образом:
- отключить питание
- подключить программатор
- включить питание
- запустить UniProf
- очистить память
- открыть файл с прошивкой
- записать
- отключить питание
- отключить программатор
И так — каждая прошивка. Теперь же ничего отключать-подключать не нужно, вся прошивка делается по нажатию одной кнопки. Скомпилировал-прошил. После чего программатор посылает сигнал сброса и устройство начинает работать. Скорость отладки выросла неимоверно - я сразу же разобрался, почему не приходили данные с DS1307. Оказалось, была ошибка в реализации протокола I2C. Поправил — и всё сразу заработало.
В результате где-то за три часа я полностью закончил микропрограмму. Теперь девайс показывает текущее время, причём не теряет его даже при отключении питания. Настройки сохраняются в постоянной памяти микроконтроллера и не теряются при выключении.
В режиме настройки можно задать »ночной» режим, когда индикаторы снижают яркость почти до минимума, сейчас это с 23:00 до 8:00.

Минимальная яркость
Микроконтроллер, конечно же, неимоверная штука. Простым программированием на C можно добавлять практически любые функции, которые потребуются. Не хватит возможностей «железа» — можно добавить дополнительные датчики. Расширяемость просто чумовая.
Теперь на очереди корпус.
