Это простые цифровые часы с указанием времени дня — хорошая отправная точка для изучения микроконтроллеров. В схеме используется 18-контактный микроконтроллер PIC16F84A, 7-сегментный светодиодный дисплей и три кнопки для управления часами.
Схема основана на проекте Дэна Мэтьюза, первоначально описанном в Microchip AN-590. В проекте Дэна Мэтьюза используется микроконтроллер PIC16C54, поэтому код был переписан под более популярный чип PIC16F84A. Была сохранена аппаратная часть и разработана подходящая печатная плата, рисунок которой можно скачать в конце данной статьи.

Принципиальная схема часов на PIC16F84A
Отдельные сегменты каждого из разрядов дисплея соединены вместе, AAAA, BBBB и т. д. Выводы микроконтроллера PORTB управляют светодиодными сегментами. Подключения: RB1-A, RB2-B, RB3-C … RB7-G. Центральные точки часов подключены к RB-0.
Общий катод каждого разряда дисплея подсоединен к одному из четырех линий ввода / вывода PORTA. Соединения: RA0 — Цифра1, RA1- Цифра2, RA2 — Цифра3, RA3 — Цифра4 (сегменты дисплея нумеруются слева или от старшей цифры).
Кнопки также подключены к контактам ввода-вывода PORTB. Чтобы прочитать состояние кнопок, поскольку мы используем каждый вывод для вывода на индикатор, мы на короткое время переключаем некоторые выходы на вход.