Shift register
Autres actions
Introduction
Le registre à décalage permet de contrôler, avec seulement 3 entrées digitales d'un microcontrôleur, un nombre beaucoup plus grand (8,16,24,etc...) d'entrées / sorties. Le registre à décalage que nous allons utiliser et le 74HC595 de chez Texas Instrument.

Diagramme
Voici le diagramme du 74HC595 ainsi que l'explication du rôle de chacune de ces broches
Fonctionnement
Le registre 74HC595 fonctionne sur 8 bits et pour comprendre son fonctionnement on va faire l'analogie avec un tableau de booléen. Chaque casse du tableau correspond à une broche de sortie (Q0 à Q7). Si la case contient la valeur false la broche est à un état bas (GND) et, si la casse contient true la broche est à un état haut (VCC). Les valeur de ce tableau se positionnent les unes après les autres, chaque nouvelle valeur décalant la précédente d'une case.
Au départ le registre est à zéro :
|
Q0 |
Q1 |
Q2 |
Q3 |
Q4 |
Q5 |
Q6 |
Q7 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Lorsque l'on insère un 1, celui-ci prend la place Q0 en décalant tous les autre bit de une case :
|
Q0 |
Q1 |
Q2 |
Q3 |
Q4 |
Q5 |
Q6 |
Q7 |
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Si on insère maintenant un 0, celui-ci prend la place Q0 en décalant tous les autre bit de une case :
|
Q0 |
Q1 |
Q2 |
Q3 |
Q4 |
Q5 |
Q6 |
Q7 |
|
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
On peut continuer notre exemple en insérant maintenant les bits suivants 1, 1, 0, 0, 1 puis 1 :
|
Q0 |
Q1 |
Q2 |
Q3 |
Q4 |
Q5 |
Q6 |
Q7 |
|
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
Chaînage
Il est possible de chaîner plusieurs registres à la suite en reliant la broche Q7S du registre précédent avec la broche DS du registre suivant. La particularité de la broche Q7S est de prendre l'état du bit sortant du registre permettant ainsi de l'injecter dans l'entrée du registre suivant.
On peut reprendre notre exemple en insérant maintenant un 0 :
|
Q0 |
Q1 |
Q2 |
Q3 |
Q4 |
Q5 |
Q6 |
Q7 |
Q7S |
|
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
La séquence est décalée d'une case poussant l'ancienne valeur de Q7 (1) en dehors du registre sur la broche Q7S.

