Popis
Tento posuvný registr přijímá na vstupu sériově jedotlivé bity a odesílá je paralelně na výstup. Je možné jich řetězit více za sebou.
Pin | Popis | Použití |
---|---|---|
Q0-Q7 | Výstupní piny | Jsou napojeny například na ovládané LEDky. |
GND | Zem | Tento pin je napojen na zem z mikroprocesoru. |
Q7' | Seriový výstup | Seriový výstup je použit k předání "přetečených" dat do dalšího 74HC595. |
MR | Master Reclear (active LOW) |
Pokud je hodnota nastavena na NÍZKOU, tak vymaže obsah posuvného registru. |
SH_CP | Hodiny posuvného registru (CLK / CLOCK) | Pokud je hodnota VYSOKÁ, posunou se všechny hodnoty o jednu pozici. |
ST_CP | Storage register lock pin (LOAD / LATCH) |
Pokud je hodnota vysoká, odešlou se všechny hodnoty z registru (na piny Q0-Q7) |
OE | Povolený výstup (active LOW) |
Pokud je pin uzemněn je povolen výstup. |
DS | Seriový vstup (MOSI / DATA) | Vstupní pin pro seriové data. |
VCC | Napájení | Napájecí napětí. |
Obvod
Příklad kódu
const int pinLatch = 9; const int pinClock = 8; const int pinData = 10; void setup(){ pinMode (pinLatch, OUTPUT); pinMode (pinClock, OUTPUT); pinMode (pinData, OUTPUT); } void loop(){ unsigned int u = 1; for (int i=0; i<15; i++){ digitalWrite(pinLatch, LOW); shiftOut(pinData, pinClock, MSBFIRST, highByte(u)); shiftOut(pinData, pinClock, MSBFIRST, lowByte(u)); digitalWrite(pinLatch, HIGH); u = u << 1; delay(50); } for (int i=0; i<15; i++){ digitalWrite(pinLatch, LOW); shiftOut(pinData, pinClock, MSBFIRST, highByte(u)); shiftOut(pinData, pinClock, MSBFIRST, lowByte(u)); digitalWrite(pinLatch, HIGH); u = u >> 1; delay(50); } }