Utilizarea de registre de deplasare cu Arduino - programare microcontroler

registru de deplasare - este un set de bistabile conectate în serie (de obicei 8 bucăți) care funcționează corect schimbare și la stânga. (M. E. rescrierea date de la fiecare precedent flip-flop la altul într-un rând). Cele mai frecvente dintre ele este ieșirea registrului de deplasare 74HC595.

registru de deplasare opt biți, cu o serie de intrare, un serial sau paralel informații de ieșire la dispozitivul de blocare de declanșare și o ieșire tristate - 74HC595.

Cu alte cuvinte, acest circuit permite controlul 8 ieșiri, ocupând astfel doar câteva ieșiri Arduino. Principiul de funcționare a registrului de deplasare este cel al microcontrolerului este transferat într-un semnal serial (o secvență de 1 și 0), care este apoi transformată într-o paralelă, adică la ieșirile de registru sub tensiune 0 sau 5 V, în conformitate cu semnalul primit.

Registrele de deplasare folosite de transmisie de tip sincronizate. Valoarea semnalului necesar (biți mare sau mică) sunt transmise într-un registru unul după altul, registrul primește un semnal de ceas, care provoacă pentru a citi semnalul de la intrare. Pentru o înțelegere vizuală a aspectului registru la imagine.

Utilizarea de registre de deplasare cu Arduino - programare microcontroler

Prin linia de semnal de sincronizare SH_CP este transmis, în care, la primirea marginea în creștere (schimbare de tensiune de la 0V la 5V) cip citește valoarea la intrare chips-uri DS. Apoi, valoarea rezultată este scris Q0 registru. Apoi, pentru a obține următoarele valori este, de asemenea, stocate în Q0 registru, o valoare care a fost la Q0 Q1 este atribuit acest registru. Și se va întâmpla până atunci, până când cip este de a obține timp. Mai mult, atunci când puterea se aplică de intrare ST_CP (așa-numita dispozitivul de blocare), valorile stocate în Q0 registre la Q7, va apărea pe cip constatările relevante. Vă atrag atenția că toate dispozitivele de numerotare TTL biți registre sau chiar orice valori începe cu 0, adică, prima valoare a limbii „uman“ va fi zero în „mașină“.

În plus, ieșirile registrului de deplasare poate avea o a treia valoare diferită de 0 și 1. Acesta este așa-numitul stat de înaltă rezistență atunci când picioarele de rezistență chips-uri tind la infinit. O astfel de condiție poate fi utilizată în cazul în care dispozitivul controlat conectat la mai multe chips-uri, și este necesar să dezactivați complet registrul de deplasare.