Thanks for the reply. I don't understand why the shift register is more advantageous (or that much different) than using a port expander. Lets forget about cost for a second seeing as how the shift register is cheaper but we're talking about a one off device, not volume production.

The schematic you provided a link to shows pretty much the same thing I was thinking (which is perfectly fine by the way - I have no problems with it). He is using one shift register per digit, which is the same as the design I was thinking about. However, now that I think about it I can use a 23S17 and reduce my chip count from 5 to 3.

Does the shift register reduce the amount coding that you have to do? In other words, pretend you're a salesman, what's the selling point with using the shift register as opposed to a port expander?