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