For this project I was planning to construct a clock that could be synchronized with an external source. The clock should be able to keep the time between synchronizations as these may be sparse. It also needed to be able to store the current time in a memory and keep a register of stored times. The current time and the register must be viewable by the user and the clock must also have the ability to count down the last five seconds prior to a minute selected by the user. I have performed this work at home with my own equipments.
As an external source for the synchronization I have chosen the DCF-77 clock signal broadcasted from Germany. To receive this signal I used a cheap AM receiver built specifically for this purpose. For the actual clock I used a PIC microcontroller which I programmed in C. The chip had all I needed including an oscillator and a RAM memory. I also connected a 3x16 character LCD display to the clock as well as 4 1-pole buttons for the user interface.
The program is built upon an interrupt routine that with help of an internal timer is set to execute once every hundreds of a second. During this interrupt routine all other functions are executed. These functions include a DCF decoder, an internal clock to keep the time, an LCD driver and a user interface.
I have managed to read the clock signal from the receiver but due to interferences from the computer I used to program the PIC chip, I have not been able to get any good reception close to the computer. Apart from this setback the clock works as it should and it meets all other criteria.