پروژه ساعت دیجیتال

این فایل با فرمت WORD و آماده پرینت می باشد

چکیده:
در واقع یک تابلوی نمایشگر دیجیتالی، متن مورد نظر خود را از طریق تجهیزات ورودی همچون کیبورد و یا پورت سریال دریافت می کند  و این اطلاعات را در اختیار پردازنده قرار می دهد  سپس پردازنده پس از آنالیز اطلاعات آن را در حافظه تابلو ذخیره نموده  علاوه بر آن حافظه موجود در تابلو 
می تواند کدهای برنامه را در خود نگهداری نماید  از طرفی پردازنده با توجه به اطلاعات ذخیره شده، سیگنالهای لازم را جهت نمایش تولید کرده و در اختیار درایورها قرار می دهد  با توجه به اینکه نحوه چیدمان 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 با دستورات فراوان طراحی شده اند که باعث می شود حجم کد تولید شده کم و سرعت بالاتری بدست آید 
عملیات تک سیکل
با انجام تک سیکل دستورات، کلاک اسیلاتور با کلاک داخلی سیستم یکی می شود  هیچ تقسیم کننده ای در داخل AVR قرار ندارد که ایجاد اختلاف فاز کلاک کند  اکثر میکروها کلاک اسیلاتور به سیستم را با نسبت 1:4 یا 1:12 تقسیم می کنند که خود باعث کاهش سرعت می شود  بنابراین
AVR ها 4 تا 12 بار سرعتر و مصرف آنها نیز 12 - 4 بار نسبت به میکروکنترلرهای مصرفی کنونی کمتر است زیرا در تکنولوژی  CMOS‌استفاده شده در میکروهای AVR، مصرف توان سطح منطقی متناسب با فرکانس است 
نمودار زیر افزایش MIPS‌ ( MILLION INSTRUCTION PER SECONDS) را به علت انجام عملیات تک سیکل AVR (نسبت 1:1) در مقایسه با نسبت های 1:4 و 1:2 در دیگر میکروها را نشان میدهد.

دانلود مقاله ساعت دیجیتال

 

مشخصات

آخرین ارسال ها

آخرین جستجو ها