Here's what I'm trying to do.

I have a 32K EEPROM (IC1 is an AT28C256) with data burned onto it.

What I want to do is select the address I want using shift registers and then load the output value (code) into the LCD. The "TRIG" (or E) of the LCD is connected to a monostable output (not shown). It is setup so that if no activity occurs on the clock input for a certain time then the address is valid and E changes state.

In the past I tried my setup without pull-up resistors and it failed (with some output pins of the 74HC164 reporting lower voltages than normal).

I feel my options are:

Change 74HC164 to 74HCT164


Use pull-up resistors

If I use the first option, the availability of the chip is lower, and wouldn't the chance of emi go up?

I tried the second option with 10K sip resistors, but for some reason I think that value might be too low.

What I think is best is to make the sip resistors values higher, but what's the highest I can go before the outputs don't register properly?

or am I really better off replacing 74HC with 74HCT?



1 Answer 1


The outputs of the 74HC164 and the 74HCT164 are both compatible with the AT28C256 EEPROM without any pull-up resistors.

You must have had some other error that caused incorrect operation in your previous circuit.

The 10K pull-ups should not affect operation.

The 74HC164 and the 74HCT164 are only different on the voltage levels of their inputs - the 74HCT devices are compatible with being driven by the outputs of bipolar TTL devices. TTL devices only guarantee a high output of 2.4v. This is not adequate to correctly drive a 74HC device.

74HCT devices must be powered by 5v on VCC. 74HC devices can be used for supplies of 2-5v.

  • \$\begingroup\$ Don't use pulp resistors, they drip off the board :-) \$\endgroup\$
    – TonyM
    Commented Apr 17, 2017 at 9:25

Your Answer

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