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

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

در آغاز قرن بیستم با ظهور لوله های خلاءاولین نشانگرهای تخلیه گاز ظاهر شد

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


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

شاخص های هفت بخش

با ظهور LED ها، وضعیت به طرز چشمگیری به سمت بهتر شدن تغییر کرده است. خود ال ای دی ها مصرف می کنند جریان کوچک. اگر آنها را در موقعیت مناسب قرار دهید، می توانید کاملاً هر اطلاعاتی را نمایش دهید. برای برجسته کردن تمام اعداد عربی، تنها هفت نوار LED درخشان کافی است - بخش هایی که به روش خاصی تنظیم شده اند:

تقریباً به همه این شاخص های هفت بخش، یک بخش هشتم نیز اضافه می شود - یک نقطه، به طوری که می توان مقدار صحیح و کسری هر پارامتر را نشان داد.

در تئوری، ما یک اندیکاتور هشت بخش دریافت می کنیم، اما در روش قدیمی به آن نشانگر هفت بخش نیز می گویند.

نتیجه چیست؟ هر نوار روی نشانگر هفت بخش توسط یک LED یا گروهی از LED ها روشن می شود. در نتیجه، با برجسته کردن بخش‌های خاص، می‌توانیم اعداد از 0 تا 9 و همچنین حروف و نمادها را نمایش دهیم.

انواع و نامگذاری در نمودار

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

در نمودارها، نشانگر هفت بخش چیزی شبیه به این است:

در واقع، علاوه بر پایانه های اصلی، هر نشانگر هفت قطعه ای یک ترمینال مشترک با یک آند مشترک (OA) یا یک کاتد مشترک (OC) نیز دارد.

مدار داخلی یک نشانگر هفت قطعه با یک آند مشترک به شکل زیر خواهد بود:


و با یک کاتد مشترک مانند این:


اگر یک نشانگر هفت قطعه با یک آند مشترک (OA) داشته باشیم، در مدار باید برق "بعلاوه" را به این پین و اگر با یک کاتد مشترک (OC) باشد، "منهای" یا زمین را تامین کنیم.

نحوه بررسی نشانگر هفت بخش

ما شاخص های زیر را داریم:


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

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


گاهی اوقات ولتاژ روی مولتی متر برای آزمایش یک سگمنت کافی نیست. بنابراین یک منبع تغذیه می گیریم و آن را روی 5 ولت تنظیم می کنیم. برای محدود کردن جریان از طریق بخش، ما از طریق یک مقاومت 1-2 کیلو اهم بررسی می کنیم.


به همین ترتیب ما نشانگر را از گیرنده چینی بررسی می کنیم


در مدارها، نشانگرهای هفت بخش در هر پایه به مقاومت ها متصل می شوند

در ما دنیای مدرننشانگرهای هفت بخش با نشانگرهای کریستال مایع جایگزین می شوند که می توانند مطلقاً هر اطلاعاتی را نمایش دهند

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

نشانگرهای LED هفت بخش در بین دستگاه های نمایشگر ارزش دیجیتال بسیار محبوب هستند و در پانل های جلویی اجاق های مایکروویو استفاده می شوند. ماشین های لباسشویی، ساعت های دیجیتال، شمارنده ها، تایمرها و غیره در مقایسه با نشانگرهای LCD، بخش های نشانگر LED به خوبی می درخشند و در مسافت طولانی و در زاویه دید وسیع قابل مشاهده هستند. برای اتصال یک نشانگر 4 بیتی هفت بخش به یک میکروکنترلر، حداقل 12 خط ورودی/خروجی مورد نیاز است. بنابراین، استفاده از این نشانگرها با میکروکنترلرهایی با تعداد پایه کم، به عنوان مثال سری های شرکت، تقریبا غیرممکن است. البته میتونی استفاده کنی روش های مختلفمالتی پلکس کردن (توضیحات آن را می توان در وب سایت در بخش "طرح ها" یافت)، اما حتی در این مورد نیز محدودیت های خاصی برای هر روش وجود دارد و اغلب از الگوریتم های نرم افزاری پیچیده استفاده می کنند.

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

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

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

مدار مورد بحث در مقاله یک مدار ماژول نمایشگر با رابط SPI است که می تواند در طراحی های رادیویی آماتور استفاده شود. و ما بیشتر علاقه مندیم نه به خود مدار، بلکه به کار با میکرو مدار از طریق رابط SPI. برق ماژول +5 ولت به پین ​​Vcc عرضه می شود. خطوط سیگنال MOSI، CLK و CS برای ارتباط بین یک دستگاه اصلی (میکروکنترلر) و یک دستگاه Slave (تراشه MAX7219) طراحی شده اند.

ریز مدار در یک اتصال استاندارد استفاده می شود؛ تنها اجزای خارجی مورد نیاز یک مقاومت است که جریان را از طریق قطعات تنظیم می کند، یک دیود محافظ برای منبع تغذیه، و یک خازن فیلتر برای منبع تغذیه.

داده ها در بسته های 16 بیتی (دو بایت) به تراشه منتقل می شوند که در رجیستر شیفت 16 بیتی داخلی در هر لبه افزایشی سیگنال CLK قرار می گیرند. ما یک بسته 16 بیتی را به عنوان D0-D15 نشان می دهیم، که در آن بیت های D0-D7 حاوی داده ها، D8-D11 حاوی آدرس ثبت هستند، بیت های D12-D15 معنی ندارند. بیت D15 مهم ترین بیت است و اولین بیت دریافتی است. اگرچه این تراشه قادر به کنترل هشت نشانگر است، اما ما تنها با چهار نشانگر کار خواهیم کرد. آنها توسط خروجی های DIG0 - DIG3 کنترل می شوند که به ترتیب از راست به چپ قرار دارند، آدرس های 4 بیتی (D8-D11) که مربوط به آنها هستند 0x01، 0x02، 0x03 و 0x04 (فرمت هگزا دسیمال) هستند. ثبت رقم با استفاده از RAM روی تراشه با سازماندهی 8x8 پیاده سازی می شود و مستقیماً آدرس پذیر است به طوری که هر رقم جداگانه روی صفحه نمایش را می توان در هر زمان به روز کرد. جدول زیر ارقام آدرس پذیر و رجیسترهای کنترل تراشه MAX7219 را نشان می دهد.

