Você está na página 1de 12

4 Bit Binary Calculator

45
Followers

10

Author: Teslaling(Teslaling)
I'm interested in everything electronics, high voltage, computers, and robotics. I am also interested in chemistry,
engineering, physics, and particle physics/quantum theory.
i

If you need to quickly add numbers from 0 to 15, and you know how to rapidly convert to binary and back to
decimal, this is for you...But if your human then this is just a fun project!! I'm going to show you how to make a 4
bit (0-15) adding calculator using 74xx series IC chips.

The chips that I used are the very basic gates like OR, AND, XOR, NOR, NAND, etc. No actual adding chips are
used so its one level up from transistors, and it's totally TLL!**

By the way, this is another addition to the unofficial "Macroelectronics" catagory for all of you who have seen my
diy ram instructables!
**If you use the 74hc series or 74hct series, then its technically not TLL, but who cares about the techincal
details!!

Step 1The Materials

i
This project only requires a few parts:

1 Breadboard, maybe 2 - It should have atleast 50-60 rows


2 74xx AND chips - I used the 74hc08
2 74xx XOR chips - I used the 74hc86
1 74xx OR chip - I used the 74hc32
1-2 DIP Switches - I used 2 8 switch DIP switches (I'm gonna expand to 8 bits)
8 1K ohm -or greater- resistors
Lots of wire - Don't yell at me but I use bare copper! Its a bad habit, (some may argue that it's a dangerous one) I
know, but I don't care!

Step 2How It Works - Part I

The basic adding circuit is just that, basic! It consists of a 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 can't be done with a basic OR gate.

OR:
A B Y
0 0 0
1 0 1
0 1 1
1 1 1

XOR:
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
can't be right! In order to fix that, we need to be able to have 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 it tied in parallel with
the XOR gate and is the carryout bit, so that when you add 1+1, you CAN get 10!

Step 3How It Works - Part II

Ok, so we can add 1 and 1, but what if we want to add 11 and 11, well the problem is that there is no
carryin bit on the second adder. We need a full adder. In order to make a full adder, we have to use 2
XOR gates, 2 AND gates and an OR gate. The circuit for the full adder is shown below:

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 gives you the bit output. To make the Carry-out, you have 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.

Step 4How It Works - Part III

i

Now that we have full adders, its time to put them together to make a calculator. To connect all of the adders
together, you have 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 5Building It On A Breadboard

i

Ther are a few tricks to building this on a breadboard. The organization of the chips on the board is very
important, I found that putting the chips in this order works well: XOR, AND, OR, AND, XOR, then the DIP
switches.

Another good idea is to build each adder one at a time and 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 haven't 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 are using the 74LS
series or similar (any series that can't source 5 mA or more) you will have to connect the output to a transistor to
get to the required current.

Step 6For Those Who Don't Understand Or Are So-So With Binary
i

If you understand the phrase "There are 10 kinds of people in the world, those who understand
binary and those who don't" go on to the next step! If not, stay here!

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 have 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 have 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
have 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.
Step 7Going Farther And Final Notes

Now you have a 4 bit adding calculator, congrats!

I know that there are adding chips in the 74 logic family, and that there is a calculator much more
sophistocated in my kitchen drawer, but this fun little project helped me, and hopefully you too, learn
more about adding numbers with electronics and logic.

I hope to build an 8 bit adder, as a 4 bit adder is wimpy with up to 15+15, along with subtraction too!

30 Add Comment
comments

Jan 13, 2012. 10:35 AMtechno guy says:


You could make this subtract by putting a signal into the carry-in of the first and unused carry-in input and
then inverting your b value. e.g.: 1011=0100. That is how I made the calculator I built in minecraft to be
able to also subtract. When you do the subtract thing, the carry-out of the last adder will turn on but will not
mean anything, you could put a switch there to turn it off while subtracting.
Reply

Oct 7, 2011. 1:47 PMMacattacku says:


sorry its been awile but a npn transitor would work very well with a 100k resistor on its base and with that
combo the data could last maybe ten seconds which is more than enough. i dont quite know quite how to
show the the circuit.
Reply

Sep 27, 2011. 7:21 PMMacattacku says:


I dont mean to brag but I happen to have a very wide knowledge of the inner workings of computers, logic
gates, and computer arithmatic and data flow and i was wondering I already know how to do it but i dont
really have the time. could you make an instructible on making a byte of d-ram memory? if you want to
make or have questions please leave a comment to talk to me.
Reply

10

Sep 28, 2011. 4:13 PM Teslaling (author) says:


Awesome! I actually started some work on that and another project after I published the results of my
SRAM project. I've been working on a dram cell and a 555 timer circuit. I developed a fairly reliable long
tail differential comparator for both and I'm in the process of simulating the circuits. I don't know if I can do
a full byte, but I would be happy to attempt a few bits.
Reply

Sep 28, 2011. 7:42 PMMacattacku says:


its actually very simple for just one byte just 16 n channel mosfets, 8 small value capacitors 0.1 or 1 uf,
and 8 comparators. since there is only one byte it does not need a transistor per cell because that is just
for selection. how long the data will last is based on the size of the capacitors and the amount of current
drawn into the comparator. so a regular comparator will work fine but a comparator with low input current
draw would work the best.
Reply

10

Sep 29, 2011. 3:27 PM Teslaling (author) says:


Actually, the mosfets have reverse current body diodes in them, so any transistor that will have current
going both directions will need two mosfets per gate. (32 total mosfets) I would then need 3 bjts per
comparator (2 pnp and an npn). It's going to be large and I don't have the room without ripping up some
other circuits I've been working on.

No offense, but why do you want me to make a full byte? Personally, I would think a few bits or a nybble
would suffice.
Reply

Sep 29, 2011. 7:38 PMMacattacku says:


actually it just need to amplify a signal so you could just use an npn transistor with a 1 k resistor on the
input no pull up resistor required. but yes a byte is sorta large so how about a nybble? also there is one
thing i missed to tell you an OR gate per bit is also required but you can just used two resistors ten k would
be ideal.
Reply

10

Sep 30, 2011. 3:10 PM Teslaling (author) says:


The problem with a single npn is that if 3 bits are 1 and one is 0, there is going to be leakage to that one. If
the voltage is high enough to be amplified enough to be a 1 (<.5 volt is needed) With a comparator,
however, the threshold could be 2.5v (5v supply) so anything less is a 0 and anything over is a 1. It's a less
temperamental solution, and a bit of a personal preference. Besides, real dram uses a comparator, but
using an IC just doesn't sit well with the spirit of it, for me at least.

A nybble will definitely work, but if I have the room, I will try a byte too :)
Reply

