🔍 Présentation technique
Le 74HC595 est un registre à décalage (shift register) 8-bit avec sortie latched et sortie série chaînable, LA solution universelle pour expansion GPIO microcontrôleurs. Architecture : 8-bit shift register + 8-bit storage register + buffer tri-state output, communication série synchrone (clock + data), contrôle parallel output via latch. Interface 3 pins contrôle : SER (serial data in), SRCLK (shift clock), RCLK (register clock/latch), plus OE (output enable active low), SRCLR (clear active low). Alimentation 2-6V (74HC), consommation statique 1µA, dynamique ~1mA à 1MHz. Chaque sortie peut sourcer/sinker 6mA (74HC) ou 35mA (74HCT) - suffisant LEDs avec résistances. Fréquence max 25MHz (VCC=4.5V). Cascade illimitée via Q7' (serial out) vers SER suivant = contrôle 8-16-24-32...N sorties avec seulement 3 pins MCU. Applications : afficheurs LED multiplex, matrices LED, contrôle relais multiples, expansion I/O, interfaçage 7-segments multiples.
💡 Guide de sélection
Le 74HC595 est LE choix pour expansion GPIO microcontrôleurs : piloter 8+ LEDs, afficheurs 7-segments multiples (4×7seg = 4×595), matrices LED 8×8 (2×595 = lignes+colonnes), relais boards >8 canaux. Pour courant >6mA par sortie, ajouter ULN2003 ou MOSFETs en cascade. Alternative input : 74HC165 (shift register parallel-to-serial pour lecture boutons/switches multiples). Pour très haute fréquence (>50MHz), 74HC595 atteint limites - préférer bus SPI natif. Version haute puissance sortie : TPIC6B595 (8×150mA open-drain spécial LED). Le 74HC595 consomme quasi rien statique (1µA) - parfait applications batterie. Cascade typique : 2×595 = 16 GPIO, 4×595 = 32 GPIO. Prix dérisoire : 0.30€ DIP-16, 0.20€ SOIC-16. Tous microcontrôleurs (Arduino, ESP32, STM32, PIC) ont bibliothèques natives shiftOut(). Alternative moderne : I²C GPIO expander (PCF8574 8-bit, MCP23017 16-bit) mais 595 plus simple et rapide.
⚙️ Conseils d'utilisation
Connexions Arduino : SER=dataPin (ex:11), SRCLK=clockPin (12), RCLK=latchPin (8), OE=GND permanent, SRCLR=VCC permanent. Code Arduino : digitalWrite(latchPin,LOW); shiftOut(dataPin,clockPin,MSBFIRST,value); digitalWrite(latchPin,HIGH); Chaque sortie Q0-Q7 via résistance 220-470Ω vers LED. Cascade 2×595 : Q7' premier 595 vers SER second, SRCLK+RCLK partagés, envoyer 16-bit data (2×shiftOut). Pour afficheur 4×7-segments : 4×595 (segments ABCDEFG+DP), cathodes communes via transistors NPN multiplex. Fréquence PWM sortie : possible mais limité ~1kHz max (latence shift+latch). Découplage VCC : 100nF local obligatoire. Temps propagation total : Tpd = n×Tbit où n=8 = 8×25ns = 200ns @ 1MHz clock. Pour LED matrices 8×8 : un 595 pour colonnes, un pour lignes, multiplex 1kHz (1ms par ligne). Protection ESD : 595 relativement fragile - ajouter résistances séries 100Ω sur sorties exposées. Output enable (OE) utile pour blanking durant update - évite scintillement.
📝 Retour d'expérience
Shift register que j'utilise dans 80% projets nécessitant >8 GPIO ! Applications réelles : matrices LED 16×8 horloge murale (2×595 + ULN2003, 128 LEDs, Arduino Nano), afficheur 6×7-segments station météo (6×595 cascade, ESP8266, données WiFi), panneau contrôle 32 relais domotique (4×595 + 4×ULN2003, STM32), chenillard 64 LEDs RGB (8×595, PWM software 100Hz), testeur continuité 16 canaux (2×595 sorties, 2×165 inputs). Le 74HC595 est INCROYABLEMENT fiable - j'ai des montages 595 tournant 10+ ans 24/7 sans défaillance. Extrêmement simple utilisation - bibliothèque shiftOut() Arduino = 2 lignes code. Mon astuce pro : pour matrices LED grandes (>16×16), utiliser drivers dédiés (MAX7219, AS1107) plus efficaces mais 595 imbattable flexibilité/prix. Version SOIC-16 parfaite SMD. Prix 30 centimes = achetez-en 20. Attention : 74HC595 (CMOS) vs 74HCT595 (TTL-compatible) - HC préférable 3.3V, HCT pour 5V strict.
Spécifications Techniques
| Alimentation min | 2V |
| Alimentation max | 6V |
| Délai de propagation | 13ns |
| Courant de sortie | 6mA |
| Fréquence max | 36MHz |
| Boîtier | PDIP-16, SOIC-16, SSOP-16, TSSOP-16 |
Caractéristiques Principales
- Registre à décalage 8 bits
- Sorties 3 états haute capacité
- Clear direct du registre
- Horloge séparée pour décalage et stockage
- Faible consommation 80µA max
- Entrée série et sortie série pour cascade