Q. What do you mean by Counters?
The shift register can be used as a counter because the data are shifted for each clock pulse. A counter is a register that goes through a predetermined sequence of states when input pulses are received. Besides, computers, timers, frequency meters, and various other digital devices contain counters for counting events.
There are what are known as ripple (asynchronous), synchronous, and ring counters. In ripple counters, the output of each flip-flop activates the next flip-flop throughout the entire sequence of the counter's states. In a synchronous counter, on the other hand, all flip-flops are activated (triggered) simultaneously through a master clock connected to the clock inputs of all flip-flops. In a ring counter, as in a synchronous counter, all flip-flops are triggered simultaneously. However, the output of each flip-flop drives only an adjacent flip-flop. A single pulse propagates through the ring in a ring counter, whereas all remaining flip-flops are at the zero state.
Figure (a) shows a block diagram of a 3-bit ripple counter using JKFFs. Notice from the timing diagram shown in Figure (b) that the output Q0 of the leftmost flip-flop will change its state at every clock pulse if the clear signal equals zero. The output Q1, controlled by Q0, will change its state every time Q0 changes from 0 to 1. Similarly Q2 is controlled by Q1. Figure (c) shows the outputs for the first 8 clock pulses. Observe that a 3-bit counter will cycle through 8 states, 000 through 111. An n-bit ripple counter, in general, will cycle through 2n states; it is known as a divide-by-2n counter or modulo-2n binary counter. Taking the outputs from Q2 Q1 Q0, the counter becomes an up-counter; taking the outputs from ¯Q2 ¯Q1 ¯Q0, the counter becomes a down-counter, which counts down from a preset number. Asynchronous ripple counters are available as MSI packages.