نحوه اتصال ثبت نام شیفت به آردوینو

فهرست مطالب:

نحوه اتصال ثبت نام شیفت به آردوینو
نحوه اتصال ثبت نام شیفت به آردوینو

تصویری: نحوه اتصال ثبت نام شیفت به آردوینو

تصویری: نحوه اتصال ثبت نام شیفت به آردوینو
تصویری: نحوه اضافه کردن خروجی ها به #Arduino با استفاده از Shift Register - The Learning Circuit 2024, نوامبر
Anonim

در یکی از مقاله های قبلی ، ما به طور خلاصه در مورد استفاده از ثبت شیفت ، به ویژه 74HC595 صحبت کردیم. بیایید نگاهی دقیق به قابلیت ها و روش کار با این میکرو مدار بیندازیم.

ثبت نام شیفت 74HC595
ثبت نام شیفت 74HC595

ضروری است

  • - آردوینو ؛
  • - ثبت نام تغییر 74HC595 ؛
  • - اتصال سیم ها

دستورالعمل ها

مرحله 1

Shift Register 74HC595 و موارد مشابه به عنوان دستگاه هایی برای تبدیل داده های سریال به موازی استفاده می شوند ، و همچنین می توانند به عنوان "قفل" برای داده ها ، نگه داشتن حالت انتقال یافته استفاده شوند.

pinout (pinout) در شکل سمت چپ نشان داده شده است. هدف آنها به شرح زیر است.

Q0… Q7 - خروجی داده های موازی ؛

GND - زمین (0 ولت)

Q7 '- خروجی داده های سریال ؛

^ MR - تنظیم مجدد اصلی (فعال کم)

SHcp - ورودی ساعت ثبت تغییر

STcp - ورودی پالس ساعت "قفل" ؛

^ OE - خروجی را فعال کنید (کم فعال است) ؛

Ds - ورودی داده های سریال ؛

Vcc - منبع تغذیه +5 ولت

از نظر ساختاری ، میکرو مدار در چندین نوع موارد ساخته می شود. من از آنچه در شکل سمت راست نشان داده شده است استفاده می کنم - خروجی - زیرا استفاده از آن با تخته نان راحت تر است.

تغییر شکل ظاهر و pinout
تغییر شکل ظاهر و pinout

گام 2

بگذارید به طور خلاصه رابط سریال SPI را بیاد بیاورم ، که از آن برای انتقال داده ها به رجیستر شیفت استفاده خواهیم کرد.

SPI یک رابط سریال دو سیمه چهار سیمه است که در آن یک ارباب و یک برده شرکت می کنند. استاد در مورد ما Arduino خواهد بود ، برده 74HC595 ثبت خواهد شد.

محیط توسعه برای آردوینو دارای یک کتابخانه داخلی برای کار بر روی رابط SPI است. هنگام استفاده از آن ، از نتیجه گیری استفاده می شود که در شکل مشخص شده است:

SCLK - خروجی ساعت SPI ؛

MOSI - داده از استاد به برده ؛

MISO - داده از بنده به استاد ؛

SS - انتخاب برده.

پین های استاندارد SPI برد Arduino
پین های استاندارد SPI برد Arduino

مرحله 3

بیایید مدار را مانند تصویر کنار هم قرار دهیم.

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

نمودار سیم کشی برای تغییر ثبت 74HC595 به Arduino
نمودار سیم کشی برای تغییر ثبت 74HC595 به Arduino

مرحله 4

بیایید طرحی مانند این را بنویسیم و آن را در حافظه آردوینو بارگذاری کنیم.

متغیر PIN_SPI_SS یک ثابت استاندارد داخلی است که با پین "10" آردوینو مطابقت دارد وقتی که به عنوان اصلی رابط SPI استفاده می شود. در اصل ، ما می توانیم از هر پین دیجیتال دیگری در Arduino استفاده کنیم. پس باید آن را اعلام کرده و حالت عملکرد آن را تنظیم کنیم.

