منوی دسته بندی

کتابخانه شیفت رجیستر 74HC595

کتابخانه شیفت رجیستر 74HC595

کتابخانه شیفت رجیستر 74HC595

حتما برای شما هم پیش آمده تعداد مصرف کننده ها یا فرمان هایی که باید با میکروکنترلر کنترل کنید از تعداد پایه های میکروکنترلر بیشتر باشد در این حالت دو راه وجود دارد:

1- استفاده از میکروکنترلر با پایه های بیشتر

2- استفاده از شیفت رجیستر (مثل 74HC595 یا 74HC164)

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

شیفت رجیستر (Shift Register) یک مدار دیجیتال است که به منظور انتقال داده‌ها به صورت متوالی (سریال) یا همزمان (موازی) در یک سیستم الکترونیکی استفاده می‌شود. این مدار به شکل یک زنجیره از فلیپ‌فلاپ‌ها (Flip-Flops) تشکیل شده و داده‌ها را در خود نگه می‌دارد تا بتواند آنها را به صورت ترتیبی یا همزمان منتقل کند.

اجزای اصلی یک شیفت رجیستر:

  • فلیپ‌فلاپ‌ها:
  • هر سلول درون یک شیفت رجیستر معمولاً یک فلیپ‌فلاپ است که داده را در خود ذخیره می‌کند.
  • ورودی (Input) و خروجی (Output):
  • ورودی‌های دیتا (Data In) و کلاک (Clock) برای ورود داده و تعیین زمان شیفت داده، و خروجی‌های دیتا (Data Out) برای خروجی داده از شیفت رجیستر.
  • پین شیفت (Shift):
  • یک پین که برای تحریک شیفت داده به فلیپ‌فلاپ‌ها استفاده می‌شود.

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

شیفت رجیستر SIPO (Serial-In, Parallel-Out):

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

کاربردهای SIPO:
  • تبدیل داده‌های سنسورهای سریال به پارالل.
  • کنترل واسط‌های نمایشی (Display Interfaces).
  • استفاده در مدارهای شیفت داده.

شیفت رجیستر PISO (Parallel-In, Serial-Out):

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

کاربردهای PISO:
  • انتقال داده‌های پارالل به صورت سریال.
  • ارتباط با سایر سیستم‌ها با ساختارهای ارتباطی سریال.
  • استفاده در انتقال داده‌ها به صورت سریال از میکروکنترلر به سایر دستگاه‌ها.

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

توابع کتابخانه شیفت رجیستر 74HC595

تابع HC595_set_bus:

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

روش استفاده:

تابع send_to_74hc595_byte:

این تابع جهت انتقال یک بایت دیتا به شیفت رجیستر میباشد.

ورودی های تابع:

1- data_s: دیتای انتقالی

2- s_c: تعداد دفعات شیفت دیتا (اگر یک آی سی شیفت رجیستر استفاده شده 0 باشد.)

3- invert: اگر 1 باشد دیتا معکوس میشود.

4- revers: اگر یک باشد جهت دیتا معکوس میشود. (LSB OR MSB)

تابع send_to_74hc595_arry:

این تابع جهت انتقال یک آرایه از دیتا به تعداد مشخصی شیفت رجیستر میباشد.

ورودی اول تابع، متغییر آرایه ای میباشد.

ورودی دوم طول آرایه میباشد.

abolfazl وب‌سایت

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