🔗 شیفترجیستر 74HC595
آیسی 74HC595 چیست و چطور پایههای آردوینو را چند برابر میکند؟ پایههای DATA، CLOCK و LATCH، دستور shiftOut و زنجیر کردن چند آیسی — با شبیهساز آنلاین رایگان فارسی.
شیفترجیستر چیست؟
آردوینو Uno فقط ۱۴ پایهی دیجیتال دارد. اگر بخواهی ۸ تا LED یا یک سونسگمنت چهار رقمی راه بیندازی، پایه کم میآوری. 74HC595 این را حل میکند: با فقط سه پایهی آردوینو، هشت خروجی میگیری.
چطور کار میکند؟
بیتها را یکییکی به داخلش میفرستی — مثل صفی که هر بار یک نفر جلو میرود. وقتی هر هشت بیت رسید، با یک پالس همه را با هم روی خروجیها میگذاری. برای همین LEDها همگی همزمان عوض میشوند و سوسو نمیزنند.
سه پایهی کنترل
| پایه | نقش |
|---|---|
| DATA (DS، پایه ۱۴) | بیتها یکییکی از اینجا وارد میشوند |
| CLOCK (SHCP، پایه ۱۱) | هر پالس، یک بیت را جلو میبرد |
| LATCH (STCP، پایه ۱۲) | یک پالس اینجا، هر هشت بیت را روی خروجی مینشاند |
پایههای Q0 تا Q7 خروجیها هستند. پایهی OE را به GND و MR را به ۵ ولت وصل کن.
کد آردوینو
const int DATA = 11, CLOCK = 12, LATCH = 8;
void setup() {
pinMode(DATA, OUTPUT);
pinMode(CLOCK, OUTPUT);
pinMode(LATCH, OUTPUT);
}
void show(byte value) {
digitalWrite(LATCH, LOW);
shiftOut(DATA, CLOCK, MSBFIRST, value);
digitalWrite(LATCH, HIGH); // حالا نمایش بده
}
void loop() {
for (int i = 0; i < 8; i++) {
show(1 << i); // یک LED که جابهجا میشود
delay(120);
}
}
زنجیر کردن
پایهی Q7' (سرریز) یک آیسی را به DATA آیسی بعدی وصل کن و CLOCK و LATCH را مشترک بگذار — حالا ۱۶ خروجی داری، باز هم با همان سه پایه. با سه تا میشود ۲۴ تا.
اشتباهات رایج
- فراموشکردن پالس LATCH — خروجیها هیچوقت عوض نمیشوند.
- وصلنکردن OE به GND — همهی خروجیها خاموش میمانند.
- فراموشکردن مقاومت جلوی هر LED.