74HC595 IC is a 16-pin shift register IC consisting of a D-type latch along with a shift register inside the chip. It receives serial input data and then sends out this data through parallel pins. In addition to parallel outputs, it also provides a serial output. It has independent clock inputs for shift register and D latch. This IC belongs to the HC family of logic devices which is designed for use in CMOS applications.
74HC595 has two built-in registers. The first one is a shift register and the second one is a storage register. Data serially transfers to shift register bit by bit. But it transfers to the storage register only when the data latch pin is active high.
74HC595 Pinout Diagram
If you look for 595 series shift registers, it has many variants and models available in the market. But all work the same way. They have the same pin configuration, electrical features, pinout diagram, and working principle. But this tutorial will be more focused on SN74HC595N by texas instruments.
Now, look at the pinout diagram. The tilt sign ~ shows that these pins operate on active low signals or on negative logic. We will look into the details of negative logic later on in this tutorial.
Related to output pins, because it is an 8-bit shift register. SN74HC595N has eight output pins from Q0-Q7.
Pin Configuration Details
In this section, we see Pin Description of all pins along with their working and functionality.
Pin# 01, 02, 03, 04, 05, 06, 07, 15: Output pins
These eight pins are the output pins of the shift register. We should connect these pins with any peripheral where we want to display storage register data. Commonly used components are like LED, seven-segment displays, etc.
Pin# 08: GND
This is the ground pin and is connected to the ground of the circuit.
Pin# 09: Q7’
It is a non-inverted serial data output coming out of the eighth stage of a shift register. It is also used for cascading purposes. For instance, if we need 16 bits shift register. We can daisy-chain two 74HC595 ICs. To do this, simply connect ~Q7 pin with Serial input DS pin of 2nd 595 IC. Moreover, provides the same clock signal to both integrated circuits. In this way, two 74HC595 will work as a single 16-bit shift register. Furthermore, you can continue this process to connect as many ICs as you want to get more data width.
Pin# 10: ~MR
It is an asynchronous, active low master reset Input which is used to reset the shift register only. The 8-bit latch is not affected by this input. Applying a low signal at pin 10 will reset the shift register portion only.
Pin # 11: SH_CP
This is the clock input pin of a 74hc595 shift register. A data is shifted from the serial input pin to the 8-bit shift register on every positive transition of the clock signal applied at this pin.
Pin# 12: ST_CP
This is the active high, clock input pin of a storage register. A positive transition of a signal at this pin is used to update the data to the output pins.
Pin# 13: ~OE
The Output Enable pin is active low. When this pin is low, the data in the storage register appears at the output. On applying high signals, outputs are turned off by forcing them into the high-impedance state. However, serial output is not affected at all. For normal operations, it is kept low.
Pin# 14: DS
This is the serial data input pin, where input data is provided.
Pin# 16: Vcc
A positive power supply is provided at this pin.
- It is a shift register with 8-bit serial input and 8-bit serial or 3-state parallel outputs.
- The operating voltage of this IC is from 2V to 6V.
- The output voltage is equal to the operating voltage of this IC .
- It is based on CMOS logic and therefore consumes a very low power of 80uA.
- The output source/sink current is 35mA.
- It has a characteristic of high noise immunity.
- It can be easily cascaded through pin 9 with more IC to get more outputs.
- The maximum clock frequency is 25Mhz @4.5V.
- Schmitt trigger action is provided on all inputs.
Alternative Shift Registers
Where to use 74HC595?
Do you ever wonder, how an embedded engineer controls hundreds of series or parallel connected light-emitting diodes with the help of a microcontroller that have very few general-purpose I/O pins? Additionally, You want to control more than 8 servo motors and you have only 2-3 GPIO pins of a microcontroller. How you will solve this problem? How you will control an LED Matrix of different dimensions such as 8×8, 16×16, 32×32 with minimum GPIO pins of a microcontroller? The simple answer is a 74HC595 shift register.
In most of the applications, you need more outputs for interfacing LEDs or any other devices such as seven segments, 16 segments, LED flasher, etc. This IC is very handy to use. For increasing the output pins, you can interface this IC with different microcontrollers such as Arduino Uno, PIC Microcontroller, Atmel, etc. You can use this IC in designing projects which require controlling multiple outputs.
74HC595 Shift Register Working Principle
As mentioned earlier, the internally 74HC595 shift register consists of two registers such as shift register and storage register. Both are 8-bit wide. The first one is responsible to accept data input on every positive edge of the clock and it keeps receiving data. But data from the shift register transfer to the storage register only when we apply an active high signal to latch input pin.
How to use 74HC595 Shift Register?
- It has eight outputs and 3 input pins which include a data pin, storage resistor clock pin, and shift register clock pin. Connect pin8 to ground and pin16 to +5V voltage supply.
- The output enable pin (~OE) should be grounded to enable the output pins of the shift register. The master reset pin will clear the memory of a shift register if it is applied with a low signal. That’s why it should be kept high.
- When the positive edge transition occurs on pin 11, the shift register will accept the inputs applied on the data line.
- The outputs of the storage register are connected to the input pins of the D-latch/storage resistor.
- These inputs are updated on the latch output when a positive edge transition occurs at pin 12.
Most importantly, If you need to cascade multiple IC’s together then pin 9 is connected to the data pin of another shift register IC.
This video is a simulation of the 74HC595 Shift register. we will apply different serial inputs and check the output on the bar graph. First, let’s apply the 11110000 serial input and see the output. We enable latch signal after 8 seconds because we are sending serial data to 74hc595 after every one second. Therefore, a total of 8 bits of data required 8×1=8 seconds to shift serially.
Therefore, we can load data to the output register after 8 seconds when all 8 bits
are transferred. Now let’s apply different input data.
As you have seen from video of Proteus simulation, we get output according to serial data input as soon as we apply latch signal after the transfer of 8 bits of data.
This IC has a multitude of applications and is used in wide arrays of products such as computer peripherals, Appliances, etc. Few applications are enlisted below:
- Holding Data for a long time period
- Serial to Parallel Data Conversion
- General Purpose Logic
- Controlling LED’s
It is available in 16-pin PDIP, GDIP, PDSO packages. The dimensions of the PDSO package are given below.
Related Projects and Tutorials: