Lab # 7
Latches, Counters, Shift Registers
“Anyone who attempts to generate random numbers by deterministic means is, of course, living in a state of sin.”
–John von Neumann
(inventor of the “von Neumann” architecture
used by nearly all modern computers.)
To understand latches, counters, and shift registers and their applications in digital systems.
For all the following exercises you will need to look up the relevant data sheets for pinouts and Function Tables. (Searching Google for the chip number usually does the trick – ask if you’re having trouble finding it.)
Exercise 1. 4-bit Shift Register
Wire up a 74194 4-bit Bidirectional Shift Register. Here’s a simplified Function Table if you’re having trouble decoding the one in the data sheet. (Wire the parallel-load inputs and mode inputs to logic switches; wire up the clock and RESET inputs using two debounced pushbuttons (use the NO contacts) and a pull-up resistor for each.)
Apply a random signal to the “Shift Right” input and clock it through (use a debounced pushbutton for the clock) as you display the outputs on the LEDs. Repeat three times. What do you get at the outputs? Convert it to a “ring counter” by connecting QD to the input and clocking it several times by hand.
Next, pick an interesting 4-bit number and do a parallel load. Then clock it again to see the numbers you loaded shift through the ring counter.
Finally, add an inverter between QD and the input to make a “twisted ring.” Clock it a few times and watch what happens.
Exercise 2. Synchronous Up/Down Counters
Wire up a 74191 Up/Down Counter. Connect the outputs to LEDs and decide what to do with the Load, Enable, and Down/Up pins. Try clocking it a few times, then switch the Down/Up pin and try again.
Exercise 3. Divide-by-n Counters
Wire up a 7490 divide-by-ten counter. Connect Output A to Input B (can you figure out what this does?). Use the Function Table to figure out what to do with R0 and Rg. Connect the outputs to LEDs in the Logic Monitor section and pulse it by hand. What does it do?
Switch the inputs to one of the 7-segment displays and try clocking it again. What happens?
Convert your circuit to a “Random” Digit Generator:
Clock it from the 1 KHz signal generator on your Trainer. (Use a square wave and use either of the two TTL output rows. The 1kHz frequency isn’t critical, as long as it’s around that.) Push the pushbutton to see what happens. Why is it “random?”
Exercise 4. Digital Stopwatch (EXTRA CREDIT)
Build a “digital stopwatch.” Cascade two more 7490s (i.e., connect output QD of the previous 7490 to the input of the next, to make a divide-by-1000. Connect it to the 100 Hz clock on your breadboard (use the TTL output, and verify frequency using the oscilloscope) through a NAND gate with a toggling flip-flop and reset switch, as shown below. Connect the last two 7490s to the two 7-segment displays, with the most significant digit on the left.
(You can just add the two extra 7490s and re-use the one you already have wired up, to save yourself some work.)
Clock it from the 100 Hz signal generator and get it to work.
As with all labs, write up a lab report detailing what was done, and what results were obtained. Make sure that your report addresses the following questions:
- How does the 74194 4-bit Bidirectional Shift Register work? What does it do? How could it be used?
- What is a “ring counter?” How can one be made? What does it do?
- What is a “twisted ring counter?” How does it work?
- How does a 7490 chip work? What does it do?
- 7490s are sometimes called “decade counters.” Why is this?
- How does the “random” number generator from Exercise 3 work?
- How does the “Digital Stopwatch” work?
- How could the “Digital Stopwatch” be extended to include minutes?
End of Lab 6.