Главная » Бытовая электроника » Простые цифровые часы на PIC16F628A и DS1307 и 7-сегментным светодиодным дисплеем

Простые цифровые часы на PIC16F628A и DS1307 и 7-сегментным светодиодным дисплеем

В этом новом проекте снова используется микроконтроллер PIC16F628A . Цель проекта – создать простые цифровые часы с 7-сегментным светодиодным дисплеем. У часов нет дополнительных функций, таких как будильник, отображение секунд и даты. Однако их можно добавить в код программы.

В качестве микросхемы часов реального времени (RTC) выбрана микросхема DS1307. В качестве 7-сегментного светодиодного дисплея использован Kingbright CC56-21SRWA.

Принципиальная схема цифровых часов

Простые цифровые часы на PIC16F628A и DS1307

Микроконтроллер работает от внутреннего генератора на частоте 4 МГц, что позволяет сэкономить 2 дополнительных контакта. Вывод сброса (MCLR) используется в качестве входа для одной из кнопок.

Все сегменты светодиодного индикатора (анод) подключены к порту PORTB, а катоды подключены к порту PORTA. Микросхема RTC также подключена к порту PORTA.

Схема предельно проста, и для быстрого тестирования была собрана на макетной плате.

фото часов

Все заработало, как и ожидалось. Частота мультиплексирования (обновления цифр) составляет около 53 Гц, видимого мерцания не наблюдается. Из-за мультиплексирования цифры получились более тусклые, и для компенсации этого ток через сегменты должен быть немного выше.

Было протестировано с разными значениями сопротивления токоограничивающих резисторов R1-R7. С сопротивлением ниже 220 Ом микроконтроллер начинает плохо себя вести — некоторые цифры начинают мерцать. Если сопротивление 220 Ом и выше все вроде работает нормально.

Две точки посередине подключены к выводу SQW DS1307. Этот вывод настроен как выходной сигнал прямоугольной формы с частотой 1 Гц. Данный выход с открытым стоком, поэтому для работы он должен иметь подтягивающий резистор.

Часы имеют две кнопки для настройки времени — одна для часов и одна для минут. У микроконтроллера остался один неиспользованный контакт — RB7, который можно использовать для дополнительных функций. Например, можно подключить зуммер и добавить в программное обеспечение функцию будильника.

Программное обеспечение написано и скомпилировано с помощью программы MikroC Pro и использует встроенную программную библиотеку I2C для связи с микросхемой RTC.

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

Для программирования микроконтроллера можно использовать этот программатор.

Скачать файлы проекта (302,1 KiB, скачано: 595)

Источник

Оставить комментарий

Ваш email нигде не будет показан. Обязательные для заполнения поля помечены *

*