Arduino 74hc165


Aprende a conectar el arduino al 74hc165 para leer entradas de los pines y expandir su capacidad

Arduino 74hc165
oscar Escrito por oscar 05 July 2026 7 0

El 74HC165 es un registro de desplazamiento de entrada paralela a salida serial (Parallel-In Serial-Out - PISO). Su función principal es leer el estado de 8 entradas digitales al mismo tiempo y enviarlas al microcontrolador usando un solo pin de datos.

Simulación del proyecto

Se realizo el circuito con la plataforma wokwi, revisa el funcionamiento a continuación:

 

Hoja de datos de 74hc165

Revisa la hoja de datos en: https://www.alldatasheet.com/datasheet-pdf/view/15549/PHILIPS/74HC165.html

Pines del circuito integrado 74hc165

74hc165
74hc165
Pin Nombre Tipo Descripción
1 PL o SH/LD (Parallel Load / Shift Load) Entrada Controla el modo de funcionamiento. En LOW carga el estado de las entradas A-H al registro interno. En HIGH habilita el desplazamiento serial de los datos. Es un pin activo en nivel bajo.
2 CP (Clock) Entrada Entrada de reloj. En cada flanco ascendente (LOW → HIGH) desplaza un bit del registro hacia la salida serial cuando SH/LD está en HIGH.
3 E Entrada Paralela Entrada digital número 5 que se almacena en el registro cuando se realiza la carga paralela.
4 F Entrada Paralela Entrada digital número 6 que se captura durante la carga paralela.
5 G Entrada Paralela Entrada digital número 7 que se captura durante la carga paralela.
6 H Entrada Paralela Entrada digital número 8. Es el último bit del registro paralelo.
7 QH Salida Serial Salida serial principal del registro. Los datos salen bit a bit sincronizados con el reloj. Este pin se conecta normalmente al microcontrolador o al siguiente registro.
8 GND Alimentación Tierra o referencia de 0 V del circuito integrado.
9 QH' (QH complementaria o Serial Out) Salida Serial Salida utilizada principalmente para encadenar otro 74HC165. Contiene el dato serial desplazado con una temporización adecuada para conexión en cascada.
10 SER (Serial Input) Entrada Serial Entrada serial utilizada cuando se conectan varios 74HC165 en cascada. Permite introducir un bit adicional durante el desplazamiento.
11 A Entrada Paralela Entrada digital número 1. Es la primera que se captura durante la carga paralela.
12 B Entrada Paralela Entrada digital número 2.
13 C Entrada Paralela Entrada digital número 3.
14 D Entrada Paralela Entrada digital número 4.
15 CE o CLK INH (Clock Enable / Clock Inhibit) Entrada Habilita o bloquea el reloj. En LOW permite que el reloj funcione normalmente. En HIGH ignora los pulsos de reloj y el registro permanece sin desplazarse.
16 VCC Alimentación Alimentación positiva del circuito. Normalmente funciona entre 2 V y 6 V (3.3 V o 5 V son los valores más comunes).

¿Para qué sirve?

Imagina que tienes un Arduino Uno.

En lugar de ocupar una entrada por cada dispositivo, puedes utilizar varios 74HC165.

Con un solo 74HC165:

Con cuatro 74HC165:

Conexión con Arduino Uno

Arduino 74HC165
D11 Q7
D12 CLK
D8 SH/LD
D9 CE
5V VCC
GND GND
Conexiónn arduino 74hc165
Conexiónn arduino 74hc165

Código

const int dataPin = 4;   // QH
const int clockPin = 2;  // CLK
const int latchPin = 3;  // SH/LD
  
void setup() {
  Serial.begin(9600);
  pinMode(dataPin, INPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
}
 
void loop() {
  // Load input bits into latches
  digitalWrite(latchPin, LOW);
  digitalWrite(latchPin, HIGH);
 
  for (int i = 0; i < 8; i++) {
    int bit = digitalRead(dataPin);
    Serial.print(bit ? "1" : "0");

    // Shift out the next bit to QH
    digitalWrite(clockPin, HIGH); 
    digitalWrite(clockPin, LOW);
  }
 
  Serial.println();
  delay(1000);
}

Comentario

Debe aceptar antes de enviar