[SOLVED] weird problem with shift registers

Status
Not open for further replies.

tinkerer73

Member level 3
Joined
Apr 5, 2011
Messages
65
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,288
Activity points
1,892
OK, I have a ciruit that I'm working on using 74HC595 shift registers in series to run a bar graph. This is my first time with shift registers in my circuit, but I thought I had a good understanding of how to use them.

Since my circuit was not working how I expected, I broke it down to a smaller setup in order to troubleshoot.

I'm using a PIC16F1829 and 2 shift registers. Each output of the shift registers is going to an LED, then a resistor to ground. RC0 is going to SER, RC1 is going to SCK, RC2 is going to RCK. I have SCLR pulled high, and OE pulled low. I have a capacitor between VCC and GND on all 3 ICs. Data out on the first register goes to SER on the second, and SCK, RCK, OE, SCLR are tied together between both of them.

I have set up a basic program which lights up all of the LEDs in sequence one second at a time. The first 8 LEDs light in sequence perfectly, but as soon as the first one on the second shift register lights up, they all begin to flicker, dim, and pulse each second. By the time 3 or 4 of the LEDs on the second register should be lit, they are all off, and they pulse each second that a new one should come on. Thinking that it might be some kind of current problem, I removed the connection between the Data Out on the first register and simply ran the SER in parallel between them, so each register was acting separately, but with the same serial data. Both sets of 8 LEDs lights up in sequence perfectly with zero dimming or flickering, so my concern that the current was falling seems false. I have swapped out new shift registers and it's acting the same. Can anyone shed some light on this? Where am I going wrong?
 

No one has any thoughts on this issue? Why am I only getting this flickering when running them in series as they are designed to do?
 

It has to be something to do with the power line, they seem to be connected correctly. Nothing in the circuit you describe has a 1 second clock so I suspect the power rail is dipping and resetting or falsely clocking part of the circuit.

Brian.
 

So you think the registers are resetting? Because when I hooked up some LEDs to each of the lines sending data to the register (SCK, RCK, SER), they are flashing appropriately in sequence (I put in a delay to slow everything down and see what might be going on), so I know the PIC isn't resetting.

Why would this only happen when I string the two together, though? If I send the identical signal to each register (I moved the wire that was going from DATA OUT on the first register over to SER so it was just sending the same data it received from the PIC to the second register), the LEDs will light in sequence perfectly (9-16 simply duplicate 1-8) with no dimming or flickering.
 

OK, so I guess the voltage issue is the problem. I was poking around and if I touched the right group of wires while my program was running, it would work properly. After replacing a bunch of wires, it did the trick.

It's still strange that they would work perfectly if I ran them each directly off the PIC, but act up when in series, since the only wire that changed was the one going to the SER input.

Thanks for the help. It was driving me nuts.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…