0
\$\begingroup\$

I'm looking for the simplest way to test the operation of a 74HC595 shift register without complex circuitry.

Currently (on a breadboard) I have a 47K SIP resistor in a pull-up fashion connected to pins 9 through 14 to make all inputs a default high. Yes I'm aware pin 9 is meant as n output and I'd be wasting some current if output of that pin is high but that particular output is useless to me anyway.

I then select random Qx output pins to connect directly to LEDs through current limiting resistors.

So I begin my tests and determined that the data line (pin 14) works, and enable (pin 13) also works, and the store clock (pin 12) also works along with the reset (pin 10) works.

But the clock (pin 11) is hard to tell if it is working because I need to pulse it faster than the fastest typist which I can't do. Every time I pulse it (make clock line low then make clock line high about 1/2 second later) after inverting the input data line, it seems all data output changes to the new input value instead of just one data output line.

So then I added a 10uF capacitor between clock (pin 11) which is the capacitor across the "wire" button in an effort to eliminate "bouncing", but that method isn't working.

So is there a simple way to test this clock line so that the IC sees that only one clock pulse occurred rather than hundreds of pulses?

The only answer I can come up with so far is to make an oscillator and connect it's output to the clock but I want to avoid too many extra chips if possible. Heck, if I can rewire my capacitor or resistor or even change their values, then I'd rather do that just to make the clock respond correctly.

Any ideas?

\$\endgroup\$
4
  • 1
    \$\begingroup\$ Did you try and RC instead of just a C to debounce the clock? In any case you might need a Schmit trigger after your RC to truly debounce the switch. \$\endgroup\$
    – crj11
    Mar 23, 2018 at 20:25
  • 1
    \$\begingroup\$ electronics.stackexchange.com/questions/41674/… \$\endgroup\$
    – Oldfart
    Mar 23, 2018 at 20:27
  • \$\begingroup\$ Mike, go to the link that @oldfart mentioned. There you will also find a link to Ganssle's "Debouncing" PDF. Read that paper from Ganssle. Then also consider debouncing a switch using a "one-shot" such as the 74121 (if they are even available anymore.) Regardless, make yourself a nice, debounced PB switch and keep it forever for uses like this. Some other time, make a clock source. Then you can add the clock source, a nice AND gate, and your debounced PB and make yourself a manually gated clock source, too. (May be glitchy, but useful.) \$\endgroup\$
    – jonk
    Mar 23, 2018 at 20:31
  • \$\begingroup\$ @cjr11 The 47k resistor is the R in the RC \$\endgroup\$ Mar 23, 2018 at 20:55

3 Answers 3

1
\$\begingroup\$

the problem you have is probably contact bounce

here's a simple de-bounce circuit, it uses no semiconductors, but it reqires a SPDT switch,

schematic

simulate this circuit – Schematic created using CircuitLab

Another possible problem is ground bounce, be sure to have a capacitor of at-least 100nF connected directly across the power pins of the chip, especially if you're using solderless breadboard.

\$\endgroup\$
0
\$\begingroup\$

**How hard is this? **

ground unused CMOS inputs... and add 0.1 to Vcc,Vee

enter image description here Not exactly same chip

Clock uses a Schmitt Inverter. A switch can remove 100K from output and then jumper from 0 to 5V for debounced switch with suitable RC=T time of ~0.05s

\$\endgroup\$
1
  • \$\begingroup\$ I'm looking for a solution without a need of a 2nd IC. \$\endgroup\$ Mar 23, 2018 at 22:29
0
\$\begingroup\$

schematic

simulate this circuit – Schematic created using CircuitLab

To debounce a switch signal to the clock input, I use a quite large capacitor of 1uF, (between 0.1 and 10 uF depending how far you need to debounce) and two MOSFETS. The result is almost square wave. You can also replace the two MOSFETs by a Schmidtt Trigger (perfect square wave).

You can't place a capacitor of more than 0.01uF because the clock input needs a sharp rising edge. 0.01uF is not enough to debounce. Larger cap smooth the edge too much and it's not recognized as a clock pulse. The darlington circuit with the two MOSFETs or a Schmidtt Trigger corrects that.

You can also put a 0.1 or 0.01 uF cap (not in the schematic) in serie between the debouncer circuit and the input to create short pulses at button press. But not an obligation.

R3 and R4 avoid unwanted triggering from noise. Put them also with the Schmidtt Trigger.

The easiest experiment is to connect SHCP and STCP together and SD to Vcc.

You can also use only one MOSFET if you can cope with the resulting signal inversion, mentally. Using two MOSFETs gives a more intuitive ON/OFF perception.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.