74hc595: tout sur le registre à décalage IC

El Puce 74HC595Comme il est déduit de son nom, il s'agit d'un circuit imprimé qui implémente un circuit CMOS à l'intérieur. Plus précisément, il s'agit d'un registre à décalage. Pour ceux qui ne connaissent pas encore ces registres, il s'agit essentiellement d'un circuit numérique séquentiel, c'est-à-dire que ses valeurs en sortie dépendent simplement des valeurs d'entrée et des valeurs mémorisées précédentes.

Cela les différencie des combinatoires, que les sorties ne dépendent que de la valeur de l'entrée. Ce registre est constitué d'une série de bascules ou bascules de type D commandées par un signal d'horloge. Ceux les bascules sont des souvenirs qui gardent une valeur antérieure. Chacun stocke un peu et, de son nom, on peut également en déduire qu'il peut les décaler. En exécutant les bits dans les deux sens, nous pouvons faire des opérations numériques assez intéressantes.

Types de registre à décalage

Diagramme de registre de décalage

Selon le type de déplacement ce qu'ils font sur les bits qu'ils stockent, les registres peuvent être de différents types. Ils sont capables de se déplacer à gauche ou à droite, certains sont bidirectionnels, mais l'ordre est ce qui déterminera le type, même dans d'autres cas, ils sont également catalogués en fonction de la façon dont les entrées et les sorties sont:

  • Série-Série: ceux dans lesquels seule la première bascule reçoit des données et ils vont en série jusqu'à ce que le registre complet soit rempli. La dernière bascule est celle directement connectée à la sortie et par laquelle le registre sera sorti.
  • Série parallèle: les bits vont en parallèle pour être stockés en même temps dans toutes les bascules, mais ensuite ils sortent en série. Ils peuvent être utilisés pour passer de la série au parallèle et vice versa.
  • Série-parallèle: similaire à la précédente, toutes les sorties sont accessibles en même temps depuis toutes les bascules. Mais les données n'entreront que par le premier de la série.
  • Parallèle-parallèle: Les données vont en parallèle et sortent en parallèle.

Parmi les circuits les plus connus, nous avons le 74HC595, 74HC164, 74HC165, 74HC194, etc. Le 194 est universel, il peut être configuré comme on veut. D'autre part, nous avons d'autres bidirectionnels tels que 165 et 164, donc il se déplace vers la gauche ou la droite, comme spécifié avec le signal de commande de direction, mais ils n'ont qu'une configuration: entrées parallèles et sortie série, et entrée série et sortie parallèle.

l298n
Article connexe:
L298N: module de contrôle des moteurs pour Arduino

À quoi sert un registre à décalage?

Pourquoi décaler les bits? Le décalage des bits de données peut être très pratique. Une des raisons est que vous devez changer les valeurs dans un but précis. Mais le décalage implique également d'effectuer certaines opérations sur les bits stockés. Par exemple, déplacer un ensemble de bits vers la gauche équivaut à les multiplier par 2. Les déplacer vers la droite revient à diviser par 2. Par conséquent, pour faire une multiplication et une division binaires, ils peuvent être très pratiques ...

Ils sont également utilisés pour générer des valeurs pseudo-aléatoires, pour des approximations successives largement utilisées dans les convertisseurs analogiques / numériques, pour retarder, etc. Les utilisations dans circuits numériques logiques c'est assez courant, il n'est donc pas rare de devoir les utiliser dans certains projets.

Caractéristiques du 74HC595

Brochage 74HC595

El 74HC595 est un IC assez simple. C'est un registre à décalage de 8 bits, c'est-à-dire qu'il a 8 bascules pour stocker 8 bits. Le brochage ou les broches de cette puce peuvent être vus dans l'image ci-dessus, avec Vcc et GND pour l'alimentation, puis ceux marqués comme Q qui sont les données. Le reste correspond à des signaux d'horloge / de commande.

Les l'entrée l'a en série et la sortie en parallèle. Par conséquent, avec une seule entrée, ces 8 sorties peuvent être contrôlées en même temps. Vous n'aurez besoin que de trois broches du microcontrôleur utilisé (par exemple: Arduino) pour le piloter. Ce sont Latch, Clock et Data. Le verrou est la broche 13 dans ce cas, bien que cela puisse varier, vous devriez donc consulter la fiche technique de votre fabricant. L'horloge peut être 11 ou autre, et le bit de données est 14.

La signe de l'horloge il alimentera le circuit pour déterminer le battement ou le rythme auquel il va travailler. La sortie de données changera le comportement de la puce. Par exemple, lors du passage de LOW à HIGH et de la génération de la nouvelle impulsion d'horloge en passant l'horloge de HIGH à LOW, ce qui est obtenu est d'enregistrer la position actuelle où se trouve le déplacement, la valeur saisie par cette broche de données. Si vous répétez cette opération 8 fois, vous aurez alors enregistré les 8 positions et un octet stocké (Q0-Q7).

Utiliser avec Arduino

Arduino avec le 74hc595

Pour vous le rendre plus clair, peut-être un exemple avec Arduino Il vous l'explique de manière plus intuitive et graphique que de commencer à lancer des données théoriques. Par exemple, vous pouvez créer un circuit simple avec Arduino et un registre à décalage 74HC595 pour jouer avec certaines lumières ou LED. Une autre option un peu meilleure et plus simple consiste à utiliser un affichage à 7 segments pour lire les valeurs du registre.

Transistor 2n2222
Article connexe:
Transistor 2N2222: tout ce que vous devez savoir

Le diagramme est celui que vous pouvez voir dans l'image précédente, une fois que l'Arduino est connecté de cette manière avec le 74HC595 et l'écran, Il ne reste plus qu'à le programmer avec l'IDE Arduino et nous verrons les possibilités du registre à décalage. Le code serait le suivant, avec une série de codes binaires 0bxxxxxxxx, où x bits sont:

const int latchPin = 8;  // Pin conectado al Pin 12 del 74HC595 (Latch)
const int dataPin  = 9;  // Pin conectado al Pin 14 del 74HC595 (Data)
const int clockPin = 10; // Pin conectado al Pin 11 del 74HC595 (Clock)
int i =0;
                      
const byte numeros[16] = {
                0b11111100,
                0b01100000,
                0b11011010,
                0b11110010,
                0b01100110,
                0b10110110,
                0b10111110,
                0b11100000,
                0b11111110,
                0b11100110,
                0b11101110,
                0b00111110,
                0b10011100,
                0b01111010,
                0b10011110,
                0b10001110
};
                      
void setup() { 
  Serial.begin(9600);
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT); 
}

void loop() {

                for (i=0;i<16;i++) {
                               delay(1000);
                               digitalWrite(latchPin, LOW);
                               shiftOut(dataPin, clockPin, LSBFIRST, numeros[i]);
                               digitalWrite(latchPin, HIGH);
                }
}

Fiche technique

panneau d'affichage

Sur le marché, vous trouverez différentes puces 74HC595 de différents fabricants. L'un d'eux est le mythique Texas Instruments ou Ti, mais quoi qu'il en soit, chaque fabricant devrait vous proposer la fiche technique à télécharger depuis son site officiel. Vous pouvez également en trouver d'autres comme celui de ON Semiconductor, Sparkfun, STMicroelectronics, NXP, etc.


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.