ثبت نام

نشانی

مقدار HEX

بدون عملیات

حالت رمزگشایی

تعداد شاخص ها

خاموش شدن

تست شاخص

ثبت های کنترل

تراشه MAX1792 دارای 5 رجیستر کنترل است: حالت رمزگشایی (Decode-Mode)، کنترل روشنایی نشانگر (Intensity)، رجیستر تعداد نشانگرهای متصل (Scan Limit)، کنترل روشن/خاموش (Shutdown)، حالت تست (Display Test).

روشن و خاموش کردن تراشه

هنگامی که برق به تراشه اعمال می شود، همه رجیسترها ریست می شوند و به حالت Shutdown می رود. در این حالت نمایشگر خاموش است. برای تغییر حالت عملکرد عادی، بیت D0 از رجیستر Shutdown (آدرس 0Сh) باید تنظیم شود. این بیت را می توان در هر زمان پاک کرد تا درایور مجبور به خاموش شدن شود و محتویات همه رجیسترها بدون تغییر باقی بماند. از این حالت می توان برای صرفه جویی در مصرف انرژی و یا در حالت هشدار با چشمک زدن نشانگر (فعال و غیرفعال سازی متوالی حالت Shutdown) استفاده کرد.

ریز مدار با انتقال متوالی آدرس (0Сh) و داده ها (00h) به حالت خاموش شدن سوئیچ می شود و با انتقال 0Ch (آدرس) و سپس 01h (داده) به عملکرد عادی باز می گردد.

حالت رمزگشایی

با استفاده از ثبت انتخاب حالت رمزگشایی (آدرس 09h)، می توانید از رمزگشایی کد BCD B (نمایش کاراکترهای 0-9، E، H، L، P، -) یا بدون رمزگشایی برای هر رقم استفاده کنید. هر بیت در ثبات مربوط به یک رقم است، تنظیم یک عدد منطقی مربوط به روشن کردن رمزگشا برای این بیت است، تنظیم 0 به این معنی است که رمزگشا غیرفعال است. اگر از رمزگشای BCD استفاده شود، تنها کمترین ریز داده در رجیسترهای رقمی (D3-D0) در نظر گرفته می‌شود، بیت‌های D4-D6 نادیده گرفته می‌شوند، بیت D7 به رسیور BCD وابسته نیست و مسئول روشن کردن است. نقطه اعشار روی نشانگر اگر D7 = 1 باشد. به عنوان مثال، هنگامی که بایت های 02h و 05h به ترتیب ارسال می شوند، نشانگر DIG1 (رقم دوم از سمت راست) عدد 5 را نمایش می دهد. به طور مشابه، هنگام ارسال 01h و 89h، نشانگر DIG0 عدد 9 را با اعشار درج می کند. . جدول زیر نشان می دهد لیست کاملکاراکترهایی که هنگام استفاده از رمزگشای BCD تراشه نمایش داده می شوند.

سمبل

داده ها در رجیسترها

بخش های فعال = 1

خالی

*نقطه اعشار با بیت D7=1 تنظیم می شود

هنگامی که رمزگشا BCD از عملکرد حذف می شود، بیت های داده D7-D0 با خطوط قطعه (A-G و DP) نشانگر مطابقت دارند.

کنترل روشنایی نشانگر

این تراشه به شما امکان می دهد تا با استفاده از PWM داخلی، روشنایی نشانگرها را به صورت برنامه ای کنترل کنید. خروجی PWM توسط نوک پایین مرتبه (D3-D0) رجیستر شدت (آدرس 0Ah) کنترل می شود که به شما امکان می دهد یکی از 16 سطح روشنایی را تنظیم کنید. هنگامی که تمام بیت های یک نیبل بر روی 1 تنظیم می شوند، حداکثر روشنایی نشانگر انتخاب می شود.

تعداد نشانگرهای متصل

رجیستر Scan-Limit (آدرس 0Bh) مقدار تعداد بیت های سرویس شده توسط ریزمدار (1 ... 8) را تنظیم می کند. برای نسخه 4 بیتی ما، مقدار 03h باید در رجیستر نوشته شود.

تست شاخص

رجیستر مسئول این حالت در آدرس 0Fh قرار دارد. با تنظیم بیت D0 در ثبات، کاربر تمام بخش های نشانگر را روشن می کند، در حالی که محتویات رجیسترهای کنترل و داده تغییر نمی کند. برای غیرفعال کردن حالت Display-Test، بیت D0 باید 0 باشد.

رابط با میکروکنترلر

ماژول نشانگر را می توان به هر میکروکنترلری که دارای سه خط ورودی/خروجی آزاد است متصل کرد. اگر میکروکنترلر دارای یک ماژول سخت افزاری داخلی SPI باشد، ماژول نشانگر را می توان به عنوان یک دستگاه برده در اتوبوس متصل کرد. در این حالت، خطوط سیگنال SPI SDO (خروج داده های سریال)، SCLK (ساعت سریال) و SS (انتخاب برده) میکروکنترلر می توانند مستقیماً به پین ​​های MOSI، CLK و CS تراشه MAX7219 (ماژول) متصل شوند. سیگنال CS کم است.

اگر میکروکنترلر دارای SPI سخت افزاری نباشد، رابط را می توان در نرم افزار سازماندهی کرد. ارتباط با MAX7219 با کشیدن و پایین نگه داشتن خط CS آغاز می شود، سپس 16 بیت داده را به صورت متوالی (ابتدا MSB) روی خط MOSI در لبه افزایشی سیگنال CLK ارسال می کند. پس از اتمام انتقال، خط CS دوباره بالا می رود.

