[Giorgos Lazaridis] just finished building a simple clock on a breadboard. It uses a common real time clock chip, the DS1307. This is less expensive that its full-featured older brother, the DS3232. The difference between the two is that the 1307 requires an external 32.768 kHz crystal and it is not temperature compensated. This means it will not be quite as accurate over the long-haul (it may wander as much as one minute per month), but it still blows the accuracy of using a microcontroller as an RTC out of the water and includes a backup battery which will keep time when the rest of the circuit is switched off.
This design uses a PIC 16F1937 to display the time and date on a 16×2 character LCD screen. Six buttons are dedicated to incrementing one specific chunk of data (ie: one button changes the year, another the day, etc.). A seventh button can be held down when using the other six in order to decrement the setting. We’re always interested in how the button code is written. [Giorgos] did share his code, but he wrote it in assembly so it’s of little use to us as we tend to stick to C code.
See the walk through video after the break.