کتابخانه شیفت رجیستر 74HC166
کتابخانه شیفت رجیستر 74HC166
داخل سایت یک پست درباره کتابخانه شیفت رجیستر 74HC595 و استفاده از آن برای توسعه خروجی های میکروکنترلر توضیح دادم اینجا برعکس اون حالت هست یعنی ممکنه در یک پروژه نیاز داشته باشیم تعداد ورودی های زیادی رو بخوانیم و طبیعتا منطقی نیست که یک میکرو با پایه های زیاد رو برای اینکار انتخاب کنیم.
در بعضی از پروژه ها میتوانیم از اتصال های ماتریسی استفاده کنیم اما اگر امکان پیاده سازی اتصال ماتریسی وجود نداشته باشد میتوانیم از شیفت رجیسترهای PISO (Parallel in serial out) استفاده کنیم که یکی از این شیفت رجیستر ها آی سی 74HC166 هست.
اما شیفت رجیستر چیست؟
شیفت رجیستر (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 هرکدام ویژگیها و کاربردهای خاص خود را دارند. این اجزا مهم در طراحی مدارهای دیجیتال، ارتباطات سریال، و کنترل دادهها به صورت پارالل یا سریال، نقش مهمی ایفا میکنند. با استفاده از این شیفت رجیسترها، انتقال دادهها به سادگی و با کارآیی بیشتر انجام میشود.
در کتابخانه شیفت رجیستر 74HC166 که قرار میدهم فایل شبیه سازی پروتئوس هم موجود هست و میتوانید عملکرد برنامه را تست کنید.