Interfacing shift register with AVR

74HC595 shift register

The shift register is one of the vital things to learn while designing an embedded system. One can increase the number of input and output pins available in any microcontroller using shift registers. There are situations where you want to interface many peripherals together and keep the low system cost and reliability. This is where the shift register comes into the picture. For example, in a joystick used to play games, a shift register reduces the number of pins almost by half instead of running all the pins from the console to the joystick buttons.  This increases the joystick’s reliability and has helped save a lot of money in the long run. Another advantage of using shift register is that only three pins, mainly control, latch and serial input/output, can drive virtually any number of outputs or take inputs from a large number of the device. You might have seen different led cubes available in sizes of 4×4 or 6×6. The LEDs in those cubes are all driven by using shift registers.

Continue reading