فهرست مطالب:
تصویری: نحوه اتصال MAX7219 LED ماتریس LED 8x8 با میکروکنترلر ATtiny85: 7 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
کنترلر MAX7219 توسط Maxim Integrated ساخته شده است ، جمع و جور ، درایو ورودی/خروجی سریال معمولی درایور صفحه نمایش است که می تواند میکروکنترلرها را به 64 LED جداگانه ، نمایشگرهای LED عددی 7 قسمتی تا 8 رقم ، نمایشگرهای نواری ، و غیره را شامل شود تراشه یک رمزگشای BCD-B ، مدارهای چندگانه اسکن ، درایورهای بخش و رقم و یک RAM استاتیک 8 × 8 است که هر رقم را ذخیره می کند.
استفاده از ماژول های MAX7219 با میکروکنترلرها مانند ATtiny85 یا در مورد ما Tinusaur Board بسیار مناسب است.
مرحله 1: سخت افزار
ماژول های MAX7219 معمولاً به این شکل هستند. آنها از یک طرف یک گذرگاه ورودی و از طرف دیگر گذرگاه خروجی دارند. این به شما امکان می دهد 2 یا چند ماژول ، یعنی یکی پس از دیگری ، به منظور ایجاد تنظیمات پیچیده تر ، زنجیره دیزی کنید.
ماژول هایی که ما استفاده می کنیم قادرند با استفاده از 5 جهنده کوچک در یک زنجیره به هم متصل شوند. تصویر زیر را مشاهده کنید.
مرحله 2: Pinout و Signals
ماژول MAX7219 دارای 5 پین است:
- VCC - قدرت (+)
- GND-زمین (-)
- DIN - ورودی داده
- CS - انتخاب تراشه
- CLK - ساعت
این بدان معناست که ما برای کنترل ماژول به 3 پین در طرف میکروکنترلر ATtiny85 نیاز داریم. آنها خواهند بود:
- PB0 - متصل به CLK
- PB1 - متصل به CS
- PB2 - متصل به DIN
این برای اتصال به ماژول MAX7219 و برنامه ریزی آن کافی است.
مرحله 3: پروتکل
ارتباط با MAX7219 نسبتاً آسان است - از یک پروتکل همزمان استفاده می کند ، بدین معنی که برای هر بیت داده ای که ارسال می کنیم یک چرخه ساعت وجود دارد که نشان دهنده وجود آن بیت داده است.
به عبارت دیگر ، ما 2 دنباله موازی به بیت ها ارسال می کنیم - یکی برای ساعت و دیگری برای داده ها. این کاری است که نرم افزار انجام می دهد.
مرحله 4: نرم افزار
نحوه عملکرد این ماژول MAX7219 به شرح زیر است:
- ما در ثبت داخلی آن بایت می نویسیم.
- MAX7219 داده ها را تفسیر می کند.
- MAX7219 LED های ماتریس را کنترل می کند.
این بدان معناست که ما مجبور نیستیم دائماً آرایه LED ها را روشن کنیم تا آنها را روشن کنیم - کنترلر MAX7219 از آن مراقبت می کند. همچنین می تواند شدت LED ها را مدیریت کند.
بنابراین ، برای استفاده راحت از ماژول های MAX7219 ما به کتابخانه ای از توابع برای خدمت به این منظور نیاز داریم.
ابتدا ، ما برای نوشتن در رجیسترهای MAX7219 به برخی از توابع اساسی نیاز داریم.
- نوشتن یک بایت برای MAX7219.
- نوشتن یک کلمه (2 بایت) به MAX7219.
عملکردی که یک بایت به کنترلر می نویسد به این شکل است:
void max7219_byte (uint8_t data) {for (uint8_t i = 8؛ i> = 1؛ i--) {PORTB & = ~ (1 << MAX7219_CLK)؛ // CLK را روی LOW if (data & 0x80) // ماسک MSB داده PORTB | = (1 << MAX7219_DIN)؛ // DIN را روی HIGH else PORTB & = ~ (1 << MAX7219_DIN) تنظیم کنید؛ // DIN را روی LOW PORTB | = (1 << MAX7219_CLK) تنظیم کنید ؛ // CLK را روی HIGH data << = 1 تنظیم کنید؛ // شیفت به چپ}}
اکنون که می توانیم بایت ها را به MAX7219 ارسال کنیم ، می توانیم دستورات را ارسال کنیم. این کار با ارسال 2 بای - 1 برای آدرس ثبت داخلی و دوم برای داده هایی که می خواهیم ارسال کنیم انجام می شود.
در کنترلر MAX7219 بیش از ده ها ثبت وجود دارد.
ارسال یک فرمان یا یک کلمه ، اساساً ارسال 2 بایت متوالی است. تابع پیاده سازی آن بسیار ساده است.
void max7219_word (آدرس uint8_t ، داده uint8_t) {PORTB & = ~ (1 << MAX7219_CS) ؛ // CS را روی LOW max7219_byte (آدرس) تنظیم کنید ؛ // ارسال آدرس max7219_byte (داده) ؛ // ارسال داده ها PORTB | = (1 << MAX7219_CS] ؛ // CS را روی HIGH PORTB & = ~ (1 << MAX7219_CLK) تنظیم کنید؛ // CLK را روی LOW تنظیم کنید}
در اینجا مهم است که خطی را که سیگنال CS را به HIGH باز می گردانیم - این پایان دنباله را مشخص می کند - در این مورد ، پایان فرمان مهم است. یک تکنیک مشابه هنگام کنترل بیش از یک ماتریس متصل به زنجیره استفاده می شود. مرحله بعدی ، قبل از شروع و خاموش و روشن کردن LED ها ، راه اندازی اولیه کنترلر MAX7219 است. این کار با نوشتن مقادیر خاصی در رجیسترهای خاص انجام می شود. برای راحتی ، هنگام کدگذاری آن می توانیم دنباله مقداردهی اولیه را در یک آرایه قرار دهیم.
uint8_t initseq = {0x09، 0x00، // Decode-Mode Register، 00 = بدون رمزگشایی 0x0a، 0x01، // Intensity Register، 0x00.. 0x0f 0x0b، 0x07، // Scan-Limit Register، 0x07 برای نمایش همه خطوط 0x0c ، 0x01 ، // ثبت نام خاموش ، 0x01 = عملکرد عادی 0x0f ، 0x00 ، // ثبت نام تست ، 0x00 = عملکرد عادی} ؛
ما فقط باید 5 دستور بالا را به ترتیب به عنوان آدرس/جفت داده ارسال کنیم. مرحله بعدی - روشن کردن یک ردیف LED.
این بسیار ساده است - ما فقط یک فرمان می نویسیم که بایت اول آدرس (از 0 تا 7) و بایت دوم 8 بیت است که نشان دهنده 8 LED در ردیف است.
void max7219_row (آدرس uint8_t ، داده uint8_t) {if (address> = 1 && address <= 8) max7219_word (آدرس ، داده) ؛ }
لازم به ذکر است که این فقط برای 1 ماتریس کار می کند. اگر ماتریس های بیشتری را در یک زنجیره متصل کنیم ، همه آنها داده های یکسانی را نشان می دهند. دلیل این امر این است که پس از ارسال فرمان ، سیگنال CS را به HIGH باز می گردانیم که باعث می شود همه کنترلرهای MAX7219 در زنجیره چسبیده و آخرین فرمان را نشان دهند.
توصیه شده:
رابط میکروکنترلر Atmega16 با صفحه نمایش ماتریس نقطه ای: 5 مرحله
رابط میکروکنترلر Atmega16 با صفحه نمایش ماتریس نقطه ای: در این پروژه ما قصد داریم یک صفحه نمایش LED ماتریس نقطه ای را با میکروکنترلر AVR (Atmega16) رابط دهیم. در اینجا ما شبیه سازی را در پروتئوس نشان می دهیم ، شما می توانید همان چیزی را در سخت افزار خود اعمال کنید. بنابراین در اینجا ما ابتدا یک کاراکتر چاپ می کنیم ، بگذارید "A" را در t
نحوه ساخت ماتریس LED 8x8 BIG (MAX7219 LED 10 میلی متر): 9 مرحله (همراه با تصاویر)
چگونه می توان ماتریس LED 8x8 BIG (MAX7219 LED 10mm) ساخت: آیا با ماتریس LED آماده 8x8 به عنوان نمایشگر کار کرده اید؟ آنها در اندازه های مختلف هستند و کار با آنها بسیار جالب است. اندازه بزرگ موجود به راحتی در حدود 60 میلی متر در 60 میلی متر است. با این حال ، اگر شما به دنبال یک ماتریس LED بسیار بزرگتر آماده هستید ،
پیکربندی بیت های فیوز میکروکنترلر AVR. ایجاد و بارگذاری در فلش مموری میکروکنترلر برنامه چشمک زن LED: 5 مرحله
پیکربندی بیت های فیوز میکروکنترلر AVR. ایجاد و بارگذاری در فلش مموری میکروکنترلر برنامه چشمک زن LED: در این حالت ما یک برنامه ساده در کد C ایجاد کرده و آن را در حافظه میکروکنترلر می سوزانیم. ما برنامه خود را می نویسیم و فایل hex را با استفاده از Atmel Studio به عنوان پلت فرم توسعه یکپارچه کامپایل می کنیم. ما fuse bi را پیکربندی می کنیم
رابط صفحه نمایش LED ماتریس نقطه ای با میکروکنترلر 8051: 5 مرحله
رابط صفحه نمایش LED ماتریسی نقطه ای با میکروکنترلر 8051: در این پروژه ما قصد داریم از یک صفحه نمایش LED ماتریس نقطه ای با میکروکنترلر 8051 استفاده کنیم. در اینجا ما شبیه سازی را در پروتئوس نشان خواهیم داد ، شما می توانید همان چیزی را در سخت افزار خود اعمال کنید. بنابراین در اینجا ما ابتدا یک کاراکتر چاپ می کنیم ، بگذارید در این مورد "A" بگوییم
ایجاد صفحه کلید ماتریس غشایی (و اتصال آن به آردوینو): 7 مرحله (همراه با تصاویر)
صفحه کلید ماتریس ممبران خود را ایجاد کنید (و به آردوینو متصل شوید): بنابراین آیا می خواهید صفحه کلید ممبران خود را ایجاد کنید؟ چرا؟ خوب ساختن صفحه کلید خود می تواند به دلایل زیادی مفید باشد. انجام این کار ارزان و آسان است ، می توان آن را در شرایطی قرار داد که ممکن است بدون ناراحتی زیاد خرابکاری یا سرقت شود ، می تواند به طور کامل