در بخش دانلودها، کاربران می توانند متن منبع برنامه آزمایشی و فایل HEX سیستم عامل را دانلود کنند که یک شمارنده معمولی 4 بیتی با نمایش مقادیر روی یک ماژول نشانگر با رابط SPI پیاده سازی می کند. میکروکنترلر مورد استفاده یک رابط پیاده سازی شده در نرم افزار است، خطوط سیگنال CS، MOSI و CLK ماژول نشانگر به ترتیب به پورت های GP0، GP1 و GP2 متصل می شوند. کامپایلر mikroC برای میکروکنترلرهای PIC(microElektronika

برای اظهار نظر در مورد مطالب از سایت و دریافت دسترسی کاملبه انجمن ما نیاز دارید ثبت نام .


نمودار اتصال برای یک نشانگر هفت بخش یک رقمی
نمودار اتصال برای یک نشانگر هفت بخش چند رقمی

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

همانطور که از نام آن مشخص است، از هفت عنصر نمایشگر (بخش) تشکیل شده است که به طور جداگانه روشن و خاموش می شوند. با قرار دادن آنها در ترکیب های مختلف، می توان از آنها برای ایجاد تصاویر ساده شده از اعداد عربی استفاده کرد.
بخش ها با حروف A تا G مشخص می شوند. بخش هشتم - نقطه اعشار (نقطه اعشاری، DP)، طراحی شده برای نمایش اعداد کسری.
گاهی اوقات، حروف بر روی نشانگر هفت بخش نمایش داده می شود.

آنها در رنگ های مختلف، معمولا سفید، قرمز، سبز، زرد و آبی هستند. علاوه بر این، آنها می توانند اندازه های مختلفی داشته باشند.

همچنین نشانگر LED می تواند تک رقمی (مانند شکل بالا) یا چند رقمی باشد. اساساً از نشانگرهای LED یک، دو، سه و چهار رقمی در عمل استفاده می شود:

علاوه بر ده رقم، نشانگرهای هفت قسمتی قادر به نمایش حروف هستند. اما تعداد کمی از حروف دارای نمایش هفت بخش بصری هستند.
در لاتین: بزرگ A، B، C، E، F، G، H، I، J، L، N، O، P، S، U، Y، Z، حروف کوچک a، b، c، d، e، g , h, i, n, o, q, r, t, u.
به خط سیریلیک: A، B، V، G، g، E، i، N، O، o، P، p، R، S، s، U، Ch، Y (دو رقم)، b، E/Z.
بنابراین از نشانگرهای هفت قسمتی فقط برای نمایش پیام های ساده استفاده می شود.

در مجموع، نشانگر LED هفت بخش می تواند 128 کاراکتر را نمایش دهد:

یک نشانگر LED معمولی دارای 9 لید است: یکی به کاتد همه بخش ها می رود و هشت تای دیگر به آند هر قطعه می رود. این طرح نامیده می شود "مدار کاتد مشترک"، طرح هایی نیز وجود دارد با آند مشترک(پس برعکس است). اغلب، نه یک، بلکه دو پایانه مشترک در انتهای مختلف پایه ساخته می شود - این کار سیم کشی را بدون افزایش ابعاد ساده می کند. به اصطلاح "جهانی" نیز وجود دارد، اما من شخصاً با چنین مواردی روبرو نشده ام. علاوه بر این، نشانگرهایی با یک شیفت رجیستر داخلی وجود دارد که تعداد پین های پورت میکروکنترلر درگیر را بسیار کاهش می دهد، اما بسیار گران تر هستند و به ندرت در عمل استفاده می شوند. و از آنجایی که نمی توان بی نهایت را درک کرد، فعلاً چنین شاخص هایی را در نظر نخواهیم گرفت (اما شاخص هایی با تعداد بسیار بیشتری از بخش ها نیز وجود دارد، آنهایی که ماتریس هستند).

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

اتصال نشانگر هفت بخش یک رقمی به میکروکنترلر

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

نشانه گذاری در یک نشانگر LED تک رقمی با اعمال یک کد باینری به پین ​​های پورت میکروکنترلر رقم مربوطه از سطح منطقی مربوطه انجام می شود (برای نشانگرهای با OK - منطقی، برای نشانگرهای با OA - صفرهای منطقی).

مقاومت های محدود کننده جریانممکن است در نمودار وجود داشته باشد یا نباشد. همه چیز بستگی به ولتاژ تغذیه ای دارد که به نشانگر و مشخصات فنیشاخص ها. به عنوان مثال، اگر ولتاژ ارائه شده به سگمنت ها 5 ولت است و آنها برای ولتاژ کاری 2 ولت طراحی شده اند، باید مقاومت های محدود کننده جریان نصب شوند (برای محدود کردن جریان عبوری از آنها برای افزایش ولتاژ تغذیه و نسوختن نه تنها نشانگر، بلکه پورت میکروکنترلر).
محاسبه مقدار مقاومت های محدود کننده جریان با استفاده از فرمول پدربزرگ بسیار آسان است اهم.
به عنوان مثال، ویژگی های اندیکاتور به شرح زیر است (برگرفته از دیتاشیت):
- ولتاژ کار - 2 ولت
- جریان عملیاتی - 10 میلی آمپر (= 0.01 آمپر)
- ولتاژ تغذیه 5 ولت
فرمول محاسبه:
R= U/I (همه مقادیر در این فرمول باید بر حسب اهم، ولت و آمپر باشند)
R= (ولتاژ تغذیه - ولتاژ عملیاتی)/جریان عملیاتی
R= (5-2)/0.01 = 300 اهم

نمودار اتصال برای نشانگر LED هفت بخش چند رقمیاساساً مانند هنگام اتصال یک نشانگر تک رقمی است. تنها نکته این است که ترانزیستورهای کنترلی در کاتدها (آندها) نشانگرها اضافه می شوند:

در نمودار نشان داده نشده است، اما بین پایه های ترانزیستورها و پین های پورت میکروکنترلر، لازم است که مقاومت هایی وجود داشته باشد که مقاومت آنها به نوع ترانزیستور بستگی دارد (مقادیر مقاومت محاسبه می شود، اما همچنین می توانید از مقاومت هایی با مقدار اسمی 5-10 کیلو اهم استفاده کنید.

نشان دادن توسط تخلیه به صورت پویا انجام می شود:
- کد باینری رقم مربوطه در خروجی های پورت PB برای رقم 1 تنظیم می شود، سپس سطح منطقی به ترانزیستور کنترل رقم اول اعمال می شود.
- کد باینری رقم مربوطه در خروجی های پورت PB برای رقم دوم تنظیم می شود، سپس سطح منطقی به ترانزیستور کنترل رقم دوم اعمال می شود.
- کد باینری رقم مربوطه در خروجی های پورت PB برای رقم 3 تنظیم می شود، سپس سطح منطقی به ترانزیستور کنترل رقم سوم اعمال می شود.
- بنابراین در یک دایره
در این مورد باید توجه داشت:
- برای شاخص های با خوبساختار ترانزیستور کنترل استفاده می شود NPN(کنترل شده توسط واحد منطقی)
- برای نشانگر با OA- ترانزیستور ساختار PNP(با منطق صفر کنترل می شود)

از زمان ظهور مهندسی رادیو و الکترونیک بازخورددستگاه الکترونیکی و شخص با چراغ های سیگنال مختلف، دکمه ها، سوئیچ های ضامن، زنگ ها (سیگنال آماده مایکروویو - دنگ!) همراه بود. برخی از دستگاه های الکترونیکی حداقل اطلاعات را ارائه می دهند، زیرا بیشتر غیر ضروری خواهد بود. به عنوان مثال، یک LED درخشان در شارژر تلفن چینی شما نشان می دهد که شارژر به برق وصل است و در حال دریافت برق است. اما پارامترهایی نیز وجود دارد که ارائه اطلاعات عینی برای آنها راحت تر است. به عنوان مثال، دمای هوای بیرون یا زمان روی ساعت زنگ دار. بله، همه اینها را می توان با لامپ های درخشان یا LED نیز انجام داد. یک درجه - یک دیود سوزان یا لامپ. چند درجه وجود دارد، این همه شاخص روشن است. شاید شمردن این کرم شب تاب یک چیز رایج باشد، اما باز هم به چند عدد از این چراغ ها برای نشان دادن دما با دقت یک دهم درجه نیاز خواهد بود؟ و به طور کلی این ال ای دی ها و لامپ ها در یک دستگاه الکترونیکی چه مساحتی را اشغال خواهند کرد؟

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

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

و در آغاز قرن بیستم، با ظهور لوله های الکترونیکی، اولین نشانگرهای تخلیه گاز ظاهر شد.

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

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

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

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

با ظهور LED ها، وضعیت به طرز چشمگیری تغییر کرده است. خود LED ها مقدار کمی جریان مصرف می کنند. اگر آنها را در موقعیت مناسب قرار دهید، می توانید کاملاً هر اطلاعاتی را نمایش دهید. برای برجسته کردن تمام اعداد عربی، فقط چیزی کافی بود هفت (از این رو نام نشانگر هفت بخش) نوارهای LED درخشان که به روش خاصی چیده شده اند:

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

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

تقریباً همه این نشانگرهای هفت بخش یک بخش هشتم - یک نقطه را نیز اضافه می کنند تا بتوان مقدار صحیح و کسری هر پارامتر را نشان داد.

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

توجه داشته باشید که یک شمارنده فرکانس سه رقمی می تواند حداکثر فرکانس 999 هرتز را هنگام استفاده از یک پایه زمانی یک ثانیه، 99 کیلوهرتز در هنگام استفاده از پایه زمانی 100 میلی ثانیه، 9 کیلوهرتز در هنگام استفاده از پایه زمانی 10 میلی ثانیه و 999 کیلوهرتز را در هنگام استفاده از یک نشان دهد. پایه زمانی 1 میلی ثانیه

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

به طور خلاصه، یک نشانگر هفت بخش LED هایی هستند که نسبت به یکدیگر به ترتیب خاصی قرار گرفته و در یک محفظه محصور شده اند.

این روش را می توان با کمک شکل های 14 و 15 درک کرد. این سوئیچ ها به یکدیگر متصل هستند و عمل مالتی پلکسر واقعی را ارائه می دهند و باید به عنوان کلیدهای الکترونیکی پرسرعت در نظر گرفته شوند که به طور مکرر از طریق موقعیت های 1، 2 و ترتیب عملیات سوئیچ می شوند. مدار به شرح زیر است اجازه دهید ابتدا فرض کنیم که سوئیچ در موقعیت خود قرار دارد.

چند لحظه بعد سوئیچ به موقعیت 3 می رود و باعث می شود صفحه نمایش 3 بعد از چند دقیقه عددی را نمایش دهد، کل چرخه دوباره شروع به تکرار می کند و به همین ترتیب بی نهایت اضافه می شود. در عمل، حدود 50 مورد از این چرخه ها در هر ثانیه اتفاق می افتد، بنابراین چشم روشن و خاموش شدن نمایشگرها را به طور جداگانه نمی بیند، بلکه آنها را به عنوان یک نمایشگر ظاهرا ثابت درک می کند که عدد 327 یا یک عدد دیگر را که توسط بخش داده دیکته شده است را نشان می دهد.

اگر نمودار یک اندیکاتور هفت قسمتی را در نظر بگیریم، به نظر می رسد:

همانطور که می بینیم، نشانگر هفت بخش می تواند با هر دو باشد آند مشترک (CA)، بنابراین با کاتد مشترک (OC). به طور کلی، اگر ما یک قطعه هفت با یک آند مشترک (OA) داشته باشیم، در مدار باید یک "plus" را روی این پین آویزان کنیم، و اگر با یک کاتد مشترک (OC)، سپس یک "منهای" یا زمین . به کدام پایه ولتاژ می دهیم، این LED روشن می شود. بیایید همه اینها را در عمل نشان دهیم.

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

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

ما نشانگرهای LED زیر را در انبار داریم:

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

بنابراین صفحه نمایش نشان می دهد. اساساً استفاده از آنها آسان است، آنها را روشن می کنند و روشن می شوند. آنها می توانند آزاردهنده باشند زیرا نوعی قطبیت دارند، به این معنی که فقط در صورتی کار می کنند که آنها را به درستی وصل کنید. اگر ولتاژ مثبت و منفی را لغو کنید، اصلا روشن نمی شوند.

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

اوه، یک بخش آتش گرفت، بنابراین ما بخش های دیگر را به همین ترتیب بررسی می کنیم.

گاهی اوقات ولتاژ روی کارتون برای بررسی بخش های نشانگر کافی نیست. بنابراین، منبع تغذیه را می گیریم، آن را روی 5 ولت تنظیم می کنیم، یک مقاومت 1-2 کیلو اهم را به یک پایانه منبع تغذیه متصل می کنیم و شروع به بررسی واحد هفت قطعه می کنیم.

کنترل نمایشگر 7 قسمتی

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

در این مرحله به خروجی اولیه توجه کنید، زیرا بعداً هنگام بارگذاری برنامه به آن نیاز خواهید داشت. اگر نمایشگر یک کاتد معمولی بود، آن را لغو می‌کردیم. در پایین مقاله عکسی از مداری است که روی برد نمونه اولیه من قرار دارد. ما همچنین یک کتابخانه برای کنترل بیش از یک نمایشگر ارائه می دهیم.

چرا به مقاومت نیاز داریم؟ هنگامی که ولتاژ به LED اعمال می شود، هنگامی که روشن می شود شروع به مصرف شدید جریان می کند. بنابراین، در این لحظه ممکن است بسوزد. برای محدود کردن جریان، یک مقاومت به صورت سری به LED متصل می شود. در این مقاله می توانید بیشتر بخوانید.

شمارش هگز روی یک صفحه نمایش 7 قسمتی

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

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

به همین ترتیب ما سون سگمنت چهار رقمی را از یک رادیو چینی بررسی می کنیم

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

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

که در برنامه تستاعداد از 0 تا 9 به صورت متوالی در یک صفحه نمایش 7 قسمتی نمایش داده می شوند. عدد خروجی در یک شمارنده رجیستر ذخیره می شود و در داخل چرخه 1 افزایش می یابد. اگر رجیستر به مقدار 10 برسد، مجدداً به 0 بازنشانی می‌شود. پس از بالا آمدن، یک حلقه انتظار رخ می‌دهد که تضمین می‌کند که زمان مشخصی در نسخه بعدی سپری شده است. به طور معمول شما چنین چرخه های انتظار طولانی را انجام نمی دهید، اما این در مورد انتظار نیست، بلکه در مورد کنترل یک صفحه نمایش 7 قسمتی است. استفاده از تایمر برای این کار بسیار زیاد است.

در دنیای مدرن ما، دستگاه های هفت بخش در حال حاضر با نشانگرهای LCD جایگزین شده اند که می توانند اطلاعات کاملاً متفاوتی را نمایش دهند

اما برای استفاده از آنها به مهارت های خاصی در طراحی مدار چنین دستگاه هایی نیاز دارید. تاکنون هیچ چیز ساده‌تر یا ارزان‌تر از نشانگرهای LED هفت‌بخشی وجود ندارد.

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

بنابراین، این ثابت ابتدا باید در یک ثبات بارگذاری شود و تنها پس از آن می توان با استفاده از این ثبات، جمع را انجام داد. نکته جالب این است که این واقعیت در بسیاری از برنامه ها یافت می شود و ثابت ها در اکثر موارد ثابت 0 هستند. بنابراین، بسیاری از برنامه نویسان از همان ابتدا یک ثبات برای این کار رزرو می کنند و آن را ثبت صفر می نامند.

در این مقاله در مورد صفحه نمایش دیجیتال صحبت خواهیم کرد.
نشانگرهای LED هفت بخش برای نمایش اعداد عربی از 0 تا 9 طراحی شده اند (شکل 1).

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

متأسفانه یک مشکل وجود دارد زیرا نمایشگر به هشت پورت نیاز دارد - چهار تبلیغ به 32 پورت نیاز دارند. اما چندین راه وجود دارد. رجیسترهای شیفت قبلاً در آموزش دیگری توضیح داده شده است. این کار ایجاد 32 خط خروجی مورد نیاز را تنها با سه پایه آسان تر می کند. اصل کنترل هیچ تفاوتی با نمایش یک صفحه نمایش 7 قسمتی ندارد، تنها نحوه نزدیک شدن "پین های خروجی" به مقادیر آنها متفاوت است و با استفاده از ثبت کننده تغییر تعیین می شود. بر این لحظهبا این حال، یک گزینه کنترل دیگر باید نشان داده شود.



شکل 2.

این نشانگر به دلیل اینکه نماد نمایش داده شده از هفت بخش جداگانه ساخته شده است، هفت بخش نامیده می شود. در داخل محفظه چنین نشانگر LED هایی وجود دارد که هر کدام بخش خاص خود را روشن می کند.
نمایش حروف و سایر نمادها روی این نشانگرها مشکل ساز است، بنابراین برای این منظور از نشانگرهای 16 قسمتی استفاده می شود.

در زیر دوباره به مالتی پلکس کردن نگاه خواهیم کرد. Multiplexing به این معنی است که هر چهار نمایشگر به طور همزمان روشن نمی شوند، بلکه تنها یکی در یک زمان روشن می شوند مدت کوتاهی. اگر تغییر بین نمایشگرها سریعتر از آنچه ما انسانها می توانیم درک کنیم اتفاق بیفتد، به نظر می رسد که هر چهار چراغ به طور همزمان کار می کنند، اگرچه تنها یکی برای یک مدت کوتاه روشن می شود. به این ترتیب، چهار نمایشگر می‌توانند بخش‌های جداگانه را به اشتراک بگذارند، و تنها چیزی که مورد نیاز است، 4 خط کنترل اضافی برای 4 نمایشگر است که نمایشگر با آنها فعال است.

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

نشانگرهای LED در دو نوع هستند.
در اولین آنها، تمام کاتدها، یعنی. پایانه های منفی همه LED ها با هم ترکیب شده و یک ترمینال مربوطه برای آنها روی کیس اختصاص داده شده است.
پایانه های باقی مانده نشانگر به آند هر LED متصل می شوند (شکل 3، a). این مدار "مدار کاتد مشترک" نامیده می شود.
همچنین نشانگرهایی وجود دارد که در آنها LEDهای هر بخش با توجه به یک مدار با یک آند مشترک متصل می شوند (شکل 3، ب).



شکل 3.

هر بخش با یک حرف مربوطه مشخص می شود. شکل 4 مکان آنها را نشان می دهد.

شکل 4.

به عنوان مثال، نشانگر دو رقمی هفت قسمتی GND-5622As-21 را قرمز رنگ در نظر بگیرید. به هر حال، بسته به مدل، رنگ های دیگری نیز وجود دارد.
با استفاده از یک باتری سه ولتی، می‌توانید سگمنت‌ها را روشن کنید و اگر گروهی از پین‌ها را به صورت دسته‌ای ترکیب کنید و به آنها برق بدهید، حتی می‌توانید اعداد را نمایش دهید. اما این روش ناخوشایند است، بنابراین از رجیسترهای شیفت و رمزگشاها برای کنترل نشانگرهای هفت بخش استفاده می شود. همچنین اغلب، پین‌های نشانگر مستقیماً به خروجی‌های میکروکنترلر متصل می‌شوند، اما فقط زمانی که از نشانگرهایی با مصرف جریان کم استفاده می‌شود. شکل 5 قطعه ای از مدار را با استفاده از PIC16F876A نشان می دهد.



شکل 5.

برای کنترل نشانگر هفت بخش، اغلب از رمزگشا K176ID2 استفاده می شود.
این تراشه قادر است کدهای باینری متشکل از صفر و یک را به ارقام اعشاری از 0 تا 9 تبدیل کند.

برای درک اینکه چگونه همه کار می کند، باید یک مدار ساده را جمع آوری کنید (شکل 6). رسیور K176ID2 در بسته بندی DIP16 قرار گرفته است. دارای 7 پایه خروجی (پایین 9 - 15) که هر کدام به یک بخش خاص اختصاص داده شده است. کنترل نقطه در اینجا ارائه نشده است. ریز مدار همچنین دارای 4 ورودی (پایین 2 - 5) برای تهیه کد باینری است. پایه های 16 و 8 به ترتیب با قدرت مثبت و منفی عرضه می شوند. سه نتیجه باقی مانده کمکی هستند، کمی بعد در مورد آنها صحبت خواهم کرد.



شکل 6.

DD1 - K176ID2
R1 - R4 (10 - 100 کیلو اهم)
HG1 - GND-5622As-21

4 سوئیچ ضامن در مدار وجود دارد (هر دکمه ای امکان پذیر است)، هنگامی که آنها را فشار می دهید، یک کلید منطقی از منبع تغذیه پلاس به ورودی های رسیور عرضه می شود. به هر حال، خود ریز مدار با ولتاژ 3 تا 15 ولت تغذیه می شود. در این مثال، کل مدار توسط یک منبع تغذیه 9 ولت تغذیه می شود.

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

در نمودار، پایه های 2 و 7 نشانگر HG1 متصل نیستند. اگر پایه DP را به منبع تغذیه منهای وصل کنید، نقطه اعشار روشن می شود. و اگر یک منهای به خروجی Dig.2 اعمال کنید، گروه دوم سگمنت ها نیز روشن می شوند (همان نماد را نشان می دهند).

ورودی های رسیور به گونه ای طراحی شده اند که برای نمایش اعداد 1، 2، 4 و 8 روی نشانگر، فقط باید یک دکمه را فشار دهید (طرح بندی دارای سوئیچ های تغییر دهنده مربوط به ورودی های D0، D1، D2 و D3 است). اگر سیگنال وجود نداشته باشد، عدد صفر نمایش داده می شود. هنگامی که یک سیگنال به ورودی D0 اعمال می شود، عدد 1 نمایش داده می شود. و غیره. برای نمایش اعداد دیگر، باید ترکیبی از سوئیچ‌ها را فشار دهید. جدول 1 به ما می گوید که کدام یک را باید فشار دهیم.


میز 1.

برای نمایش عدد "3" باید یک عدد منطقی برای ورودی D0 و D1 اعمال کنید. اگر سیگنالی را به D0 و D2 اعمال کنید، عدد "5" نمایش داده می شود(شکل 6).



شکل 6.

در اینجا جدول توسعه یافته ای وجود دارد که در آن نه تنها رقم مورد انتظار، بلکه بخش هایی (a - g) را نیز مشاهده می کنیم که این رقم را تشکیل می دهند.



جدول 2.

پایه های 1، 6 و 7 ریز مدار کمکی هستند (به ترتیب S، M، K).

در نمودار (شکل 6)، پایه 6 "M" به زمین متصل شده است (به منبع تغذیه منهای) و یک ولتاژ مثبت در خروجی میکرو مدار برای کار با یک نشانگر با یک کاتد مشترک وجود دارد. اگر از یک نشانگر با آند مشترک استفاده می شود، باید آن را روی پایه ششم اعمال کرد.

اگر یک منطقی روی هفتمین پایه "K" اعمال شود، علامت نشانگر خاموش می شود، صفر نشان می دهد. در طرح این نتیجه گیریزمین (به منبع تغذیه منهای).

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

نکته جالب توجه این است که می دانیم که کلید D0 عدد "1" را روشن می کند و سوئیچ ضامن D1 عدد "2" را روشن می کند. اگر هر دو کلید را فشار دهید، عدد 3 نمایش داده می شود (1+2=3). و در موارد دیگر نشانگر مجموع اعداد تشکیل دهنده این ترکیب را نمایش می دهد. ما به این نتیجه می رسیم که ورودی های رمزگشا به طور متفکرانه مرتب شده اند و ترکیبات بسیار منطقی دارند.

همچنین می توانید ویدیوی این مقاله را تماشا کنید.

بیایید یک نشانگر LED هفت بخش را به برد آردوینو متصل کنیم و یاد بگیریم که چگونه آن را با استفاده از کتابخانه Led4Digits.h کنترل کنیم.

درس قبلی به تفصیل میکروکنترلرها را توضیح داد. بیایید چنین نشانگری را به برد آردوینو وصل کنیم.

نمودار اتصال نشانگر به برد آردوینو به این صورت است.

من آن را روی یک برد مدار جمع کردم.

برای مدیریت نشانگرها، کتابخانه Led4Digits.h را نوشتم:

و پرداخت کنید.

این کتابخانه به شما امکان می دهد شاخص های هفت بخش را مدیریت کنید:

  • تا چهار رقم در اندازه؛
  • با هر نوع قطبیت پالس کنترلی (همه)؛
  • در یک فرآیند موازی کار می کند.
  • به شما امکان می دهد روی نشانگر نمایش دهید:
    • بخش های هر دسته؛
    • رقم هر رقم؛
    • عدد صحیح 0 ... 9999;
  • برای خروجی یک عدد صحیح می توان تعداد ارقام را مشخص کرد.
  • حالتی برای سرکوب ارقام ناچیز وجود دارد.

می توانید کتابخانه Led4Digits.h را از این لینک دانلود کنید:

و پرداخت کنید. فقط 40 روبل در هر ماه برای دسترسی به تمام منابع سایت!

نحوه نصب در نوشته شده است.

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

کتابخانه کنترل LED برای Arduino Led4Digits.

اینم توضیحات کلاس من فقط روش ها و خواص عمومی را ارائه کردم.

کلاس Led4Digits (
عمومی:
رقم بایت؛ // کدهای کنترل بخش بیت
void regen(); // بازسازی، روش باید به طور منظم نامیده شود
void tetradToSegCod (بایت حفاری، بایت تتراد)؛ // تبدیل کدهای تتراد به بخش
چاپ بولی (مقدار int بدون علامت، عدد عدد بایت، بایت خالی)؛ // خروجی عدد صحیح



} ;

سازنده.

Led4Digits (نوع بایتLed، بایت digitPin0، بایت digitPin1، بایت digitPin2، بایت digitPin3،
بایت segPinA، بایت segPinB، بایت segPinC، بایت segPinD،
بایت segPinE، بایت segPinF، بایت segPinG، بایت segPinH).

تایپ شدهقطب های پالس کنترل را برای سیگنال های انتخاب بیت و بخش تنظیم می کند. پشتیبانی از هر طرح اتصال ().

تایپ شده انتخاب دسته انتخاب بخش نوع مدار
0 -_- -_- آند مشترک با کلیدهای انتخاب تخلیه
1 _-_ -_- آند مشترک
2 -_- _-_ کاتد مشترک
3 _-_ _-_ کاتد مشترک با کلیدهای انتخاب تخلیه

digitPin0...digitPin3- خروجی برای انتخاب ارقام. اگر digitPin = 255، رقم غیرفعال است. این به شما امکان می دهد نشانگرها را با ارقام کمتر متصل کنید. digitPin0 - رقم پایین (راست).

segPinA...segPinH– خروجی های کنترل بخش

مثلا،

معنی: نشانگر نوع 1؛ خروجی های تخلیه 5،4،3،2; خروجی های بخش های 6،7،8،9،10،11،12،13.

روش void regen()

روش باید به طور منظم در یک فرآیند موازی فراخوانی شود. تصویر را روی نشانگرها بازسازی می کند. زمان چرخه بازسازی برابر است با دوره فراخوانی روش ضرب در تعداد بیت ها.

مثلا،

// کنترل کننده وقفه 2 میلی ثانیه
void timerInterrupt() (
disp.regen(); // بازسازی شاخص
}

آرایه رقمی بایت

شامل وضعیت بخش ها است. رقم کم اهمیت ترین بیت است، کم اهمیت ترین بیت رقم، بخش "A" بیت کم اهمیت است. حالت بیت 1 به این معنی است که بخش روشن است.

مثلا،

رقم = B0000101;

به این معنی که در رقم دوم، بخش های "A" و "C" روشن می شوند.

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

// بخش های در حال اجرا
#عبارتند از
#عبارتند از

//
Led4Digits disp(1, 5,4,3,2, 6,7,8,9,10,11,12,13);

void setup() (
وقفه تایمر 2 میلی ثانیه
MsTimer2::start(); // وقفه فعال کردن
}

حلقه خالی() (
برای (int i = 0; i< 32; i++) {
if (i == 0) disp.digit= 1;
else if (i == 8) disp.digit= 1;
else if (i == 16) disp.digit= 1;
else if (i == 24) disp.digit= 1;
دیگر(
disp.digit = disp.digit<< 1;
disp.digit = disp.digit<< 1;
disp.digit = disp.digit<< 1;
disp.digit = disp.digit<< 1;
}
تاخیر(250);
}
}

//کنترل کننده وقفه 2 میلی ثانیه
void timerInterrupt() (
disp.regen(); // بازسازی شاخص
}

در آرایه رقمی، 1 جابجا می شود و نشانگرها این را نشان می دهند.

روش void tetradToSegCod (بایت حفاری، بایت تتراد)

این روش به شما امکان می دهد اعداد و حروف کد هگزادسیمال را در ارقام جداگانه نمایش دهید. استدلال دارد:

  • dig – رقم شماره 0 ... 3;
  • تتراد - کد کاراکتر اعشاری. کد 0 عدد "0"، کد 1 - عدد "1"، کد 14 - حرف "E" را نمایش می دهد.

مثلا،

tetrad(2, 7);

عدد "7" را در رقم سوم نمایش می دهد.

نمونه ای از برنامه ای که کاراکترهای هر رقم را به نوبه خود تغییر می دهد.

// اعداد یکی یکی
#عبارتند از
#عبارتند از

// نشانگر نوع 1; خروجی های تخلیه 5،4،3،2; خروجی های بخش 6،7،8،9،10،11،12،13
Led4Digits disp(1, 5,4,3,2, 6,7,8,9,10,11,12,13);

void setup() (
MsTimer2::set(2، timerInterrupt); // وقفه تایمر 2 میلی ثانیه
MsTimer2::start(); // وقفه فعال کردن
}

حلقه خالی() (
برای (int i = 0; i< 64; i++) {
disp.tetradToSegCod(i>>4, i);
تاخیر(250);
}
}

// کنترل کننده وقفه 2 میلی ثانیه
void timerInterrupt() (
disp.regen(); // بازسازی شاخص
}

روش چاپ بولی (مقدار int بدون علامت، عدد عدد بایت، بایت خالی)

این روش یک عدد صحیح را روی نشانگرها نمایش می دهد. این عدد باینری را برای هر رقم به BCD تبدیل می کند. استدلال دارد:

  • مقدار - عددی که روی نشانگر نمایش داده می شود.
  • digitNum - تعداد ارقام برای عدد. این نباید با تعداد ارقام نشانگر اشتباه گرفته شود. ممکن است بخواهید یک عدد را روی 2 رقم نمایش دهید و نویسه ها را روی دو رقم دیگر با استفاده از رقم نمایش دهید.
  • خالی - نشانه ای از سرکوب ارقام ناچیز. blank=0 یعنی عدد باید با تمام صفرها نمایش داده شود. عدد "7" شبیه "0007" خواهد بود. اگر خالی با 0 متفاوت باشد، صفرهای ناچیز سرکوب می شوند.

اگر مقدار عدد از عدد مجاز برای تعداد ارقام انتخاب شده (digitNum) بیشتر شود، تابع "---" را روی نشانگر نمایش می دهد و false را برمی گرداند.

نمونه ای از برنامه خروجی عدد.

// شماره خروجی
#عبارتند از
#عبارتند از

// نشانگر نوع 1; خروجی های تخلیه 5،4،3،2; خروجی های بخش 6،7،8،9،10،11،12،13
Led4Digits disp(1, 5,4,3,2, 6,7,8,9,10,11,12,13);

void setup() (
MsTimer2::set(2، timerInterrupt); // وقفه تایمر 2 میلی ثانیه
MsTimer2::start(); // وقفه فعال کردن
}

حلقه خالی() (
برای (int i = 0; i< 12000; i++) {
disp.print(i, 4, 1);
تاخیر (50);
}
}

// کنترل کننده وقفه 2 میلی ثانیه
void timerInterrupt() (
disp.regen(); // بازسازی شاخص
}

دو روش آخر وضعیت بخش "H" - نقطه اعشار را تغییر نمی دهد. برای تغییر وضعیت یک نقطه می توانید از دستورات زیر استفاده کنید:

رقم |= 0x80; // نقطه اعشار را روشن کنید
رقم &= 0x7f; // نقطه اعشار را خاموش کنید

خروجی به شاخص های اعداد منفی (int).

اعداد منفی را می توان به صورت زیر خروجی داد:

  • علامت عدد را بررسی کنید.
  • اگر عدد منفی است، علامت منفی را در مهم ترین رقم چاپ کنید و علامت عدد را در تابع print() به مثبت تغییر دهید.
  • اگر عدد مثبت است، بیت علامت را خاموش کنید و با استفاده از تابع print() عدد را چاپ کنید.

در اینجا برنامه ای وجود دارد که این روش را نشان می دهد. اعداد از -999 تا 999 را خروجی می دهد.

// خروجی اعداد منفی
#عبارتند از
#عبارتند از

// نشانگر نوع 1; خروجی های تخلیه 5،4،3،2; خروجی های بخش 6،7،8،9،10،11،12،13
Led4Digits disp(1, 5,4,3,2, 6,7,8,9,10,11,12,13);

void setup() (
MsTimer2::set(2، timerInterrupt); // وقفه تایمر 2 میلی ثانیه
MsTimer2::start(); // وقفه فعال کردن
}

حلقه خالی() (

برای (int i = -999; i< 1000; i++) {

اگر من< 0) {
// عدد منفی است
disp.digit= B01000000; // امضا کردن -
disp.print(i * -1, 3, 1);
}
دیگر(
disp.digit= B00000000; // علامت را پاک کنید
disp.print(i, 3, 1);
}

تاخیر (50);
}
}

// کنترل کننده وقفه 2 میلی ثانیه
void timerInterrupt() (
disp.regen(); // بازسازی شاخص
}

خروجی به نشانگرهای اعداد کسری، فرمت شناور.

راه های زیادی برای نمایش اعداد ممیز شناور (شناور) با استفاده از توابع استاندارد زبان C وجود دارد. این اول از همه، تابع sprint() است. بسیار کند کار می کند، نیاز به تبدیل اضافی کدهای کاراکتر به کدهای اعشاری باینری دارد، شما باید یک نقطه را از یک رشته استخراج کنید. مشکلات مشابه با سایر توابع.

من از روش متفاوتی برای نمایش مقادیر متغیرهای شناور در نشانگرها استفاده می کنم. روش ساده، قابل اعتماد، سریع است. به عملیات زیر کاهش می یابد:

  • عدد ممیز شناور در 10 ضرب می شود و به توان مربوط به تعداد ارقام اعشاری مورد نیاز است. اگر باید 1 رقم اعشار را روی نشانگرها نمایش دهید، در 10 ضرب کنید، اگر 2 بود، سپس در 100، 3 رقم اعشار در 1000 ضرب کنید.
  • سپس، عدد ممیز شناور به صراحت به یک عدد صحیح (int) تبدیل می‌شود و با استفاده از تابع print() روی نشانگرها نمایش داده می‌شود.
  • یک نقطه در رقم مورد نیاز قرار می گیرد.

به عنوان مثال، خطوط زیر یک متغیر شناور با دو رقم اعشار به LED های هفت قسمتی خروجی می دهد.

float x = 2.12345;

disp.digit |= 0x80; //

عدد را در 100 ضرب می کنیم و با قرار دادن نقطه در رقم سوم حاصل را بر 100 تقسیم می کنیم.

در اینجا برنامه ای وجود دارد که اعداد ممیز شناور را از 0.00 تا 99.99 روی نشانگرها نمایش می دهد.

// خروجی ممیز شناور
#عبارتند از
#عبارتند از

// نشانگر نوع 1; خروجی های تخلیه 5،4،3،2; خروجی های بخش 6،7،8،9،10،11،12،13
Led4Digits disp(1, 5,4,3,2, 6,7,8,9,10,11,12,13);

void setup() (
MsTimer2::set(2، timerInterrupt); // وقفه تایمر 2 میلی ثانیه
MsTimer2::start(); // وقفه فعال کردن
}

حلقه خالی() (
شناور x = 0;

برای (int i = 0; i< 10000; i++) {
x += 0.01;

disp.print((int)(x * 100.), 4, 1);
disp.digit |= 0x80; // نقطه سطح سوم را روشن کنید

تاخیر (50);
}
}

//کنترل کننده وقفه 2 میلی ثانیه
void timerInterrupt() (
disp.regen(); // بازسازی شاخص
}

همانطور که می بینید، کتابخانه Led4Digits.h کار با نشانگرهای دیود ساطع نور هفت بخش (LED) متصل به برد آردوینو را بسیار ساده می کند. من مشابهی از چنین کتابخانه ای پیدا نکردم.

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

برخلاف آنالوگ هایش، کتابخانه Led4Digits.h:

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

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

دسته بندی: . می توانید آن را نشانه گذاری کنید.


بالا