El Układ 74HC595Jak wynika z jego nazwy, jest to obwód drukowany, w którym zaimplementowano obwód CMOS. W szczególności jest to rejestr przesuwny. Dla tych, którzy jeszcze nie znają tych rejestrów, jest to w zasadzie sekwencyjny obwód cyfrowy, to znaczy jego wartości na wyjściu po prostu zależą od wartości wejściowych i wcześniej zapisanych wartości.
To odróżnia je od kombinacyjnych, że wyniki zależą tylko od wartości wejścia. Rejestr ten składa się z szeregu przerzutników typu D lub przerzutników sterowanych sygnałem zegarowym. Te klapki to wspomnienia które zachowują poprzednią wartość. Każdy trochę przechowuje i po nazwie można wywnioskować, że może je przesuwać. Przerzucając bity z jednej strony na drugą, możemy wykonać całkiem interesujące operacje cyfrowe.
Typy rejestrów przesuwnych
Stosownie rodzaj przemieszczenia że robią na przechowywanych przez siebie bitach, rejestry mogą być różnych typów. Mogą poruszać się w lewo lub w prawo, niektóre dwukierunkowe, ale kolejność jest tym, co określa typ, nawet w innych przypadkach są one również katalogowane na podstawie wejść i wyjść:
- Seria-Series: te, w których tylko pierwszy przerzutnik otrzymuje dane i idą szeregowo, aż do zapełnienia całego rejestru. Ostatni przerzutnik to ten, który jest bezpośrednio podłączony do wyjścia i przez który wyjście z rejestru.
- Szeregi równoległe: bity idą równolegle, aby były przechowywane w tym samym czasie we wszystkich przerzutnikach, ale potem wychodzą szeregowo. Mogą być używane do konwersji z szeregów na równoległe i odwrotnie.
- Szeregowo-równoległe: podobnie jak poprzedni, wszystkie wyjścia są dostępne w tym samym czasie ze wszystkich przerzutników. Ale dane wejdą tylko jako pierwszy z serii.
- Równolegle równolegle- Dane idą równolegle i wychodzą równolegle.
Wśród najbardziej znanych torów mamy 74HC595, 74HC164, 74HC165, 74HC194itp. 194 jest uniwersalny, można go dowolnie konfigurować. Z drugiej strony mamy inne dwukierunkowe, takie jak 165 i 164, więc porusza się w lewo lub w prawo, zgodnie z sygnałem sterowania kierunkiem, ale mają tylko jedną konfigurację: wejścia równoległe i wyjście szeregowe oraz szeregowe wejście i wyjście równoległe.
Do czego służy rejestr przesuwny?
Po co przesuwać bity? Przesuwanie bitów danych może być bardzo praktyczne. Jednym z powodów jest konieczność zmiany wartości w określonym celu. Ale także przesuwanie wiąże się z wykonywaniem pewnych operacji na przechowywanych bitach. Na przykład przesunięcie zestawu bitów w lewo jest jak pomnożenie ich przez 2. Przesunięcie ich w prawo jest jak dzielenie przez 2. Dlatego, aby wykonać mnożenie i dzielenie binarne, mogą być bardzo praktyczne ...
Są również używane do generowania wartości pseudolosowych, do kolejnych przybliżeń szeroko stosowanych w przetwornikach analogowo-cyfrowych, do opóźnienia itp. Zastosowania w logiczne układy cyfrowe jest to dość powszechne, więc nie jest rzadkością użycie ich w jakimś projekcie.
Funkcje 74HC595
El 74HC595 to dość prosty układ scalony. Jest to 8-bitowy rejestr przesuwny, to znaczy ma 8 przerzutników do przechowywania 8 bitów. Pin lub piny tego układu można zobaczyć na powyższym obrazku, z Vcc i GND dla zasilania, a następnie te oznaczone jako Q, które są danymi. Reszta odpowiada sygnałom zegarowym / sterującym.
Te wejście ma to szeregowo i wyprowadza równolegle. Dlatego za pomocą jednego wejścia można sterować tymi 8 wyjściami jednocześnie. Do jego wysterowania potrzebne będą tylko trzy piny z używanego mikrokontrolera (np .: Arduino). To są zatrzask, zegar i dane. W tym przypadku zatrzask to pin 13, chociaż może się różnić, dlatego należy zapoznać się z arkuszem danych producenta. Zegar może mieć wartość 11 lub inną, a bit danych to 14.
La znak zegara będzie zasilać obwód, aby określić uderzenie lub rytm, w którym będzie działać. Wyjście danych zmieni zachowanie chipa. Na przykład, przy zmianie z LOW na HIGH i generowaniu nowego impulsu zegara przez przejście zegara z HIGH na LOW, uzyskuje się zapis aktualnej pozycji, w której znajduje się przemieszczenie, wartość wprowadzoną przez ten pin danych. Jeśli powtórzysz to 8 razy, nagrasz wszystkie 8 pozycji i zapiszesz jeden bajt (Q0-Q7).
Używaj z Arduino
Może żeby to było jaśniejsze przykład z Arduino Wyjaśnia to w bardziej intuicyjny i graficzny sposób niż rozpoczęcie uruchamiania danych teoretycznych. Na przykład możesz utworzyć prosty obwód za pomocą Arduino i rejestru przesuwnego 74HC595, aby grać z niektórymi światłami lub diodami LED. Inną nieco lepszą i prostszą opcją jest użycie 7-segmentowego wyświetlacza do odczytu wartości z rejestru.
Schemat jest tym, który widać na poprzednim obrazku, po połączeniu Arduino w ten sposób z 74HC595 i wyświetlacz, Pozostaje tylko zaprogramować go za pomocą Arduino IDE i zobaczymy możliwości rejestru przesuwnego. Kod wyglądałby następująco, z serią kodów binarnych 0bxxxxxxxx, gdzie x bitów:
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); } }
Karta katalogowa
Na rynku znajdziesz różne chipy 74HC595 od różnych producentów. Jednym z nich jest mityczny Texas Instruments lub Ti, ale tak czy inaczej, każdy producent powinien zaoferować Ci arkusz danych do pobrania z jego oficjalnej strony internetowej. Możesz także znaleźć inne, takie jak ten w ON Półprzewodnik, iskierka, STMicroelectronics, NXP itp.