Конструкция будильника состоит из двух частей: плата дисплея и платы микроконтроллера с таймером (часы) реального времени на DS1307, так же устройство содержит 3-х вольтовый элемент для резервного питания и зуммер.
Микроконтроллер PIC запрограммирован так чтобы считать данные с таймера реального времени DS1307 , используя шину последовательной передачи данных I2C.
PIC контроллер выполняет две функции: это сравнивает время с настройками времени сигнала будильника и также обрабатывает время, дату и установку времени звукового сигнала будильника. 16F74 не имеет собственной памяти, таким образом, все настройки сохранены в DS1307.
Цифровой дисплей состоит из четырех красных семисегментных индикаторов с общим анодом. Каждый анод индикатора подключен к выходам микроконтроллера RA0-RA3, а одноименные сегменты индикаторов соединены вместе и подключены к выходам RB0-Rb7 для управления индикаторами в динамическом режиме. Подпрограмма прерывания в PIC контроллере обновляет каждый сегмент поочередно приблизительно в 1/100 с.
Источник: PIC Будильник
Исходный Код ZIP (30.6Kb)