Introduction: RTC With DS1307 and PIC16F628A
It is a circuit produced from top to bottom by myself.
Step 1: RTC Control Circuit
This is the first floor of pcb which is designed one layer. it contains positive voltage regulator, filter,real time clock IC, battery, pic16f628, 1*16pin header for LCD, 2x4 pin header for buttons and led, 1*2pin header for 5Vsupply.
As you know, real time clock IC(DS1307) is a product that supports I2C communication protocol which is not included in pic16f628 as hardware level. Inorder to overcome this obstacle, I used I2Cprotocol in the software level which means you don't have to use interrupt, flag, control register etc. The reason why 16F628A is choosen is that it reduces minimum I/O ports requared for hardware realization and the cost of entire circuit including pcb,soldering,components etc.
Step 2: Second Floor for Visualizaton and Button Interface
Second floor cotains of 2*3 push buttons,LCD screen and led. One group of buttons is used to adjust date and time, and the other group is used to adjust alarm time. For RTC adjust group of buttons, mid button is used for selection amongst date,month,day etc. Right button increases selected variable and left one decreases selected variable. Fort the purpose of alarm time adjustment other button group is used. Similar to rtc buttons, right button increases selected variable(hour,minute) and left one decreases selected variable.