60 Second Timer
In this activity, we used multiple different types of counters to implement a timer that counts to 60. We utilized both asynchonous and synchronous counters, and needed to get them to loop at the correct time. I also added a reset switch to set the count back to zero.
The goal here was to get the timer to count to 60, return to zero, and repeat. I was unable to get it to count to 60 rather than 59, unfortunately. The basic structure of the design is that it has a ones digit and a tens digit. Each one uses a different 74LS clock. For the ones digit I used a 74LS163, which is synchronous. For the tens digit I used a 74LS193, which is asynchronous. The first thing I needed to do was hook up the ones digit. I did this by putting in a clock input, and changing the input so it starts and stops at the right numbers. (0-9). To do this I added a 4 input NAND gate, making it clear once it reaches 10. For the tens digit, it needed to clear once it reached 7, which I accomplished similarly to the ones digit. To have it go up every time the ones digit reaches 0, I implemented a 4 input AND gate and attached it to the clock signal of the tens digit counters. I attached each digit's part of the circuit to some 7 segment displays, and it worked (for the most part). Another issue I was unable to fix is rather than resetting at 0, it resets to 70, counts to 80, and then counts normally. I then implemented this same circuit in PLD form by using the PLD equivalents of all the components. I had to use inverters and a decoder to hook up the seven segment displays.