Часы/календарь на МК ATTiny2313 и RTC DS1305

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

В данной статье, ориентированных, в первую очередь для начинающих, я хотел бы предоставить конструкцию часов/календаря, основанную на интегральной схемы часов реального времени DS1305, управление, обработку и вывод данных на дисплей я предоставил микроконтроллеру ATTiny2313 – его будет вполне достаточно для нашей цели.

Полистав даташиты на интегральную схему часов реального времени, микроконтроллер и дисплей, нарисовал принципиальную схему, которую вы можете увидеть ниже. Я использовал всего 3 кнопки для занесения первоначальных данных в дисплей. Можно, конечно же, обойтись и меньшим количеством, но меня ничуть это не беспокоило, поскольку в моей конструкции у микроконтроллера ещё оставались линии данных.

Я предусмотрел возможность использования моего устройства не в виде отладочного средства, а в виде конечного устройства, которое может использоваться и как таймер. Для этого я предусмотрел на печатной плате линии для подключения прерываний.

Сборка устройства не представляет из себя что-то сверхъестественное, односторонняя печатная плата под размер дисплея, DS1305 «урезан» для SMD монтажа, все остальные компоненты SMD.

После травления получилась вот такая плата:

После изготовления печатной платы необходимо ее залудить – это придаст более эстетический вид и защитит проводники от скоротечного разрушения проводников.

После этого я припаял электронные комплектующие, причем отрихтовав предварительно выводы DS1305.

Получилась вот такая вот конструкция:

После изготовления аппаратной части устройства, подходим к программированию. Я писал на С в среде программирования WinAVR.

Для установки времени/даты используется конфигурация последовательности нажатий кнопок. Приведу их в таблице:

После нажатия кнопки Settings мы переходим в меню установок.

1) Установка числа месяца

Выключается синхронизация часов, кнопками + или – выбираем нужное число месяца

2) Установка месяца

То же самое, выбираем месяц

3) Установка года

Выбираем нужный год

4) Установка часов

Выбираем количество часов

5) Установка минут

Выбираем количество минут

6) Установка секунд

Выбираем количество секунд, включается синхронизация часов

Все подтверждения операций осуществляется кнопкой Settings.
Приведу пример видео, где покажу, как пользоваться настройкой времени.

Скачать исходник, прошивку и печатную плату в формате LAY вы можете ниже

Евгений Ильин (Arlleex) E-Mail: StalkerElectronics@mail.ru


Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.