الکترونیک

شیفت رجیستر چیست؟ معرفی دو شیفت رجیستر 74HC595 و 74HC165

شیفت رجیستر چیست؟ معرفی دو شیفت رجیستر 74HC595 و 74HC165

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

شیفت رجیستر چیست؟

شیفت رجیستر یک مدار مجتمع (IC) است که به وسیله آن می‌توانیم تعداد بیشتری از ورودی‌ها و خروجی‌ها را به سیستم خود اضافه نماییم. یادگیری این مبحث شاید به آسانی یادگیری روشن کردن چند LED نباشد اما جذابیت آن باعث می‌شود که از یادگیری آن به وجد بیایید. فرض کنید با فقط چند پایه میکروکنترلر خود نور هزاران LED را کنترل می‌کنید.

این کار با استفاده از دیتای سریال انجام می‌گیرد. برای مثال، یک میکروکنترلر به صورت سریال به Shift Register دیتا می‌فرستد و شیفت رجیستر پس از دریافت تمام ورودی‌ها، آنها را به صورت موازی به خروجی‌های خود ارسال می‌کند.

برای درک بهتر این موضوع فرض می‌کنیم که شما می‌خواهید پایه پنجم از هشت پایه این Shift Register را روشن کنید.

برای این کار بایستی پایه پنجم روشن و بقیه خاموش باشند بنابراین اگر می‌خواهیم به صورت باینری به این آی سی دستور بدهیم، بایستی کد زیر را بفرستیم که از چپ به راست فقط پایه پنجم روشن است. برای سهولت ارسال اطلاعات می توان این عدد را به صورت ده دهی نیز فرستاد که معادل می شود با عدد 8.

00 0 0 1 0 0 0

انواع شیفت رجیستر

1) ورودی سریال – خروجی موازی (SIPO): از این دسته برای کنترل مقادیر زیادی از خروجی‌ها مانند LED استفاده می‌کنند. یک نمونه معروف از مدارهای مجتمع این دسته، چیپ 74HC595 می‌باشد.

2) ورودی موازی – خروجی سریال (PISO): از این دسته برای جمع آوری مقادیر زیادی از ورودی‌ها مانند دکمه‌ها استفاده می‌شود. چیپ 74HC165 از جمله مدارهای مجتمع این دسته می‌باشد.

این دو نمونه چیپ می‌توانند تا 8 خروجی یا ورودی به سیستم شما اضافه نمایند.

اگر به تعدادی بیشتری از ورودی‌ها یا خروجی‌ها برای پروژه خود نیاز داشتید، می‌توانید از ترکیب چندین شیفت رجیستر استفاده نمایید. به این صورت که آخرین خروجی این چیپ را به ورودی چیپ بعدی متصل کرده و کلاک‌های آنها را نیز مشترک در نظر بگیرید.

کاربرد آی سی شیفت رجیستر چیست؟

از شیفت رجیسترها اغلب با هدف صرفه‌جویی در استفاده از پایه‌های میکروکنترلرها استفاده می‌کنند. هر میکروکنترلر دارای تعداد محدودی از پایه‌ها برای ورودی و خروجی‌ها می‌باشد.

اگر پروژه‌ای بود که باید در آن 16 چراغ LED را خاموش و روشن کنیم، به 16 پایه خروجی در میکروکنترلر نیاز داریم.

در مواردی که شما این تعداد پایه برای کنترل مدار خود ندارید، بایستی از یک چیپ Shift Register استفاده کنید.

با اتصال دو شیفت رجیستر به یکدیگر، می‌توانیم این کار را تنها با استفاده از 4 پایه از میکروکنترلر به عنوان ورودی شیفت رجیسترها، انجام دهیم.

آی سی شیفت رجیستر 74HC595

این شیفت رجیستر را می‌توان به مانند 8 واحد حافظه فرض کرد که هر کدام می‌توانند 1 یا 0 باشند.

برای تغییر دادن هر کدام از این واحدها، بایستی دیتا یا اطلاعات ورودی به آن را همراه با سیگنال کلاک به پایه‌های این چیپ بفرستیم.

پایه‌های کلاک باید 8 کلاک دریافت کنند. در زمانی که هر پالس کلاک دریافت می‌شود، اگر پایه دیتا برابر با مقدار High باشد، آنگاه مقدار 1 منطقی وارد ورودی Shift Register می‌شود.