با تغذیه پایین این پین ، ما ثبت شیفت خود را برای انتقال / دریافت فعال می کنیم. پس از انتقال ، دوباره ولتاژ را به HIGH می رسانیم و مبادله پایان می یابد.

طرحی برای نشان دادن عملکرد رجیستر شیفت
طرحی برای نشان دادن عملکرد رجیستر شیفت

مرحله 5

بیایید مدار خود را به کار تبدیل کنیم و ببینیم تحلیلگر منطق چه چیزی را به ما نشان می دهد. نمای کلی نمودار زمان بندی در شکل نشان داده شده است.

خط تیره آبی 4 خط SPI ، خط تیره قرمز 8 کانال داده موازی رجیستر شیفت را نشان می دهد.

نقطه A در مقیاس زمانی لحظه ای است که عدد "210" به ثبت شیفت منتقل می شود ، B لحظه ای است که عدد "0" نوشته می شود ، C چرخه ای است که از ابتدا تکرار می شود.

همانطور که می بینید ، از A تا B - 10.03 میلی ثانیه و از B به C - 90.12 میلی ثانیه ، تقریبا همانطور که در طرح پرسیدیم. مقدار اضافی 0 ، 03 و 0 ، 12 میلی ثانیه زمان انتقال داده های سریال از Arduino است ، بنابراین ما در اینجا دقیقاً 10 و 90 میلی ثانیه نداریم.

نمودار زمانبندی آردوینو و رجیستر شیفت 74HC595
نمودار زمانبندی آردوینو و رجیستر شیفت 74HC595

مرحله 6

بیایید نگاهی دقیق تر به بخش A بیندازیم.

در بالای آن یک پالس طولانی قرار دارد که Arduino با آن انتقال را روی خط SPI-ENABLE آغاز می کند - انتخاب برده. در این زمان ، پالس های ساعت SPI-CLOCK شروع به تولید می کنند (خط دوم از بالا) ، 8 قطعه (برای انتقال 1 بایت).

خط بعدی از بالا SPI-MOSI است - داده ای که ما از آردوینو به رجیستر شیفت منتقل می کنیم. این عدد "210" ما در باینری است - "11010010".

پس از اتمام انتقال ، در انتهای پالس SPI-ENABLE ، می بینیم که رجیستر شیفت همان مقدار را در 8 پایه خود تنظیم کرده است. من این را با یک خط نقطه ای آبی مشخص کرده و مقادیر وضوح را برچسب زده ام.

تنظیم شماره 210 در یک گذرگاه موازی از طریق SPI
تنظیم شماره 210 در یک گذرگاه موازی از طریق SPI

مرحله 7

حال بیایید توجه خود را به بخش B معطوف کنیم.

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

داده های موجود در خط SPI-MOSI اکنون "0" هستند.یعنی در این لحظه شماره "0" را در رجیستر می نویسیم.

اما تا زمان انتقال کامل ، رجیستری مقدار "11010010" را ذخیره می کند. این خروجی به پایه های موازی Q0.. Q7 صادر می شود و هنگامی که در خط از خروجی موازی Q7 'به خط SPI-MISO پالس های ساعت وجود دارد ، که در اینجا می بینیم ، پالس های ساعت وجود دارد.

تنظیم عدد 0 در یک گذرگاه موازی از طریق SPI
تنظیم عدد 0 در یک گذرگاه موازی از طریق SPI

مرحله 8

بنابراین ، ما به طور دقیق موضوع تبادل اطلاعات بین دستگاه اصلی ، که Arduino بود ، و رجیستر شیفت 74HC595 را مطالعه کرده ایم. ما یاد گرفتیم که چگونه یک ثبت شیفت را متصل کنیم ، داده ها را در آن بنویسیم و داده ها را از آن بخوانیم.

توصیه شده: