2
\$\begingroup\$

I've made 4 bit adder circuit using 4008 IC. And the sum output of the two 4 bit numbers from that IC was feed to one BCD to 7 segment decoder (74LS47) so that I can get decimal output. But since I can't diplay numbers over 9, I need two 74LS47 ICs. But what additional circuitry shall be made so that it can stop that overflow over decimal no. 9? And suppose my two binary numbers to be added are 101(5) +101(5) I will get binary output of 1010(10). How can I display this using two BCD to 7 segment decoder ICs?

\$\endgroup\$
  • \$\begingroup\$ You don't need to change your circuit. The 74LS47 displays a unique pattern for every possible 4-bit input. After 9, the pattern doesn't correspond to any normal number, but if you keep a printout of the datasheet handy, you can easily decode it. \$\endgroup\$ – mkeith Feb 25 '17 at 7:21
0
\$\begingroup\$

I had once done this as part of my digital circuits lab. Your problem is that you have a 4-bit no. input (0-15) which needs to be given to 2 74ls47 ics. Say the 4 bit input no is a b c d, inputs of 74ls47 ic for tens place are p1 q1 r1 s1 and that at for units place p2 q2 r2 s2 (Here a and p are MSBs). You can now make a truth table with abcd inputs and corresponding values you wish to get at both the pqrs. Next, based on this table you need to solve the Kmap for each of the 8 variables p1-s2. Each of these variables depends only on the 4 inputs: abcd, So you have to solve 8, 4x4 Kmaps. Looks tedious but all the Kmaps and expressions for pqrs will be quite simple. Quoting from my lab report:

p2=a(c')(b')
q2=b(a'+c)
r2=ab(c')+(a').c
s2=d
s1=a.(b+c)

You don't need p1 q1 r1 to display 0-15. Implement this using basic logic gates.

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

I think this might help. You need to make some changes in this and connect your IC but the use of two 7 seven segment displays can be seen here, get the idea. enter image description here

\$\endgroup\$
  • \$\begingroup\$ A "binary adder" will not produce decimal output - to accomplish that, a conversion from binary to binary coded decimal is required. Alternately, one can more directly product a 2-digit hex output, however unfortunately the common 7 segment decoder chips don't display intuitive letter symbols, but rather odd (if learn-able) patterns for values above 9. \$\endgroup\$ – Chris Stratton Oct 22 '17 at 16:09
  • \$\begingroup\$ @ChrisStratton: Your old comment appeared when this question got bumped. Can you elaborate why this won't work. I've never seen this arrangement but it looks smart to me. If 'A' > 9 then add 6 to 'A' which will cause the LSD to wrap to / past zero and the carry will give a '1' on the tens digit. \$\endgroup\$ – Transistor Dec 26 '17 at 6:56
0
\$\begingroup\$

Use hexadecimal. A single hex digit (0-9,A-F) represents one of 16 states, so 4 bits.

This is exactly why hex (and in older times octal, not much anymore) were used. Each digit directly indicates 4 bits (3 for octal). For your own hobby project, and even displaying values in a computing context, you can often use hex directly.

If you have to display decimal values to end users, then use a microcontroller. All this dedicated hardware just to generate 7-segment display patterns for decimal numbers is silly in today's world. A microcontroller can do the binary to decimal conversion, then convert each digit to the corresponding 7-segment display pattern. It can even multiplex multiple digits to reduce the number of connections, and therefore the chip size and routing complexity.

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

The DM9368 solves this problem directly - it displays correct hexadecimal codes, and has constant current drive for the display. The drawback is that it is very power-hungry.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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