Mike0rr
New Member
Once again, I'm stuck on a (likely) not so complex issue but I lack the proper vocabulary to find the answer quickly on Google.
Long story short, I've made a calculator using two, 4-Bit BCD Full adders. The part that this post concerns is in between the Input (0-9 Keypad and Decoder) and the BCD Full Adders.
My inefficient idea of storing the 4 bits for each digit was having each leg of the Full Adders tied to a small Shift Register. That's a lot of registers for a small calculator and while it's still doable, I am doing this project to simply learn about Logic and IC's and whatnot, so I would like to learn how to do it the correct, and/or efficient way. I also understand I could do Serial In type of data but for a 4 bit number but to do so, I would need to clock each input number 4 times and I don't understand how I would clock something exactly 4 times. (If I simple need to be directed towards using a timer chip and learning more about them, please inform me. I am a noob after all : P)
So, the question is: How would I go about taking 4 bits of data off a Decoder, and logging it into Full Adders, sometimes shifting said data over from one set of Adders to the next? The input is 0-99 + 0-99, so it's not a lot of storage needed.
Other miscellaneous information you may want to know:
-I used Shift Registers for my original design so the first number input (1's place) shifts over to the 10's place when a second number was typed in. (Example: 2 pressed = 02. Then press 4 and you now get 24. Shifting the Zeros out each time.)
-I am not using a micro controller for this project as it pretty much defeats the purpose of this project. I seemed to get asked this over and over last time as everyone suggested running parts off of one . But again, this is for educational purposes and I would skip learning some of the fundamentals here.
-If using Shift Registers is completely the wrong direction to take, correct me. Please! I'm hear to learn and I understand I may have gone about this completely wrong. I take criticism well and appreciate all the help : )
-If visuals would help here I could draw up a quick diagram no problem. What ever helps get my question answered.
I understand wording this technical stuff is hard enough as it is, let alone wording it with a limited, outsider vocabulary so if anything is to convoluted or simply, outright confusing, I completely understand the need for me to rephrase or restate something.
Long story short, I've made a calculator using two, 4-Bit BCD Full adders. The part that this post concerns is in between the Input (0-9 Keypad and Decoder) and the BCD Full Adders.
My inefficient idea of storing the 4 bits for each digit was having each leg of the Full Adders tied to a small Shift Register. That's a lot of registers for a small calculator and while it's still doable, I am doing this project to simply learn about Logic and IC's and whatnot, so I would like to learn how to do it the correct, and/or efficient way. I also understand I could do Serial In type of data but for a 4 bit number but to do so, I would need to clock each input number 4 times and I don't understand how I would clock something exactly 4 times. (If I simple need to be directed towards using a timer chip and learning more about them, please inform me. I am a noob after all : P)
So, the question is: How would I go about taking 4 bits of data off a Decoder, and logging it into Full Adders, sometimes shifting said data over from one set of Adders to the next? The input is 0-99 + 0-99, so it's not a lot of storage needed.
Other miscellaneous information you may want to know:
-I used Shift Registers for my original design so the first number input (1's place) shifts over to the 10's place when a second number was typed in. (Example: 2 pressed = 02. Then press 4 and you now get 24. Shifting the Zeros out each time.)
-I am not using a micro controller for this project as it pretty much defeats the purpose of this project. I seemed to get asked this over and over last time as everyone suggested running parts off of one . But again, this is for educational purposes and I would skip learning some of the fundamentals here.
-If using Shift Registers is completely the wrong direction to take, correct me. Please! I'm hear to learn and I understand I may have gone about this completely wrong. I take criticism well and appreciate all the help : )
-If visuals would help here I could draw up a quick diagram no problem. What ever helps get my question answered.
I understand wording this technical stuff is hard enough as it is, let alone wording it with a limited, outsider vocabulary so if anything is to convoluted or simply, outright confusing, I completely understand the need for me to rephrase or restate something.