Простейшие часы на микроконтроллере


     Предлагаемые вниманию читателей часы содержат минимальное число элементов, а "уходят" за сутки не более чем на 1 с. Цифры высотой 14 мм на их светодиодном индикаторе хорошо видны не только ночью, но и в дневное время. При отключении питания индикатор гаснет, но счет времени не нарушается.
     Современные светодиодные индикаторы обладают достаточной яркостью при рабочем токе даже в несколько миллиампер. Это позволяет подключать их к микроконтроллеру через токоограничивающие резисторы без транзисторных усилителей тока. Понижая тактовую частоту микроконтроллера, можно снизить потребляемый им ток до чрезвычайно малого значения и отказаться от использования микросхем RTC (часов реального времени).
     Исходя из этих факторов, были разработаны электронные часы на микроконтроллере PIC16F84A. Реализация в них дополнительных функций — будильников, таймеров, термометров — не предусматривалась. Однако у микроконтроллера остался свободным выход с открытым коллектором RA4, который можно использовать при доработках.
Простейшие часы на микроконтроллере

     Схема часов показана на рис. 1. Линии портов RA2, RA3 и RB1 микроконтроллера DD1 в различные моменты времени работают как входы или как выходы. Остальные — только выходы.
     На линии RB1 формируется сигнал, включающий разделительную точку между разрядами часов и минут на индикаторе HG1, по этой же линии контролируется наличие внешнего напряжения питания. При его отсутствии микроконтроллер прекращает выводить текущее время на индикатор и переходит в экономичный режим.
     В этом режиме потребляемый часами ток уменьшается до 20 мкА, и они питаются от резервного литиевого элемента G1. Легко подсчитать, что при емкости элемента CR2032 220 мА*ч часы могут оставаться в экономичном режиме более года, правильно при этом отсчитывая время.

Простейшие часы на микроконтроллере

     Линии RA2 и RA3 дополнительно служат для установки и коррекции времени. При нажатии на кнопку SB2 "Уст." на индикаторе начинает мигать с периодом 1 с крайняя правая цифра — единицы минут. Если при этом нажать на кнопку SB1 то каждую секунду число на индикаторе будет увеличиваться на единицу, а результат записываться во внутренний буфер микроконтроллера.
     Чтобы установить десятки минут, часы и десятки часов нужно поочередно нажимать на кнопки SB2 и SB1. Спустя 10 с после последнего нажатия на SB2 часы автоматически перейдут в рабочий режим. Корректируя время, нужно учитывать, что нажатие на кнопку SB2 обнуляет внутренний счетчик секунд, что позволяет устанавливать время с точностью до секунды
     Формат отображения времени — 24-часовой с гашением незначащего нуля в разряде десятков часов, точка между разрядами единиц часов и десятков минут мигает с периодом 1 с.

Простейшие часы на микроконтроллере

     Часы собраны на односторонней печатной плате из фоль-гированного стеклотекстолита толщиной 1 мм, изображенной на рис. 2. Все резисторы и конденсатор С1 — типоразмера 0805 для поверхностного монтажа. Они размещены на стороне печатных проводников. Собранная плата и расположение на ней остальных деталей показаны на фото рис. 3. Здесь имеется проволочная перемычка.
     Четырехразрядный светодиодный индикатор, указанный на схеме, можно заменить любым из серий GNQ-5642 и GNQ-5643, причем как с общим катодом, так и с общим анодом. Для этого загружают в память микроконтроллера с помощью программатора соответствующий файл: clock_OA.HEX (общий анод) или clock_OK.HEX (общий катод). Микроконтроллер PIC16F84A можно использовать с любой предельной тактовой частотой (это последние две цифры в его полном обозначении).
     Питают часы от сетевого адаптера или другого источника постоянного напряжения 9...15 В. В рабочем режиме они потребляют ток около 20 мА. Для обеспечения точного хода часов потребуется, возможно, подборка конденсатора С3.

В архиве прошивка для индикатора с общим катодом и прошивка для индикатора с общим анодам
clock.rar


Радио 2011 №6