Moderators: kiore, Blip, The_Metatron
Cory Duchesne wrote:Hello,
I've been trying to understand CPU's/microprocessors lately, and I realized today that I want to explore building circuits with breadboards. But what I want is to somehow setup a very, very simple keypad to the breadboard, with keys 0 to 9, like you see on a calculator. And then I want a 7 segment led display, so that whatever number I press, shows up on the display. And of course I would have to build whatever circuits are required to display one of the 10 numbers I have in mind.
I don't want to do anything beyond displaying numbers. No arithmetic, I don't want to make a clock, nothing like that.
Just a keypad, and the ability to use that keypad to display numbers 0 to 9.
I've typed into google every possible keyword I could think of in search of hobby kits for this kind of thing, but all I come up with are projects that are much more complicated than I want to do.
So....can any of you help me with this? Any advice?
Cory Duchesne wrote:... I'm more interested in building the driver circuit, because I want to actually engineer the cpu.
Cory Duchesne wrote:Is the very act of engineering the logic gates of a Cpu, Machine coding? Is that what machine coding is? Engineering the circuits of a cpu?
pcCoder wrote:If you don't want to use a pre-engineered chips (7 segment driver) it may take a full-size breadboard. It seems to me that a basic driver can be made to just inputs to outputs, a bus (A, B, C, D inputs) would run through a series of gates that would be wired in such a way to produce a high output based on the input. This is a small schematic I drew up. Not perfect at all for certain, but a basic initial idea of what I think would be needed. Also this doesn't include other of functions that a 7 segment driver chip would include, such as a latch to hold the same output regardless of input, enable line to enable/disable the 7 segment LED, etc.
goonerism_speek wrote:Cory Duchesne wrote:... I'm more interested in building the driver circuit, because I want to actually engineer the cpu.
This is not really something you'd ever do on the silicon of a cpu, you'd do it with a abstract mathematical algorithm.
You say you want to understand the circuitry of the cpu, and not get involved in the maths, but the maths is pretty much all the cpu does.
Cory Duchesne wrote:First, I wanted to ask you about those two thick horizontal lines that are parallel to each other near the bottom part of the diagram. In terms of the "anatomy" of any circuit, what is the term we use for these lines? They seem prominent enough to have their own term.
I understand how the top line carries the more negative charge (the "0") and the bottom line carries the more positive (the "1"). The 4 not gates forming the bridge between the two lines seem to convert the positive charge of the bottom line into the more negative charge that fills the top line. But I don't understand why it requires 4 not gates to do this. Isn't one not-gate enough?
And then the next step: each button receives a different binary number. But I'm not clear on the logic of this. Is each button a type of gate? What exactly is the reasoning behind feeding each button with a different number? Couldn't you just have each button transmit a "1", and then have each button's line solder itself in it's own unique way?
Further into the diagram, it shows gates close to the LEDS receiving signals sent by the buttons. But I can't quite grasp the logic here either.
I think what I'm looking for here, if you have the time and inclination, is maybe a more detailed description of the logic behind your diagram. Like I said, it really opened my eyes, but I still can't quite wrap my head around what I'm seeing entirely. You're already helped me alot, thanks for your effort so far.
pcCoder wrote:Cory Duchesne wrote:First, I wanted to ask you about those two thick horizontal lines that are parallel to each other near the bottom part of the diagram. In terms of the "anatomy" of any circuit, what is the term we use for these lines? They seem prominent enough to have their own term.
These are bus wires. Often in a schematic, instead of drawing 8/16/32/64/etc wires, a line will be drawn that simply indicates the entire bus of wires.
In this case, the dark lines actually represent the four input wires A, B, C, and D (where A is the most significant bit and D the least significant bit) and the AND gate inputs left to right connect to A, B, C, or D lines of that bus or the inverted of that bus.
I understand how the top line carries the more negative charge (the "0") and the bottom line carries the more positive (the "1"). The 4 not gates forming the bridge between the two lines seem to convert the positive charge of the bottom line into the more negative charge that fills the top line. But I don't understand why it requires 4 not gates to do this. Isn't one not-gate enough?
The input lines are maybe +5V for CMOS I think, 12V for TTL devices for a high, or 0V for a low.
The gates simply invert it. So if one the bottom lines are a 0, then the matching top line will be a 1 (more positive). But since it is a bus, I'm just showing each line of the bus is inverted.
Basically each of the AND gates needs to match with one input value,
Basically each of the AND gates needs to match with one input value, the [AND gate] labeled 0 needs to have a high output when the input is A(0), B(0), C(0), D(0), so in order to do this, it takes the connections from the inverted lines so !0 & !0 & !0 & !0 = 1. Similarly, the [AND gate] labeled 1 needs to have a high output when the input is A(0), B(0), C(0), D(1), so it takes A, B, and C from the inverted bus, meaning that they are expected to be 0 on the input so the inverted is 1, and D from the non-inverted bus so !0 & !0 & !0 & 1 = 1.
You might want to consider this book : http://www.amazon.co.uk/Art-Electronics-Paul-Horowitz/dp/0521370957 if you don't have it.
One of the very few books I have from University that I'd actually recommend.
Cory Duchesne wrote:
Ah, I see. That makes understanding your schematic easier, although I still feel far far from understanding it. I have pretty much zero experience interpreting schematics, so I appreciate the patience you've given me here.
Can I ask you about the the initial bus of wires (A,B,C,D)?
You have two sets of bus wires. There is the bottom set, prior to the inversion, and then there is the top set which has been inverted via the 4 not-gates.
I honestly don't know which wires carry the 1 and which ones carry the 0.
Do the bottom set of bus wires (prior to the inversion) carry a "1" charge? Or do they carry a "0"? If the bottom 4 wires carry the "0" then that would mean that the top set of bus wires carries the "1".
Among the four initial input wires, why would "A" be more significant? I would have assumed each input wire to be equally significant.
Here's one of my biggest issues I have when trying to understand your schematic - I was taught that AND gates receieve two inputs and produce 1 output. I will also taught that AND gates require all of the inputs to be "1" in order to output a "1".
Your schematic shows the AND gates receiving many different combinations of inputs. None of them seem to receive matching inputs. In order for an AND gate to produce a "1" as an output, you need all your inputs to be "1" and i just don't see that happening in your schematic. Nothing is really conforming to what I was taught.
To make matters worse, the OR gates also have more than 2 inputs, which goes against what I know.
There are so many things in his paragraph I don't understand that I don't know where to begin. This is not your fault, I'm just missing some piece of essential info, and I'm trying to figure out what it is I need to know to make your schematic make sense.
Why does the AND gate labeled 0 need to have a high output, and what do you even mean by "high output"? When you say a wire has high out put, is that just another way of saying it's carrying a "1"?
I understand that the AND gate labeled 0 takes all of the connections from the inverted lines. I can see that.
But what I don't see is why any of the AND gates, from 0 to 9, would need to do anything but produce a 1.
Each of the AND gates has a single output, which means that there are only 2 combinations of outputs possible, yet we have 10 different keys, each with it's own binary number, but with only a single output wire, it's only possible to express a 1 or a 0.
Am I supposed to assume that the output for each AND gate consists of multiple wires? If the output line of a single AND gate does not consist of multiple wires, then how can that output wire express anything other than a 1 or 0?
It seems like much of my confusion comes from the fact that I was taught that Gates worked a certain way, and the way they are functioning in your schematic is not conforming to how I was taught.
Also the OR gates you have later on in the progression are receiving more than two inputs, so it's hard for me to know what to make of it.
Sorry if this is frustrating you, I think I gave the impression that I know more than I do, so you are teaching me things assuming I know basic things that I in fact don't know. If you think that I need to focus on a simpler project, that that's what I'll do.
If you are motivated enough to keep helping me understand your schematic, then that would be great too.
Return to General Science & Technology
Users viewing this topic: No registered users and 1 guest