The basic working principle of a shift register is the user would enter data into it sequentially and the data will move from the beginning till the end of the shift register.
Any bits that ‘flow’ out of the shift register can either be entered into another shift register or it’ll be lost forever.
It is the simplest form of data storage that paved the way to more complex and advanced storage like what we have in the 21st century.
In this tutorial, I’m using a very common shift register IC which is the 74HC595. It is an 8 bit shift register which means that it can store up to 8 bits at one time.
Here is a PCB I’ve made for the shift register IC.
Essentially, there are only 3 inputs. They are DATA, CLOCK and LATCH.
DATA is the bit that you want to enter into the shift register. Pull it HIGH to enter a ‘1’ or LOW to enter a ‘0’. Pretty simple?
CLOCK is to tell when the shift register will accept the input on the DATA line. Whenever the CLOCK is on the rising edge, the shift register will accept the input on the DATA line.
LATCH is to update the outputs to the latest input on the DATA line. The LATCH input is active-high.
There is a video tutorial down below if the explanation here is not clear enough.
Beside storing data, shift register is commonly used nowadays to save microcontroller output pins. With just 3 pins, the microcontroller can control a limitless amount of output pins with a cascading shift register configuration.
Hope this article will be of great use to those who need it.
Thanks for reading.