🧮 شیفت‌رجیستر 74HC595 (74HC595 Shift Register)

اسم انگلیسی74HC595 Shift Register
در ووکوی (Wokwi)wokwi-74hc595
دسته⬛ آی‌سی، درایور و رگولاتور
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

شیفت‌رجیستر 74HC595 (74HC595 Shift Register) آی‌سی شانزده‌پایه‌ای است که با سه سیم از آردوینو، هشت خروجی مستقل می‌سازد. بیت‌ها را یکی‌یکی و پشت سر هم می‌گیرد و با یک فرمان «قفل» (Latch) همه را با هم روی پایه‌های Q0 تا Q7 می‌گذارد. با آن ردیف LED، نوار نوری نایت رایدر، نمایشگر هفت‌قسمتی و حتی ماتریس LED را بدون تمام شدن پایه‌های اونو راه می‌اندازی، و اگر هشت خروجی کم بود، چند آی‌سی را زنجیر می‌کنی.

74HC595 در ووکوی (Wokwi)

ووکوی این آی‌سی را با شناسه‌ی wokwi-74hc595 دارد و پایه‌هایش همان اسم‌های دیتاشیت را دارند. کمترین diagram.json برای یک LED روی Q0 این است:

{
  "version": 1,
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0 },
    { "type": "wokwi-74hc595", "id": "sr1", "top": -120, "left": 80 },
    { "type": "wokwi-resistor", "id": "r1", "top": -180, "left": 200, "attrs": { "value": "220" } },
    { "type": "wokwi-led", "id": "led1", "top": -240, "left": 280, "attrs": { "color": "red" } }
  ],
  "connections": [
    [ "uno:11", "sr1:DS", "blue", [] ],
    [ "uno:12", "sr1:SHCP", "orange", [] ],
    [ "uno:8", "sr1:STCP", "yellow", [] ],
    [ "uno:5V", "sr1:VCC", "red", [] ],
    [ "uno:5V", "sr1:MR", "red", [] ],
    [ "uno:GND.1", "sr1:GND", "black", [] ],
    [ "uno:GND.1", "sr1:OE", "black", [] ],
    [ "sr1:Q0", "r1:1", "green", [] ],
    [ "r1:2", "led1:A", "green", [] ],
    [ "uno:GND.1", "led1:C", "black", [] ]
  ]
}
پایه در ووکویکاروصل به
DSورودی داده‌ی سریالuno:11
SHCPکلاک شیفت (Clock)uno:12
STCPکلاک قفل (Latch)uno:8
OEفعال‌سازی خروجی، فعال‌پایینGND
MRریست، فعال‌پایین5V
Q0 تا Q7هشت خروجیهر کدام با یک مقاومت به یک LED
Q7Sخروجی سریال برای زنجیرDS آی‌سی بعدی
VCC / GNDتغذیه5V / GND

هفت LED دیگر را هم به همین شکل به Q1 تا Q7 بده. در تینکرکد فارسی هم 74HC595 در هر دو مود رایگان است؛ پروژه‌ی آماده‌اش ۸ LED با ۳ پین است.

سیم‌کشی با آردوینو

پایه‌ی آی‌سی (شماره)وصل به
DS (۱۴)پین 11
SHCP (۱۱)پین 12
STCP (۱۲)پین 8
OE (۱۳)GND
MR (۱۰)5V
VCC (۱۶) و GND (۸)5V و GND، با یک خازن ۰٫۱ میکروفاراد کنار آی‌سی
Q0 (۱۵) و Q1 تا Q7 (۱ تا ۷)مقاومت ← آند LED، کاتد به GND
Q7S (۹)آزاد، یا DS آی‌سی دوم

عددهای پایه‌ی آی‌سی با عددهای پین آردوینو قاطی نشوند: «پایه‌ی ۱۱ آی‌سی» به «پین 12 آردوینو» می‌رود.

کد نمونه

// 74HC595: binary counter, then a running light, on 8 LEDs.
const int DATA_PIN  = 11;  // DS
const int CLOCK_PIN = 12;  // SHCP
const int LATCH_PIN = 8;   // STCP

void writeByte(byte value) {
  digitalWrite(LATCH_PIN, LOW);
  shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, value);
  digitalWrite(LATCH_PIN, HIGH);   // all 8 outputs change together here
}

void setup() {
  pinMode(DATA_PIN, OUTPUT);
  pinMode(CLOCK_PIN, OUTPUT);
  pinMode(LATCH_PIN, OUTPUT);
}

void loop() {
  for (int n = 0; n < 256; n++) {  // count 0..255 in binary
    writeByte(n);
    delay(60);
  }
  for (int i = 0; i < 8; i++) {    // one LED walks from Q0 to Q7
    writeByte(1 << i);
    delay(120);
  }
}

با MSBFIRST بیت هفتم اول فرستاده می‌شود و آخر کار روی Q7 می‌نشیند؛ پس عدد ۱ یعنی فقط Q0 روشن. برای دو آی‌سی زنجیری، Q7S اولی را به DS دومی بده، دو کلاک را مشترک کن و قبل از بالا بردن latch دو بار shiftOut بزن؛ بایتی که اول می‌فرستی به آی‌سی دورتر می‌رسد.

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

چند 74HC595 را می‌شود پشت سر هم زنجیر کرد؟

از نظر منطقی محدودیتی نیست: Q7S هر آی‌سی به DS آی‌سی بعدی می‌رود و پایه‌های SHCP و STCP همه مشترک‌اند. هر آی‌سی هشت خروجی اضافه می‌کند و فقط به ازای هر کدام یک shiftOut بیشتر می‌زنی. در عمل طول سیم کلاک و تغذیه‌ی کافی محدودیت می‌شوند.

74HC595 در ووکوی چه شناسه‌ای دارد؟

wokwi-74hc595. پایه‌هایش DS، SHCP، STCP، OE، MR، Q0 تا Q7، Q7S، VCC و GND هستند؛ همان اسم‌های دیتاشیت.

با 74HC595 می‌شود دکمه خواند؟

نه، 74HC595 فقط خروجی می‌دهد. برای خواندن چند دکمه با چند سیم، آی‌سی 74HC165 ساخته شده که ورودی موازی می‌گیرد و خروجی سریال می‌دهد.

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: شیفت‌رجیستر 74HC595 آمده است.

قطعه‌های دیگرِ آی‌سی، درایور و رگولاتور

⚙️

درایور موتور L293D

L293D Motor Driver

🔋

مبدل کاهنده LM2596

LM2596 Buck Converter

🌀

درایور استپر ULN2003

ULN2003 Stepper Driver

🔌

رگولاتور ولتاژ ۷۸۰۵

7805 Voltage Regulator

⏱️

آی‌سی تایمر ۵۵۵

555 Timer IC (NE555)

🔺

آپ‌امپ (تقویت‌کننده‌ی عملیاتی)

LM358 Op-Amp

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

شیفت‌رجیستر 74HC595 را در شبیه‌ساز امتحان کن 🚀