I started this project one afternoon when I didn't have anything to do. The goal was to make a clock from the parts I had lying around (excluding microcontrollers). The result, as you can see below, is a clock built entirely from TTL ICs. It was a fun project and I learned a good bit from it. On this page I'll attempt to flesh out the details of the project.
13 - 74LS76 - Dual JK Flopflops
3 - 74LS00 - Quad 2-input NAND
2 - 74LS20 - Dual 4-input NAND
1 - 74LS04 - Inverter
2 - 74LS153 - Dual 4-input Multiplexer
1 - 74LS47 - 7 Segment Decoder
2 - LM555 - Timer
2 - Diodes
Some capacitors and Resistors
Here is a block diagram of the basic operations of the clock
Time is kept based on a 60hz sine wave from mains. A series of frequency dividers divide the signal down to 1/60hz. The divided fequency is then used to trigger the clock counters, as shown in the diagram above.
I found the most interesting part of the whole project to be the multiplexing of the digits. The multiplexers take two control bits to select which data goes to the 7-segment decoder. There's also a decoder that takes the control bits and turns on the right digit at the right time. Initially I took the control bits from the two LSBs of the first counter. Alas, this wasn't fast enough as the display refreshed at 15hz. I ended up using a 555 timer to generate a ~300hz clock for good measure.
I cut quite a few corners in this project due to the fact that I was working with what I had lying around. One of the biggest issues I had was with the power supply. Obviously, a regulator would have been my best bet. It was still pretty interesting to see the supply lines decrease every time I added a chip.
The setting mechanism is as basic as it gets. To set the clock you plug the probe into the clock of the digit you're incrementing and hit the button. So, a pretty decent understanding is required to set the clock.