74hc595: totul despre registrul de schimb IC

El Cip 74HC595După cum se deduce din numele său, este un circuit imprimat care implementează un circuit CMOS în interior. Mai exact, este un registru de schimbare. Pentru cei care nu cunosc încă aceste registre, este practic un circuit digital secvențial, adică valorile sale la ieșire depind pur și simplu de valorile de intrare și valorile stocate anterior.

Acest lucru le diferențiază de combinaționale, că ieșirile depind doar de valoarea intrării. Acest registru este alcătuit dintr-o serie de flip-flops sau flip-flops de tip D comandate de un semnal de ceas. Acestea flip flops sunt amintiri care păstrează o valoare anterioară. Fiecare stochează puțin și, din numele său, puteți deduce, de asemenea, că le poate schimba. Rulând biții înainte și înapoi putem face operații digitale destul de interesante.

Tipuri de registre de schimbare

Diagrama registrului de schimbare

Conform tipul de deplasare pe care îl fac pe biții pe care îi stochează, registrele pot fi de diferite tipuri. Acestea sunt capabile să se deplaseze la stânga sau la dreapta, unele bidirecționale, dar ordinea este cea care va determina tipul, chiar și în alte cazuri, ele sunt, de asemenea, catalogate pe baza modului în care sunt intrările și ieșirile:

  • Seria-Seria: cele în care doar primul flip-flop primește date și merg în serie până când se completează registrul complet. Ultimul flip-flop este cel care este conectat direct la ieșire și prin care va ieși registrul.
  • Paralel-serie: biții intră în paralel pentru a fi stocate în același timp în toate flip-flop-urile, dar apoi se sting în serie. Ele pot fi folosite pentru a converti de la serie la paralel și invers.
  • Seria-paralel: similar cu precedentul, toate ieșirile sunt accesibile de la toate flip-flop-urile în același timp. Dar datele vor intra doar până la primul din serie.
  • Paralel-paralel: Datele merg în paralel și ies în paralel.

Printre cele mai cunoscute circuite avem 74HC595, 74HC164, 74HC165, 74HC194, etc. 194 este universal, poate fi configurat după cum dorim. Pe de altă parte, avem altele bidirecționale, cum ar fi 165 și 164, deci se deplasează spre stânga sau spre dreapta, așa cum se specifică cu semnalul de control al direcției, dar au o singură configurație: intrări paralele și ieșire serială și intrare serială și ieșire paralelă. respectiv.

l298n
Articol asociat:
L298N: modul pentru controlul motoarelor pentru Arduino

Pentru ce este un registru de schimb?

De ce să schimbăm biții? Schimbarea biților de date poate fi foarte practică. Un motiv este că trebuie să schimbați valorile pentru un scop specific. Dar schimbarea implică și efectuarea unor operații pe biții stocați. De exemplu, deplasarea unui set de biți la stânga este ca și cum să le înmulțiți cu 2. Deplasarea lor la dreapta este ca și cum ați împărți la 2. Prin urmare, pentru a face multiplicare și divizare binare, acestea pot fi foarte practice ...

Ele sunt, de asemenea, utilizate pentru a genera valori pseudo-aleatorii, pentru aproximări succesive utilizate pe scară largă în convertoarele analogice / digitale, pentru întârziere etc. Utilizările din circuite digitale logice este destul de obișnuit, deci nu este neobișnuit să trebuiască să le folosiți în vreun proiect.

74HC595 Caracteristici

74HC595 pin-out

El 74HC595 este un CI destul de simplu. Este un registru de schimbare pe 8 biți, adică are 8 flip-flops pentru a stoca 8 biți. Pin-out-ul sau pin-urile acestui cip pot fi văzute în imaginea de mai sus, cu Vcc și GND pentru alimentare, apoi pe cele marcate ca Q care sunt datele. Restul corespund semnalelor de ceas / control.

Las intrarea îl are în serie și ieșirea în paralel. Prin urmare, cu o singură intrare, aceste 8 ieșiri pot fi controlate în același timp. Veți avea nevoie doar de trei pini de la microcontrolerul folosit (de exemplu: Arduino) pentru al conduce. Acestea sunt Latch, Clock și Data. Zăvorul este pinul 13 în acest caz, deși poate varia, deci ar trebui să consultați fișa tehnică a producătorului. Ceasul poate fi 11 sau altele, iar bitul de date este 14.

La semn de ceas va alimenta circuitul pentru a determina ritmul sau ritmul la care va funcționa. Ieșirea datelor va schimba comportamentul cipului. De exemplu, când treceți de la LOW la HIGH și generați noul impuls de ceas prin trecerea ceasului de la HIGH la LOW, ceea ce se realizează este să înregistrați poziția curentă în care se află deplasarea, valoarea introdusă de acest pin de date. Dacă repetați acest lucru de 8 ori, atunci veți fi înregistrat toate cele 8 poziții și veți avea un octet stocat (Q0-Q7).

Folosiți cu Arduino

Arduino cu 74hc595

Poate ca să fie mai clar un exemplu cu Arduino Îți explică într-un mod mai intuitiv și grafic decât să începi să lansezi date teoretice. De exemplu, puteți crea un circuit simplu cu Arduino și un registru de schimbare 74HC595 pentru a vă juca cu niște lumini sau LED-uri. O altă opțiune oarecum mai bună și mai simplă este utilizarea unui afișaj pe 7 segmente pentru a citi valorile din registru.

2n2222 tranzistor
Articol asociat:
2N2222 tranzistor: tot ce trebuie să știți

Diagrama este cea pe care o puteți vedea în imaginea anterioară, odată ce Arduino este conectat în acest fel cu 74HC595 și afișajul, Rămâne doar să îl programăm cu Arduino IDE și vom vedea posibilitățile registrului de schimbare. Codul ar fi următorul, cu o serie de coduri binare 0bxxxxxxxx, unde x biți:

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);
                }
}

Foaie de date

placa de pin

În piață veți găsi cipuri diferite 74HC595 de la diferiți producători. Una dintre ele este mitica Texas Instruments sau Ti, dar oricum ar fi, fiecare producător ar trebui să vă ofere fișa tehnică pentru descărcare de pe site-ul său oficial. Puteți găsi, de asemenea, câteva altele, cum ar fi cea din ON Semiconductor, distracție cu scântei, STMicroelectronics, NXP etc.


Fii primul care comenteaza

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.