Shift register HC164 sensitivity issue

Thread Starter

Ritika Dhyawala

Joined Mar 25, 2015
5
I am controlling 5 shift registers (74HC164) from TI's cc3200 launchpad. I am clocking the data using GPIO pin and controlling LEDs though it. But my shift register is giving weird results. It gives output when i bring my hand near to it or a wire near to it (works 50% of time). Some times output LEDs go weird when touch the IC, like all LEDs will start glowing when only one should be glowing.
My power supply is sufficient(1A) for the no of LEDs i am running(21 LEDs, each drawing 10mA(3.v/330ohms) so 210mA). I tried putting decoupling cap of .1uF between Vcc and Gnd, but it did not work, Also i have put a 10nF between Clock and Ground. I have taken care of setup and hold time of HC164 in my code.
Is there anything i am missing here. I have connected Clock, Data and MR(active low) to cc3200's GPIO (3.3v)
 

Thread Starter

Ritika Dhyawala

Joined Mar 25, 2015
5
My shift registers are powered from 3.3v (ground common with the controller).
I will try putting small capacitor filter in clock. Here is the circuit diagram attached
 

AnalogKid

Joined Aug 1, 2013
11,055
Your attachments didn't make it, please try again. The waving hand thing probably is an unconnected input pin. The input impedance of a CMOS part is so high that it almost can react to individual electrons wandering by. Even the later generation parts with input protection are very noise sensitive wen unconnected.

ak
 

Thread Starter

Ritika Dhyawala

Joined Mar 25, 2015
5
Yes, the energia library in CC3200 was using the data(output pin) as analog pin, therefore it did not take it as output pin and it remained floating. Thanks for solving the problem.
 

takao21203

Joined Apr 28, 2012
3,702
of course CMOS inputs do float. If that bothers you, use a weak pullup/pulldown 47k to 100k. Some controllers already have them built in.

or as you say, set the port to output.
 
Top