همین امر متعاقباً با مقدار Low معادل ارسال عدد 0 باثبات می‌شود. وقتی که تمام 8 پالس دریافت شد، آنگاه با فعال کردن پایه Latch آن 8 مقدار به رجیستر Latch وارد می‌شوند. اگر این کار صورت نگیرد، باعث می‌گردد که در زمان انتقال اطلاعات، چراغ اشتباهی شروع به سوسو زدن کند.

این چیپ همچنین دارای خروجی OE یا Output Enable است که برای فعال کردن و یا غیرفعال کردن همزمان تمام خروجی‌ها به کار می‌رود.

شما می‌توانید این پایه را به یک پایه آردوینو که خروجی PWM آن فعال است متصل و با استفاده از تابع analogwrite میزان روشنایی LED را کنترل کنید. این پایه با ورودی Low فعال می‌گردد بنابراین ما آن را به پایه زمین متصل می‌کنیم.

پین‌های میکروکنترلر در شیفت رجیستر
پین‌های میکروکنترلر در شیفت رجیستر

همانطور که در شکل بالا می‌بینید، دیتا برابر است با 1 0 1 1 0 0 1 1 که این یعنی از چپ، پایه‌های اول، سوم، چهارم، هفتم و هشتم روشن شده و بقیه خاموش می‌مانند و تا دیتای بعدی در همین وضعیت ثابت خواهند ماند.

آی سی شیفت رجیستر 74HC165

آی سی شیفت رجیستر 74HC165
آی سی شیفت رجیستر 74HC165

این چیپ مانند چیپ 74HC595 تنها به 4 پایه از میکروکنترلر نیاز دارد. این چهار پایه از این قرار هستند:

پایه CLK یا Clock که به منظور دریافت پلاس‌های کلاک  مورد استفاده قرار می‌گیرد. کلاک به منظور زمان‌بندی مناسب برای ارسال دیتا به میکروکنترلر استفاده می‌شود. لازم به ذکر است که کلاک را با فرکانس پالس ارسالی آن مشخص می‌کنند.

پایه دیگر به نام CE یا Clock Enable نیز به منظور فعال کردن پایه کلاک چیپ مورد استفاده قرار می‌گیرد. این یعنی در هنگامی که این پایه غیر فعال است، هیچ‌گونه کلاکی حتی در صورت وارد شدن به چیپ، پذیرفته نمی‌شود. در نتیجه، هیچ داده‌ای هم دریافت نمی‌گردد.

پایه SH/LD یا Shift/Load برای اعلام آمادگی میکروکنترلر جهت ارسال و یا دریافت اطلاعات از چیپ می‌باشد.

پایه دیتای ورودی و خروجی به میکروکنترلرها SER_OUT یا Serial Out مخصوص خروجی چیپ بوده و به میکروکنترلر متصل می‌شود. اگر از شیفت رجیستر دیگری برای ترکیب استفاده نمی‌کنید، آنگاه پایه SER_IN یا Serial In را به زمین متصل نمایید. اما اگر نیاز به ترکیب دو Shift Register به یکدیگر داشتید، فقط کافیست که پایه SER_OUT اولی را به SER_IN دومی وصل کنید. در این صورت باز هم پایه SER_IN اولی باید به زمین متصل بماند و در نهایت پایه SER_OUT آخرین چیپ به میکروکنترلر متصل می‌شود.

سؤالات متداول در مورد شیفت رجیستر

شیفت رجیستر یک مدار مجتمع (IC) است که به وسیله آن می‌توانیم تعداد بیشتری از ورودی‌ها یا خروجی‌ها را به سیستم خود اضافه کنیم.

میکروکنترلرها دارای پایه‌های محدودی هستند و گاهی اوقات در پروژه‌ها نیاز به پایه‌های بیشتری نسبت به پایه‌های میکروکنترلر خود داریم. در این موقعیت، شیفت رجیسترها به کمک ما می‌آیند و با استفاده از آنها قادر خواهیم بود تعداد پایه‌های مصرف شده یک میکروکنترلر را به حداقل آن کاهش دهیم.

  1. ورودی سریال – خروجی موازی (SIPO): از این دسته از شیفت رجیسترها مانند 74HC595 برای کنترل مقادیر زیادی از خروجی‌ها مانند LEDها استفاده می‌کنند.
  2. ورودی موازی – خروجی سریال (PISO): از این دسته از شیفت رجیسترها مانند 74HC165 برای جمع‌آوری مقادیر زیادی از ورودی‌ها مانند دکمه‌ها استفاده می‌شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *