چکیده:
در واقع یک تابلوی نمایشگر دیجیتالی، متن مورد نظر خود را از طریق
تجهیزات ورودی همچون کیبورد و یا پورت سریال دریافت می کند. و این اطلاعات
را در اختیار پردازنده قرار می دهد. سپس پردازنده پس از آنالیز اطلاعات آن
را در حافظه تابلو ذخیره نموده. علاوه بر آن حافظه موجود در تابلو
می
تواند کدهای برنامه را در خود نگهداری نماید. از طرفی پردازنده با توجه به
اطلاعات ذخیره شده، سیگنالهای لازم را جهت نمایش تولید کرده و در اختیار
درایورها قرار می دهد. با توجه به اینکه نحوه چیدمان LED ها در نمایشگر به
صورت ماتریسی می باشد، لذا دو دسته درایور برای راه اندازی ماتریس نیاز
است که شامل درایورهای سطر و درایورهای ستون می باشند. این درایورها با
توجه به فرامین دریافتی از سوی پردازنده، با روشن و خاموش نگاه داشتن LED
های موجود در ماتریس، باعث به نمایش درآمدن مطالب (اعم از متن و یا تصویر)
بر روی ماتریس خواهند شد.
به این تصویر نگاه کنید، تصویر صورتک خندان!
در نگاه اول تصویر به صورت یک تصویر کامل و یکپارچه به نظر می رسد. اما
اگر کمی با دقت بیشتر به آن دقت کنید و تا حد امکان آنرا بزرگ نمایید متوجه
خواهید شد که در واقع آن تصویر از نقاط (Pixel) متعددی تشکیل شده. پس
تصویر را می توان مجموعه نقاطی دانست که دارای رنگهای
متفاوتی اند. هر یک از این نقاط را یک جزء تصویر (Element Picture) و این خاصیت موزائیکی تصویر می نامند.
هر چه تعداد اجزاء تصویر در واحد سطح بیشتر باشد، وضوح بیشتر می باشد.
به عبارت دیگر تصویر به واقعیت نزدیکتر بوده، جزئیات آن بهتر دیده می شود.
در تابلوهای دیجیتالی نیز خاصیت موزائیکی وجود دارد. تصویر تابلو توسط
ماتریسی از LED ها ایجاد می گردد. در اینجا ابعاد یک جزء تصویر به اندازه
قطر یک LED است. که از یک فاصله معین چشم بیننده قادر به تمایز نقاط تصویر
ایجاد شده نبوده و یک تصویر را یکپارچه احساس می کند.
جهت تشکیل تصویر بر روی پانل تابلو، نیاز به روشن و خاموش نگه داشتن
LEDهای موجود بر روی تابلو متناسب با تصویر مورد نظر است. بنابراین نیاز
به کنترل تک تک LEDهای موجود در تابلو
می باشد. از طرفی هر LED دارای
دو پایه است (با فرض تک رنگ بودن) و در صورتی که ما یک پانل LED با ماتریس
10×10 داشته باشیم، دویست پایه و یا دویست سیم جهت کنترل داریم. مسلماً
استفاده از این تعداد سیم مقرون به صرفه نخواهد بود و باعث پیچیدگی مدار
خواهد شد. جهت برطرف کردن مشکل فوق می توان پایه های یکسان در LED ها را
به صورت سطری و ستونی به یکدیگر متصل نمود. به تصویر بالا دقت کنید.
همانطور که در تصویر مشاهده نمودید، در این آرایش آند تمامی LED های
موجود در یک سطر یکسان به هم متصل شدند، همچنین کاتد LED های موجود در یک
ستون نیز به هم اتصال داده
شده اند. شما در این حالت جهت روشن کردن هر
LED کافیست که سطری که آن LED در آنجا قرار دارد را به سطح ولتاژ مثبت
اتصال داده و سپس ستون مربوط به همان LED را به زمین مدار وصل کنید.
با این روش ما توانستیم از تعداد سیمهای مورد نیاز جهت کنترل LED ها
بکاهیم ولی در مقابل امکان کنترل همزمان تمامی سطرها را از دست دادیم و در
هر لحظه فقط و فقط میتوان LED های موجود در یک سطر و یا یک ستون را کنترل
نمود.
جهت نمایش نیازی هم به تمامی LED ها نیست و میتوان توسط جاروب نمودن سطرها و یا ستون ها نیز به نمایش تصویر در تابلو روان پرداخت.
به هر حال در صورت عدم استفاده از روش فوق شما مدار پیچیده ای خواهید
داشت، مثلاً برای کنترل LED ها موجود در تصویر شما حداقل باید از طریق 41
سیم ماتریس را کنترل می کردید. در حالی که با استفاده از روش ماتریسی شما
فقط به 13 سیم نیاز دارید. فقط در این حالت برنامه شما کمی پیچیده خواهد
شد.
مختصری راجع به AVR :
زبانهای سطح بالا یا همان HLL(HIGH LEVEL LANGUAGES) به سرعت در حال
تبدیل شدن به زبان برنامه نویسی استاندارد برای میکروکنترلرها (MCU) حتی
برای میکروهای 8 بیتی کوچک هستند. زبان برنامه نویسی BASIC و C بیشترین
استفاده را در برنامه نویسی میکروها دارند ولی در اکثر کاربردها کدهای
بیشتری را نسبت به زبان برنامه نویسی اسمبلی تولید می کنند. ATMEL ایجاد
تحولی در معماری، جهت کاهش کد به مقدار مینیمم را درک کرد که نتیجه این
تحول میکروکنترلرهای AVR هستند که علاوه بر کاهش و بهینه سازی مقدار کدها
به طور واقع عملیات را تنها در یک کلاک سیکل توسط معماری RISC (REDUCED
INSTRUCTION SET COMPUTER) انجام می دهند و از 32 رجیستر همه منظوره
(ACCUMULATORS) استفاده می کنند که باعث شده 4 تا 12 بار سریعتر از
میکروهای مورد استفاده کنونی باشند.
تکنولوژی حافظه کم مصرف غیرفرّار شرکت ATMEL برای برنامه ریزی AVR ها
مورد استفاده قرار گرفته است در نتیجه حافظه های FLASH و EEPROM در داخل
مدار قابل برنامه ریزی (ISP) هستند. میکروکنترلرهای اولیه AVR دارای 1 ، 2
و 8 کیلوبایت حافظه FLASH و به صورت کلمات 16 بیتی سازماندهی شده بودند.
AVR ها به عنوان میکروهای RISK با دستورات فراوان طراحی شده اند که باعث می شود حجم کد تولید شده کم و سرعت بالاتری بدست آید.
عملیات تک سیکل