What is a 74HC595 Shift Register & Its Working

An LED display is extensively used in different types of instruments due to its less cost, low power consumption & consistent performance. There are different LED drivers available in the market but expensive. So, 74HC595 Shift Register-based LED drive has many benefits like simple to make, less cost, less power consumption, high speed, utilization of several LEDs, etc.

What is a 74HC595 Shift Register?

The IC like 74HC595 is one kind of shift register that includes a D-type latch with a shift register. This IC gets serial input data and transmits it throughout parallel pins. It also gives a serial output along with parallel. It also includes separate CLK inputs for the shift register & D latch.

74HC595 Shift Register
74HC595 Shift Register

This shift register belongs to the HC family from logic devices, so used in CMOS-based applications.
74HC595 IC includes two in-built registers like a shift register & a storage register. Here the data transfer can be done bit by bit serially to the storage register simply once the data latch pin is high.

Pin Configuration

The pin configuration of the 74HC595 Shift Register is shown below. This IC includes 16 pins where each pin and its functionality are discussed below.

74HC595 IC Pin Configuration
74HC595 IC Pin Configuration

Pins: 1, 2, 3,4,5,6,7,15 (Output pins): These output pins are used to connect through any display device to display the data of storage register like LED, 7-segment displays, etc.

Pin-08 (GND): This pin is connected to the GND of the circuit.


Pin-09 (Q7): This pin is a non-inverted serial data o/p and this pin is mainly used for cascading purposes.

Pin-10 (Master Reset): This is an asynchronous and active low pin, used for simply resetting the shift register. By using this input, the 8-bit latch will not affect. Once a low signal is applied to this pin then the register will reset.

Pin-11 (SH_CP): This pin is the CLK input pin for a shift register, where data can be moved from the serial i/p pin to the 8-bit register on each positive CLK signal transition applied to this pin.

Pin-12 (ST_CP): This is a clock input with an active-high pin of a register. At this pin, positive signal change is mainly utilized to update the data toward the o/p pins.

Pin-13 (OE): This is an active-low pin, once this pin is low, then the data within the storage register will come into view at the o/p. Once the high signal is applied then the output will be turned off by pushing them into the condition of high impedance. But, the serial output cannot be affected for any operations.

Pin-14 (DS): This is a serial data input pin, used to provide input data

Pin-16 (Vcc): At this pin, a +ve positive power supply can be provided.

Features & Specifications

The features of the 74HC595 shift register include the following.

  • 8-bit SISO Shift register
  • These Shift Registers are Available in Different Packages like 16-pin GDIP, PDIP & PDSO
  • Operating Voltage ranges from 2V – 6V
  • Clock Frequency Max is 25 MHz at 4.5V
  • Power Utilization is 80uA
  • To get More Outputs, we can Simply Cascade through More Chips
  • The sink current is 35mA
  • Low-level Input Voltage Max: 1.35V
  • High-Level i/p Voltage Min 3.15V
  • Max quiescent current is 80 µA
  • Max Input current is 1µA
  • Shift frequency is DC-30 MHz

When to use Shift Register?

Generally, the shift register plays a key role in saving the microcontroller pins, because each microcontroller includes a limited number of input/output pins.

For instance in a LED drive project, if we want to control 16 LEDs then they need 16 microcontroller pins. In some cases, we don’t have 16 I/O pins then a shift register is used. Once two shift registers are connected in series than 16 LEDs can be controlled with the help of simply 3 I/O pins. If we use more shift registers then we can save several pins for further processes.

How to use 74HC595 Shift Register?

The circuit diagram of 74HC595 Shift Register using an Arduino Uno board includes the following. In the following circuit, interfacing of74HC595 is done by using an Arduino Uno. This circuit can be built with different electronic components like Arduino Uno, 74HC595 shift register, 8 LEDs, breadboard, 1 Kilo Ohm resistors – 8, connecting wires & a 5V power supply.

74HC595 IC Circuit using Arduino Uno
74HC595 IC Circuit using Arduino Uno

In the above circuit, the Arduino Uno board’s pin-4 is connected to the shift register’s serial input pin. After that, connect the pin11 & pin12 to pin5 & pin6 of the Arduino board. Connect 8 LEDs with 8 1 kilo-ohm resistors to the output pins -8 of the shift register and provide a 5V power supply to the IC instead of supplying 5v from the Arduino board.

The working of the above circuit is all the LEDs in the above circuit will be switched OFF once the LED byte variable is set to low. By using the BySet function, each bit is set to high and it is moved out with the shift out function.

Likewise, every LED will be activated similarly. Here, the bit clear function is used to turn off the LED. In this way, all the LEDs in the above circuit will be controlled through a 74HC595 Shift Register & an Arduino Uno board.

Advantages & Disadvantages

The shift register advantages mainly include the following.

  • Very quick to use
  • It is employed within CDMA for generating Pseudo Noise Sequence Numbers.
  • The data can be converted very easily as compared to converter circuits
  • The signal delay can be done by using this shift register
  • Simple to design
  • This can be used to encrypt/decrypt the data.
  • The data can be tracked
  • The disadvantage of a shift register is, the output current strength is not strong


The applications of the 74HC595 shift register include the following.

  • This IC is used to drive a number of LEDs
  • Servers
  • Capture & Hold Logic
  • Network Switches
  • Simple Data Conversion from Serial to Parallel
  • Controlling in Industries
  • Extend the GPIO Pin on an MCU/MPU
  • Electronic Devices
  • Power Infrastructure
  • Used in LED Matrix or Cube Projects
  • Used in Cascading Applications
  • Used for LCD Interfacing

Thus, this is all about an overview of a 74HC595 shift register. Shift registers are available in two types like SIPO or PISO which stands for serial-in-parallel-out & parallel-in-serial-out. The example of SIPO is 74HC595 whereas the PISO is 74HC165. The SIPO IC is used to control the number of LEDs whereas the PISO IC collects a huge number of inputs such as buttons. Here is a question for you, what is the function of a shift register?