Now Serving Display (00-99)
Problem Statement
Use all the skills that you have learned from building the MSI synchronous counter to make a two digit counter. This counter will count from 00-99, but it wont be clock based cause the counter is a now serving display that must only count when it is interacted with. This type of counter is usually used in a deli.
Constraints
- The counter must count up
-00-99
-Must have a restart and count button
-uses 74LS193
-Must either bread boarded on the normal or digital breadboard
-Documentation
-00-99
-Must have a restart and count button
-uses 74LS193
-Must either bread boarded on the normal or digital breadboard
-Documentation
Calculations
So we are pretty much making one counter that we have already made in the past lesson. I already know how to make the counter start and end at a certain number so all I have to do is make the top counter count every time the bottom counter does a full count to do this I will have to take the output from the NAND gate and connect it to the top counter hence making the top counter count slower.
Documentation
00-to-99 Now Serving Display (Multisim Design)
This is the 00-99 Now Serving Display that I build in the multisim program. Its functions are pretty basic, when you press the bottom push button the bottom SSD starts counting. When the clock reaches 9 it restarts and adds one digit to the top counter and when both counters reach 9 the whole thing restarts. When the top push button is pressed the counter will restart back at zero no matter the number.
00-to-99 Now Serving Display Simulation
This is the video of the simulation of the 00-99 Now serving display. As you can see the counter only counts when the bottom push bottom in toggled. When the counter reaches 99 it will restart back at 0.If you wish to restart the count earlier you just need to press toggle the push button and the count will restart at 00.
00-99 Now Serving Display (PLD)
Once the Multism design was finished I had to convert it into a PLD (Programmable Logic Design).To do this their are a couple things that I had to do to the circuit. First I had to change the inputs from push buttons to GPI0s cause the buttons will be on the DLB. You can also see that I switched the Seven Segment Display and instead, put each one of the segments that will be on the DLB.
Debouncer
This is the debouncer that I used to make my PLD work on the Digital Logic Board. Without the debouncer the DLBs count will bounce every time you try and toggle the button.
Final Design
00-99 Now Serving Display (DLB)
Conclusion
The Now Serving Display's purpose was to work with the interaction of a manual count. This type of counter is seen at places such as the deli stores, the DMV, and in fast food restaurants. When you go to either one of these places you always receive a designated number. When the employee attends a person the counter goes up and it will display who is now being served, hence the name now serving display. The way the counter works is pretty easy. Both of the counter's ABCD inputs were set to 0, which means both of the counts will restart at zero once they reach their maximum count. Also both of the counters have a inverter on the outputs QB and QD which will give us the maximum binary count of 010. This equals 10 but since we are counting up using a 74LS193s and they have a asynchronous load we must take of 1 so the max count is 0.The part that I had to put a bit of thought into was making the top counter count every time the bottom counter completed its own count. Of course the top counter was not going to have a separate pulse cause then both counters would be independent and it would not be considered a 00 to 99 counter. What I did was that I took the output of the 4 input NAND gate and inputted it into the up count of the 74LS193.I had to put an inverter before it went into the up input cause if I didn't do that the inverter that is attached to the up input would flip the count. We know that the flip flops inside the IC will split the pulse hence the top counter will only count after the bottom counter has done a whole 0-9 count. When they both reach 99 they will restart at zero. To make the counters pulse you must manually send the pulse through the bottom button. This will make the counter count at different speeds depending on how fast you press it. If you wish to clear in between counts all you have to do is press the upper button and it will send a 0 to both of the counter's clear which makes the whole count reset to 00. The DLB part was a bit hard cause I think some of the USB ports on some of the computers were messed up and I didn't wired the PLD design right. Every time I programed the board the count bounced which means the count would show random numbers when the push button was toggled. We later learned that in order to make the DLB count right we must put something called a de-bouncer which is pretty much a D flip flop. Once I put the debouncer in I thought my problems were over but I only got 1 of the SSDs to count. I tried everything and couldn't get it. I asked my friend that had gotten his DLB to count right and he had two NAND gates which is what is in a D flip flop. I did the same thing and I finally got my 00-99 counter to work.