Hice una pequeña prueba en un registro de desplazamiento 74HC595 de la siguiente manera:
Até el OE (pin 13) a tierra para habilitar las salidas. Até MR (pin 10) a VCC (+ 5VDC / logic high) para evitar un reinicio. Conecté SCK, RCK y DS (pines 14, 11 y 12) a líneas de E / S individuales de un microcontrolador AT89C2051 sin inicializar y conecté resistencias de pull-up de 10K a cada línea. Conecté la salida de bit más baja (pin 15) a un LED a través de una resistencia de 1K para ver qué está pasando.
El AT89C2051 no conecta a tierra ninguna línea de E / S cuando se inicializa sin código, e incluso con un restablecimiento accidental en el AT89C2051, las líneas de E / S permanecerán sin cambios.
También utilicé varios condensadores de desacoplamiento 2.2uF.
Una vez que lo encendí, el LED se encendió de inmediato. Probé cada pin de salida del 74HC595 y todos tenían una lógica alta en lugar de una lógica baja.
¿Por qué sucede esto?
Verifiqué que el 74HC595 funciona al reemplazar el AT89C2051 con un socket de 20 pines vacío y al aplicar niveles lógicos a los pines apropiados, pero no entiendo por qué (74HC595) arrancaría con salidas lógicas altas en lugar de lógica baja .