- #1
kriegsmachine
- 5
- 0
Designing 8-bit Binary to BCD Converter
I have to design and implement an 8-bit binary to BCD converter **using only ICs**
I have an algorithm that works just fine in converting an 8-bit binary to BCD that can be sent to three 7-segment displays. It is called the double dabble method. Please look at the Wiki article below if you don't know what this is because you will be lost with my method if you are not familiar.
http://en.wikipedia.org/wiki/Double_dabble"
I have a series of 10 D FFs hooked up as a serial shift register. I have a parallel in, serial out shift register before the 10 D FFs so I can load the 8-bit number and then progressively shift it as needed by the double dabble method.
The first 4 FFs represent the 1's place, the next 4 represent the 10's place and the last 2 FFs are for the 100's place (only 2 because the hundreds place can only go as high 2).
I am thinking of setting up comparators to the 1's and 10's place FF outputs and tying one of each comparator's inputs to binary 0100 (4 in decimal) to see when the number in the 1's and 10's place is greater than 4. When that is the case, I want to use use that (A>B) output to add 3 (0011) to whatever number is in the place in question (1's or 10's). I can do this with a 4-bit adder.
Now is where I am getting lost. I want to some how use the output of the comparator to take the sum of the 4-bit adder and put that BACK INTO the place of the original number (back INTO the D FF's). Can I somehow do this with the Preset and Clear?
And what about timing? This is all done with a clock.
I know this is probably confusing without seeing a schematic, so I am sorry for that. Any help or suggestions are GREATLY appreciated.
I have to design and implement an 8-bit binary to BCD converter **using only ICs**
I have an algorithm that works just fine in converting an 8-bit binary to BCD that can be sent to three 7-segment displays. It is called the double dabble method. Please look at the Wiki article below if you don't know what this is because you will be lost with my method if you are not familiar.
http://en.wikipedia.org/wiki/Double_dabble"
I have a series of 10 D FFs hooked up as a serial shift register. I have a parallel in, serial out shift register before the 10 D FFs so I can load the 8-bit number and then progressively shift it as needed by the double dabble method.
The first 4 FFs represent the 1's place, the next 4 represent the 10's place and the last 2 FFs are for the 100's place (only 2 because the hundreds place can only go as high 2).
I am thinking of setting up comparators to the 1's and 10's place FF outputs and tying one of each comparator's inputs to binary 0100 (4 in decimal) to see when the number in the 1's and 10's place is greater than 4. When that is the case, I want to use use that (A>B) output to add 3 (0011) to whatever number is in the place in question (1's or 10's). I can do this with a 4-bit adder.
Now is where I am getting lost. I want to some how use the output of the comparator to take the sum of the 4-bit adder and put that BACK INTO the place of the original number (back INTO the D FF's). Can I somehow do this with the Preset and Clear?
And what about timing? This is all done with a clock.
I know this is probably confusing without seeing a schematic, so I am sorry for that. Any help or suggestions are GREATLY appreciated.
Last edited by a moderator: