پایان نامه و پروژه پایانی كارشناسی در رشته مهندسی برق – الكترونیك با عنوان ساعت دیجیتال
چكیده:
در واقع یك تابلوی نمایشگر دیجیتالی، متن مورد نظر خود را از طریق تجهیزات ورودی همچون كیبورد و یا پورت سریال دریافت می كند. و این اطلاعات را در اختیار پردازنده قرار می دهد. سپس پردازنده پس از آنالیز اطلاعات آن را در حافظه تابلو ذخیره نموده. علاوه بر آن حافظه موجود در تابلومی تواند كدهای برنامه را در خود نگهداری نماید. از طرفی پردازنده با توجه به اطلاعات ذخیره شده، سیگنالهای لازم را جهت نمایش تولید كرده و در اختیار درایورها قرار می دهد.
با توجه به اینكه نحوه چیدمان LED ها در نمایشگر به صورت ماتریسی می باشد، لذا دو دسته درایور برای راه اندازی ماتریس نیاز است كه شامل درایورهای سطر و درایورهای ستون می باشند. این درایورها با توجه به فرامین دریافتی از سوی پردازنده، با روشن و خاموش نگاه داشتن LED های موجود در ماتریس، باعث به نمایش درآمدن مطالب (اعم از متن و یا تصویر) بر روی ماتریس خواهند شد.
هر چه تعداد اجزاء تصویر در واحد سطح بیشتر باشد، وضوح بیشتر می باشد. به عبارت دیگر تصویر به واقعیت نزدیكتر بوده، جزئیات آن بهتر دیده می شود. در تابلوهای دیجیتالی نیز خاصیت موزائیكی وجود دارد. تصویر تابلو توسط ماتریسی از 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 بیتی سازماندهی شده بودند.
فهرست مطالب
عنوان صفحه
مقدمه.......................................... 1
فصل اول: فیبر مدار چاپی
انواع فیبر مدار چاپی........................... 4
طریقه ساخت فیبر مدار چاپی..................... 4
طریقه نصب قطعات بر روی فیبر مدارچاپی.......... 4
رسم نقشه مربوط به خطوط پشت فیبر................ 4
انتقال نقشه مدار بر روی فیبر................... 5
فصل دوم: میكروكنترلرها
AVR........................................... 7
خصوصیات ATtiny10، ATtiny11، ATtiny12.................. 8
میكروكنترلر AVR................................ 10
توان مصرفی پایین............................... 10
نكات كلیدی و سودمند حافظه فلش خود برنامه ریز... 11 راههای مختلف برای عمل برنامه ریزی........................... 11
خود برنامه ریزی توسط هر اتصال فیزیكی........... 11
ISP............................................. 11
فصل سوم:Bascom
معرفی كامپایلر Bascom.......................... 13
معرفی منوهای محیط Bascom........................ 13
معرفی محیط شبیه سازی........................... 17
معرفی محیط برنامه ریزی......................... 19
ساخت programmer STK200/300........................... 20
فصل چهارم:معرفی IC ATM8
معرفی پایه های IC .............................. 24
فصل پنجم: نرم افزار
بدنه یك برنامه در محیط Bascom.................. 31
معرفی میكرو.................................... 31
كریستال........................................ 31
اسمبلی و بیسیك................................. 32
آدرس شروع برنامه ریزی حافظه Flash................ 32
تعیین كلاك...................................... 32
پایان برنامه................................... 33
اعداد و متغیرها و جداول Look up.................. 33
دیمانسیون متغیر................................ 33
دستور Const...................................... 34
دستور CHR...................................... 35
دستور INCR..................................... 35
دستور DECR..................................... 35
دستور CHEcksum.................................. 36
دستور Low...................................... 36
دستور High...................................... 36
دستور Rotate..................................... 36
تابع format...................................... 37
جدولLook up...................................... 38
دستور Hex....................................... 38
رجیسترها و آدرس های حافظه...................... 39
دستور Set....................................... 39
دستور Reset...................................... 39
دستور Bitwait..................................... 39
دستور Out....................................... 40
دستور INP....................................... 40
دستورالعمل های حلقه و پرش...................... 40
دستور GoTo و JMP ............................... 40
دستور Do-Loop.................................... 41
دستور for- Next.................................... 41
دستور f......................................... 42
دستور Case...................................... 43
فصل ششم: پیكره بندی تایمر/كانتر صفر و یك
پیكره بندی تایمر/كانتر صفر در محیط Bascom...... 46
پیكره بندی تایمر/كانتر یك در محیط Bascom........ 47
معرفی زیربرنامه................................ 48
فصل هفتم : طراحی پروژه ........................ 50
ضمائم ......................................... 60
مراجع 88