What is?
A shift register is a sequential digital circuit, this means that the values of their outputs depends on the values of its inputs and previous values of its inputs. It is a series of flip-flops connected in cascade which oscillate synchronously with the same clock signal.
*flip-flops: is a multi-vibrator able to stay in one of two possible states for an indefinite time into the absence of disturbances. This feature is highly used in digital electronics to store information.
Like all the integrated circuits, this has a data sheet. The data sheets give us all necessary information about the integrated circuit, such as: conditions to work, the inputs and outputs for each pin, the voltage input, temperature, etc.
In the data sheet we can find the Pin Config:
And the Pins Description:
Symbol | Pin | Description |
---|---|---|
Q1 | 1 | parallel data output 1 |
Q2 | 2 | parallel data output 2 |
Q3 | 3 | parallel data output 3 |
Q4 | 4 | parallel data output 4 |
Q5 | 5 | parallel data output 5 |
Q6 | 6 | parallel data output 6 |
Q7 | 7 | parallel data output 7 |
GND | 8 | ground (0 V) |
Q7′ | 9 | serial data output |
MR | 10 | master reset (active LOW) |
SHcp | 11 | shift register clock input |
STcp | 12 | storage register clock input |
OE | 13 | output enable input (active LOW) |
DS | 14 | serial data input |
Q0 | 15 | parallel data output 0 |
Vcc | 16 | supply voltage |
When I need one?
The shift register, if we work with Arduino or Raspberry Pi, can increase the number of pins to us. In this case the 74HC595 requires 3 input pins but returned 8 output pins.
This means that using only 3 pins on the Raspberry Pi or Arduino, we can manage until 8 pins. Very usefull when we are doing projects that requires more than the pines available in our Arduino or Raspberry Pi.
Example:
See what we can do in this example