Aug 18, 2011. 8:56 PMtarantado says:


I JUST WANDERED..WHAT WOULD BE THE SUPPLY FOR THIS BINARY CALCU?lol XD
Reply

10

Aug 19, 2011. 7:49 AM Teslaling (author) says:


3V to 5V should work fine. 2 or 3 AA will do it, or if you can get power from USB that is regulated 5v.
Reply

Aug 18, 2011. 8:58 PMtarantado says:


ALSO WHAT IS THE SEQUENCE OF THE IC's FROM LEFT TO RIGHT?
I REALLY NEED HELP.. T_T
Reply

Feb 12, 2011. 5:14 PMshane11 says:


I cant seem to find a XOR GATE with the model number 74HC86 on jemeco thats an OR gate.
Reply

10

Feb 12, 2011. 9:27 PM Teslaling (author) says:


Are you sure? 74HC86N - Quad 2 Input Exclusive OR Gate??
Reply

10

Dec 31, 2010. 10:42 PM Teslaling (author) says:


Thanks man! Yeah, I have the entire schematic for an 8-bit adder/subtractor (number range 127 to -128) I
just need another breadboard and a few hours of free time (the hard part) and I can start. But if you beat
me to it, good luck to you!!
Reply
Feb 2, 2011. 11:51 AMshane11 says:
Could I possibly use your schematics for the 8 bit I would like to build that!!!!

And also correct me if i'm wrong but this requires NO programmer right????
Reply

10

Feb 2, 2011. 12:08 PM Teslaling (author) says:


Yeah, just give me a day or to to draw it up on the computer. I have it all in a sketch book, so it should be
only like a day's wait.

And no, it requires no programming what so ever, it's just logic chips and wires!
Reply

Feb 2, 2011. 12:13 PMshane11 says:


Thats great that theres no programmer!!!!!
Im seriously excited to build this!
Reply

10

Feb 3, 2011. 3:48 PM Teslaling (author) says:


These are the pics that I took of the sketchbook. I hope you can read them.

Basically, the first picture is the 2's complementor. So the Bx input (x being the bit) would go into that to be
made negative (or positive if already negative).

The second picture is of the add/subtract selector. The Bx input is the normal, "un-negatized" B input, and
the /Bx is the "negatized" input. When the select line is pulled high, the calculator adds, and when it's
pulled low, the calculator subtracts. The ADDx outputs are connected to the Add B input. You may want to
put diodes on the outputs before connecting them together and then you will want to tie the line low
through a 10K ohm resistor where both outputs are connected together.

The third x inputs come from the selector's ADDx outputs. COi is the Carry In which is connected to the
last bit's COo, which is the Carry Out. On the LSB, the COi is tied to ground.

The Last picture is of the gate and chip count. Yes, you will need 10 AND Chips!

Good luck and Have fun!!

Você também pode gostar