How Shift Registers Work (74HC595)

About: i am passionate about electronics and technologies!!!

Hey!! In this we are talking about shift registers. If you don't know what shift register is basically its a nice way of expanding the number of outputs of our Microcontrollers. 74HC595 is an 8 bit shift register (i.e.,) It can store up to 8 bits at one time.

Step 1: Connection and Description:

It has 16 Pins. 3 inputs( PIN 14(data pin), PIN 12(latch pin) and PIN 11(clock pin) ) and 8 outputs(PIN15 and PIN 1 -PIN 7) . The PIN 8 should be connected to ground and PIN 16 should be connected to 5V. The Pin 13 (output enable) should be grounded so that it will enable the output pins of the shift register. PIN 10 (master Reset) should be pulled high. because if it is grounded this will clear the memory of the shift register and PIN 9 is an extension pin what it does is if we want to connect another shift register means the data pin of the another shift register is connected to this extension pin.

PIN 11 (CLOCK PIN) is to tell when the shift register will accept the input on the data line when clock is on the rising edge, the shift register will accept the input on the data line.

PIN 12 (LATCH PIN) is to update the outputs to the latest input on the data line. The latch input is active-high.



    • DIY Summer Camp Contest

      DIY Summer Camp Contest
    • Games Contest

      Games Contest
    • Growing Beyond Earth Maker Contest

      Growing Beyond Earth Maker Contest

    8 Discussions


    2 years ago

    This is exactly the tutorial I was looking for! Thank you.

    1 reply

    7 months ago on Introduction

    Nice tutorial and very good explanations!
    Though, I've built myself the circuit and it doesn't work smoothly. It puts more than one "1" or "0" on the register every time I press clock button. I guess it can be something related to bounces, so, should it be good to have a capacitor circuit anywhere?

    2 replies

    Reply 7 months ago

    Yep, with a 10 nF capacitor between V+ and the pull-down from the clock pushbutton it improves reliability :)
    Thanks for the tutorial!