Shift register not working --advice?

I'm trying to use a 74hc595 shift register to drive my 8-segment LED, mostly for educational purposes. I've read up on the shift register and studied the datasheet and several tutorials, but I can't get my circuit to work.

Circuit is basically this:

  1. Q0 thru Q7 on the 74hc595 connected to the segments on the LED
  2. LED grounded via a 220R resistor to common ground.
  3. VCC on 74hc595 to arduino +5v
  4. GND on 74hc595 to common ground
  5. SER on 74hc595 to pin 11 on arduino
  6. RCLK (latch) on 74hc595 to pin 12 on arduino
  7. SRCLK (clock) on 74hc595 to pin 8 on arduino

My code basically:

  1. Sets the latch pin LOW
  2. uses the shiftOut to send 0xF (a byte of all 1's) to the data pin
  3. sets the latch pin to HIGH

If I understand correctly, this should light up all the segments, but instead nothing happens. I know my LED is good, it works if I apply current directly. How can I troubleshoot this to know if my 74hc595 is bad? The full model number on the chip is M74hc59581, but I couldn't find a datasheet on that. Other similar chips seemed to have all the same pinouts, but is it possible this one has a different pinout? (FWIW, this came in a kit, and the PDF that came with the kit shows the same pinout as other 74hc595 chips).

Sorry this is vague, but I don't have my code in front of me, and mostly I want to know if I'm missing something high-level before stepping into the details.

You do not mention Master Clear or Output Enable on the '595.
Connect MCLR to +5, and OE/ to Gnd.

CrossRoads:
You do not mention Master Clear or Output Enable on the '595.
Connect MCLR to +5, and OE/ to Gnd.

Interesting, I don't think it was mentioned in the tutorials I tried to follow, so I just had them unconnected; but I will definitely try it when I get back to the workbench. Thanks!

If those 2 control inputs are left floating, can see quite erratic operation with 'HC595 parts.

admoore:
2. uses the shiftOut to send 0xF (a byte of all 1's) to the data pin

For a byte with all bits set to 1, that would be 0xFF not 0xF, also note that you can use binary notation: 0b11111111

B11111111 also works. I think there is a #define in some background file somewhere that provides that.

Is the display common anode or cathode? (The connections you describe would only work if it's common cathode.)

Paul

If I am not mistaken you should also have 0.1uf capacitors between VCC (pin 16) and ground and also MR (pin 10) and ground.

Nothing needed on MR - just tie it to +5.