1
\$\begingroup\$

If I use the 74HC595 output shift register, and I don't use the latch pin, would it still work as shift register, like the 74HC164, that doesn't have that pin at all? The shift register is going to be used to reduce the output pins needed to drive the colums on a switch (pushbutton) matrix.

\$\endgroup\$
4
\$\begingroup\$

No. Both SRCLK and RCLK are edge-triggered, so if you hold RCLK at a fixed level, the outputs will never change.

You'd have to connect RCLK and SRCLK together in order to get the functionality you want, but note that this creates an extra clock of delay from the serial data input to the first output, as compared to the '164.

\$\endgroup\$
  • \$\begingroup\$ Thank you. So without a latch (I will use the '164 then), will I still be able to correctly drive a multiplexed switch matrix? Do I need some software shrewdness compared to a latched shift register? \$\endgroup\$ – Dimitri Petrucci Sep 19 '18 at 14:38
  • \$\begingroup\$ Shouldn't be a problem. Normally, you're not clocking the shift register at the same time you're trying to read the data. \$\endgroup\$ – Dave Tweed Sep 19 '18 at 14:43
  • \$\begingroup\$ Ok, so I guess that using for example Arduino, and the SPI library, if I use SPI.transfer() I will only scan the input after the function returns, so I know that the byte has been fully transferred before I read the data, hence I get the correct behaviour. Is that right? \$\endgroup\$ – Dimitri Petrucci Sep 19 '18 at 14:47
  • \$\begingroup\$ Yes, that's right. \$\endgroup\$ – Dave Tweed Sep 19 '18 at 14:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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