This project is a six digit clock displaying time in a hh:mm:ss format. Two active high pushbuttons are available to increment both the hours and minutes for setting the time. The dot between the hour and minute numbers as well as between the minute and second numbers are blinking in the interval of a second. The outputs are active low control signals for a common anode seven segment display. The signals are multiplexed for all six digits and PMOS or PNP transistors are intended to enable the six digits/anodes.
Supply a clock of 32768 Hz clock to the circuit and connect two push buttons to input pins 0 and 1, connect a 7-segment display to the eight output ports. The 8-bits are coded from MSB to LSB: dot, segments a, b, c, d, e, f and g. Conncet the bidirectional ports (all configured as outputs) to the digit enable transistors. The coding for the 6-bits is as follows: enable hour_tens, hour_ones, minute_tens, minute_ones, second_tens, second_ones.
Two active high push buttons with pull down resistors, a six digit seven segment display, six PMOS or PNP transistors to enable the digits. Mounted on a breadboard or a custom PCB.
# | Input | Output | Bidirectional |
---|---|---|---|
0 | minute increment | segment g | digit ena second ones |
1 | hour increment | segment f | digit ena second tens |
2 | segment e | digit ena minute ones | |
3 | segment d | digit ena minute tens | |
4 | segment c | digit ena hour ones | |
5 | segment b | digit ena hour tens | |
6 | segment a | ||
7 | segment dot |