Electrical – Seven Segment display output problem

display

I am trying to come up with a circuit using logic gates to drive a seven segment display.

I have a circuit with a BCD output (A, B, C, D) and need to convert this so that when any one of nine buttons are pushed, they produce a number.

The circuit needs to display a 0 when nothing is pressed. However, when buttons 1 – 9 are presesed it needs to display 7, 4, 8, 0, 5, 6, 8, 8, 9, respectively.

I have produced truth tables and k-maps, which all seem to be correct. But, it does not seem to be working at all. I get random numbers and a couple of odd displays of random elements on the display (not numbers or letters).

If anyone can point me in the right direction, or give me some advice, I would be eternally grateful!

enter image description here

Best Answer

It's not clear why you're going via BCD. Just create the combinational logic directly.

schematic

simulate this circuit – Schematic created using CircuitLab

Figure 1. Pressing a switch turns on the segments connected by small signal diodes.