Well, a lot of folks have written about the SN74HC595x as an 8-bit shift register. The major use is to expand ports in the Arduino. (image 1) This is the classic way to expand your Arduino for 8 more ports, without resorting  I2C or CANbus.  But what if you need 16-bits as I do?

But as you can on the left see by connecting the QH' output of the first shift-register to SER input of the second shift register you can end up with a 16-bit shift register. By adding other shift-registers you can have a shift -register of indeterminant width (8, 16, 24, 32, etc.).

For some of you who don't know about this little of this little beauty here are the guts of the part. It consists of three distinct parts:

  • The Shit Register
  • The Latches
  • Ti-State outputs