If you want to quickly add numbers from 0 to 15, and you know how to rapidly convert into binary and back into decimal, this is for you. But if you are a human then this is only a fun project! I am going to show you how to make a 4 bit (0-15) adding calculator using 74xx series IC chips. In this article I’m going to show you a circuit diagram of calculator using logic gates and steps to create your own calculator using logic gates. The chips that ‘ve been used are the basic gates like OR, AND, XOR, NOR, NAND, etc. No actual adding chips are used so it is one only level up from transistors.
If you use the 74hc series or 74hct series, then its technically not TLL, but who cares about the techincal details!!
Step 1: The Materials
This project only requires a few parts:
1 Breadboard, maybe 2 – It must ‘ve atleast 50-60 rows
2 74xx AND chips – I ‘ve used the 74hc08
2 74xx XOR chips – I ‘ve used the 74hc86
1 74xx OR chip – I ‘ve used the 74hc32
1-2 DIP Switches – I ‘ve used 2 8 switch DIP switches (I’m gonna expand to 8 bits)
8 1K ohm -or greater- resistors
Step 2: How It Works – Part I
The basic adding circuit is just that, basic! It consists of an XOR gate and an AND gate to give you the basic output with a carry bit.
The XOR gate is short for exclusive or. In a regular OR gate, 0 and 0 equal 0, 1 and 0 equal 1, 1 and 1 equal 1. In an exclusive or gate, 0 and 0 equal 0, 1 and 0 equal 1, 1 and 1 equal 0. This is important because when adding 1 and 1 in binary you get 10, so the ones place has a zero, something that cannot be done with a basic OR gate.
A B Y
0 0 0
1 0 1
0 1 1
1 1 1
A B Y
0 0 0
1 0 1
0 1 1
1 1 0
So now, when you add 1 and 0, you get 1, but hold on…When you add 1 and 1, you get 0?? That cannot be right! in order to fix that, we must be able to ‘ve 1 and 1 equal 10. Welcome to the AND gate. As the name implies, an AND gate equals 1 when A=1 AND B=1. This is tied in parallel with the XOR gate and is the carryout bit, so that when we add 1+1, you CAN get 10!
Step 3: How It Works – Part II
Ok, so we can add 1 and 1, but what if we desire to add 11 and 11, well the problem is that there is no carrying bit on the second adder. We require a full adder. In order to make a full adder, we ‘ve to use 2 XOR gates, 2 AND gates and an OR gate.
The full adder works by putting inputs A and B through a XOR gate, then taking the output from that and XORing it with the Carry-in. This provides you the bit output. To make the Carry-out, you ‘ve to put A and B through an AND gate, and put the output of the A XOR B gate and the Carry-in through an AND gate as well. When you put those 2 outputs into an OR gate, you get a Carry-Out bit. So now we can put a bunch of these together and get a calculator.
Now we ‘ve full adders, its time to put them together to make a calculator. To connect all of the adders together, you ‘ve to connect the carry-outs to the carry-ins in a cascading fashion. So the carry-out of the first adder connects to the carry-in of the second adder and so on.
Below shows the concept. The blocks represent the adders and the arrows are the carry-ins and carry-outs.
Step 5: Building It On A Breadboard
There are some tricks to build this thing on a bread-board. The configuration & organization of these chips on the board is so important and I have found that putting the chips in such order as “XOR, AND, OR, AND, XOR” works well then the DIP-switches.
Another good idea is to build each adder one at a time & on one side of the logic gates. There are 2 XOR and 2 AND gates on each side of the chips so that makes construction a lot easier. The order that I put the wires on were: connections to the DIP switches, inter-gate connections, and finally connections to the LEDs.
To wire up the switches, you first (this may only apply to cmos versions of the chips, I have not been able to experiment TTL versions yet) connect the side not connected to the adder inputs to the supply voltage. Next connect the other side (the pins connected to the adder inputs) to ground through a 1K ohm, or greater, resistor.
The LED’s are connected to the outputs of the adders through a 1K ohm resistor. If you’re using the 74LS series or similar (any series that cannot source 5 mA or more) you will ‘ve to connect the output to a transistor to get to the required current.
Step 6: For Those Who Don’t Understand Binary
The number system we know and love is base 10. This means that each new column of numbers is 10x the last column (if you don’t believe me, divide 10 by 10 and you get 1 or divide 100 by 10 and you get 10, these relate to the 100’s, 10’s, and 1’s columns). Binary, or base 2, is different in that each column is a power of 2 (so each new column is 2x the last) and it uses only 1s and 0s.
Let’s look at binary numbers. Take the number 10 for example. In binary, 10 is 2 in base 10 because the first column is the 1’s column and the second is the 2’s column (1*2=2). If we break this number down, we get 1 in the 2’s place and 0 in the 1’s. 2+0=2, so 10 is 2. Another number example could be 101. Now we ‘ve 3 columns to work with. In binary this is the 4’s column because 1*2=2, in the 2nd column, and 2*2=4 in the 3rd column. Let’s break this down, there is a 4 and a 1 and no 2s. 4+1=5 so 101=5.
Now that you get the basics of binary, we can learn to convert to binary from base 10. To convert to binary, you ‘ve to subtract the power of 2 that it is greater than the number until you reach 0. This may sound confusing, as it is hard to explain without examples, so thats what we are going to do. Let’s take the number 15. 15 is greater than 8 (powers of 2 include 1, 2, 4, 8, 16, 32, etc.) so we do 8-15=7. We also put a 1 in the 8’s column. The next power of 2 is 4. 7-4=3, so we put a 1 in the 4’s column. Next is 2. 3-2=1, so we put a 1 in the 2’s column. And finally 1-1=0, so we put a 1 in the 1’s column. When we put all of these together we get 1111.
Now let’s lake the number 11. 11-8=3, so we put a 1 in the 8’s column. 3 isn’t bigger than 4, so we ‘ve to put a 0 in the 4’s column. 3-2=1, so we put a 1 in the 2’s coulmn. And finally, 1-1=0, so we again put a 1 in the 1’s column. This gives us the binary number, 1011. Now you ‘ve a 4 bit adding calculator, congrats!