1
\$\begingroup\$

I tried to make a circuit with a D flip-flop to show a hex number of F1D021301 alternately on a single seven-segment display, but it can only do F1D02130 or F1D0213 and return back to 0 and repeat to the beginning (F) again. Are there any mistakes in my circuit?

f1d021301 with D flip-flop

\$\endgroup\$
2
  • 2
    \$\begingroup\$ Show us all of your work. We need to see your state transition table and all of the work you did to design the combinational logic. \$\endgroup\$ Commented Oct 30, 2022 at 11:34
  • \$\begingroup\$ You upvoted an answer but you forgot to accept it with the green checkmark. \$\endgroup\$ Commented Nov 13, 2022 at 1:16

2 Answers 2

2
\$\begingroup\$

Yes, there are errors in your circuit - for example, the two rightmost AND gates decode "1,E" instead of "3,0", respectively.
Anyway, your corrected diagram is below: Corrected original diagram

Note that your design uses more flip-flops and gates than necessary and it is more complex than necessary to accomplish the task - wouldn't it be simpler to build it according to the schematic below ? A simpler design

The diodes only pull down the output lines to the low level, so they are not installed where a high level (one) should appear in the output binary combination.

You can see the operation of this circuit in this online simulation.

If you are building this circuit in reality out of the off-the-shelf logic chips, you can use one 74HC42 decoder instead all of these 4-input NAND gates. ...and if you use the 74HC154 you can display up to 15 different hexadecimal digits ...and it does not matter if the digits repeat within the sequence.

\$\endgroup\$
0
\$\begingroup\$

The task you have set before you are these main items:

  • create a sequence 9 counts long
  • convert the sequence number to a 7-segment display

The first part is a 4-bit counter that resets itself on count = 8. Easy enough.

The rest of it can be done a couple of ways.

  • Easy way: use a 4-bit out lookup table for the digits, then use a 4-line to 7-segment decoder
  • Hard(er) way: use a 7-bit out lookup table.
  • Hard(est) way: express each segment with a Sum of Products expression

I've rendered the 'easy' way below (simulate it here)

enter image description here

The counter resets itself when the count reaches 1000 binary. Fun fact: you can make a D flip-flop into a T flip-flip by using an XOR gate. The XORs and ANDs form an incrementer: it adds one to the present value.

I used four 8:1 multiplexers plus a 'special case' 2:1 for count=8. A little trick to allow using smaller muxes, but of course you could use 16:1 types.

To do direct decoding of 7-segment you'd add 3 more multiplexers and set them up with the digit segment tables.

To do Sum Of Products form you'd replace the seven multiplexers with seven AND-OR arrays, one for each segment. You would wire up AND terms for each segment-lit case then OR them together.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.