I have wired up a 74HC595N with an Uno, and the standard 8 LEDs and resistors, per the usual youtube "shift register tutorial" and written a sketch that works. For example, I wrote a routine to walk from values 0 through 255 and light up the LEDs as a hex number. So my wiring and code are correct.
As an experiment, I tried disconnecting the pin on my breadboard's power rail that goes to the Arduino 5V, and the pin that goes to Arduino ground, and instead plugged in a breakout (if that's the right word) that plugs into the breadboard and provides 5V on the power rail when a 9V battery is plugged into it. (It's been checked with a multimeter, it's just under 5V.) The only pins still going to the Arduino are for DS, SHCP and STCP.
Things sort of work, but not really. It seems clear to me that the shift register keeps getting reset. (All of the LEDs briefly light back up in each iteration as I'm running my hex number display routine.) All of the other wiring remains the same; specifically OE-bar is still connected to ground on the power rail. But it still seems to reset.
Can someone explain why the shift register keeps resetting? Also, am I doing anything that might burn up the Arduino and/or shift register?