Характеристики:
- 13 - разрядный 7 - сегментный светодиодный индикатор с общим катодом;
- звукоизлучатель сигнала будильника - пищалка, т.н. бузер;
- ток потребления от батареи при отключенном сетевом питании 9... 10 мкА.

Индикатор имеет 13 разрядов, что позволяет отобразить на нем значительно больше информации. С целью экономии ножек контроллера и удобства управления для выбора знакомест использован дешифратор DD2. Узел слежения за основным питанием (R1, R3, VT1, VT2) при исчезновении питания автоматически обесточивает DD2, отключая индикатор.

Электронные часы-календарь-будильник с резервным питанием - схема

Транзисторы VT1, VT2 с любыми буквенными индексами, диоды VD1, VD2 - любые, можно использовать отечественные КД522. Все кнопки без фиксации.

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

Индикаторы на 13 разрядов промышленностью не выпускаются, автор использовал 9-разрядный индикатор от старого телефонного аппарата "Русь", добавив к Нему дополнительный индикатор на 4 цифры. За неимением индикатора от "Руси" можно набрать необходимое количество разрядов, например, следующим образом: 3 индикатора по 4 цифры + 1 индикатор на 1 цифру. Все индикаторы должны быть с общим катодом и иметь одинаковые токи сегментов. При сборке одноименные выводы сегментов (аноды) всех индикаторов соединяются вместе.

Следует отметить, что если использовать микроконтроллер с буквой V (ATMega162V), то в качестве резервной батарейки можно использовать литиевую батарейку для материнских плат компьютеров, т.к. такой контроллер имеет нижний предел питания 1,8 В вместо обычных 2,7 В. В принципе, такую батарейку можно использовать и при отсутствии буквы V, но при этом необходимо выбирать диод VD2 с как можно меньшим падением напряжения с тем, чтобы Uбат - Uдиода > 2,7 В. Никакой модификации схемы или прошивки при этом не требуется.

Работой контроллера управляет микропрограмма, она обеспечивает весь функционал устройства - подсчет времени, Формирование изображения на индикаторе, опрос кнопок управления и включение пищалки будильника.

За подсчет времени отвечает таймер-счетчик, функционирующий асинхронно от отдельного "часового" кварца ZQ1. Таймер, используя цепочку предделителей, вызывает прерывание по переполнению 2 раза в секунду, обработчик которого выполняет всю работу по реализации хода часов и календаря.

Назначение кнопок:

"Mode" - смена отображаемой информации на экране. Режимы отображения: "DD.MM hh-mm-ss"," DD d hh-mm-ss"," DD.MM d hh-mm" (дефис между часами и минутами мигает), "DD.MM.d.hh-mm-ss", " DD.MM.YYYY hh.mm (точка между часами и минутами мигает), "Буд" hh - mm" - время будильника. В режиме коррекции это кнопка выбирает, что корректируем - часы/календарь/будильник. День недели вычисляется на основании числа, месяца и года

"Соrr"
- вход/выход в режим коррекции часов/календаря. При выходе из коррекции переменные часов не меняются. При коррекции изменяемый параметр мигает.

"Up""Down" - увеличение/уменьшение на единицу изменяемого параметра. При этом осуществляется контроль границ изменяемого параметра. Так, минуты возможно изменять от 0 до 59, часы - 0...23 и т.д. При изменении числа месяца учитываются номер месяца и високосные годы (29 февраля). Если режим коррекции неактивен, то при нажатии кнопки "Up" отображается время будильника, а кнопка "Down" ничего не делает.

"Set"
- в режиме коррекции осуществляет выбор изменяемого параметра. Параметр, который изменялся до нажатия кнопки, переписывается в регистры часов. Если часы не находятся в режиме коррекции, эта кнопка включает/выключает будильник, что отражает светодиод VD3.


Архив для статьи "Электронные часы-календарь-будильник с резервным питанием"
Описание: Исходные тексты(Си) для Atmega162/8535, проект Proteus
Размер файла: 45.26 KB Количество загрузок: 2 060 Скачать

Комментарии  

+1 #1 Neon1995 05.12.2014 01:42
Не подскажите как фьюзы выставлять при прошивке? В статье про это ничего не сказано, в архиве также.
И еще вопрос - что это за файл в архиве с расширением .DSN?
Сообщить модератору
+2 #2 AntonChip 05.12.2014 10:16
У atmega162 внутренний генератор только на 8Мгц, CKSEL3..0 = 0010
SUT1:0 = 01
DSN - это файл проекта симулятора Протеус
Сообщить модератору
+1 #3 Neon1995 06.12.2014 01:54
Спасибо за ответ!
Есть еще один вопрос - индикация в данной схеме динамическая?
Сообщить модератору
+2 #4 AntonChip 06.12.2014 07:18
Цитирую Neon1995:
Спасибо за ответ!
Есть еще один вопрос - индикация в данной схеме динамическая?

Да, конечно
Сообщить модератору