چكيده:در واقع يك تابلوي نمايشگر ديجيتالي، متن مورد نظر خود را از طريق تجهيزات ورودي همچون كيبورد و يا پورت سريال دريافت مي كند. و اين اطلاعات را در اختيار پردازنده قرار مي دهد. سپس پردازنده پس از آناليز اطلاعات آن را در حافظه تابلو ذخيره نموده. علاوه بر آن حافظه موجود در تابلو مي تواند كدهاي برنامه را در خود نگهداري نمايد. از طرفي پردازنده با توجه به اطلاعات ذخيره شده، سيگنالهاي لازم را جهت نمايش توليد كرده و در اختيار درايورها قرار مي دهد. با توجه به اينكه نحوه چيدمان 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 در ديگر ميكروها را نشان مي دهد. نمودار مقايسه افزايش MIPS/POWER Consumption در AVR با ديگر ميكروكنترلرهااز اين ساعت ديجيتال در معابر عمومي و شرکت ها و بانک ها و ساير ادارات استفاده مي شود.فهرست مطالبعنوان صفحهمقدمه.......................................... 1فصل اول: فيبر مدار چاپيانواع فيبر مدار چاپي........................... 4طريقه ساخت فيبر مدار چاپي..................... 4طريقه نصب قطعات بر روي فيبر مدارچاپي.......... 4رسم نقشه مربوط به خطوط پشت فيبر................ 4انتقال نقشه مدار بر روي فيبر................... 5فصل دوم: ميكروكنترلرهاAVR........................................... 7خصوصيات ATtiny10، ATtiny11، ATtiny12.................. 8ميكروكنترلر AVR................................ 10توان مصرفي پايين............................... 10نكات كليدي و سودمند حافظه فلش خود برنامه ريز... 11 راههاي مختلف براي عمل برنامه ريزي..................... 11خود برنامه ريزي توسط هر اتصال فيزيكي........... 11ISP............................................. 11فصل سوم:Bascomمعرفي كامپايلر Bascom.......................... 13معرفي منوهاي محيط Bascom........................ 13معرفي محيط شبيه سازي........................... 17معرفي محيط برنامه ريزي......................... 19ساخت programmerSTK200/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 مقدمه :-الكترونيكدرزندگيامروزامروزهپيشرفتدرالكترونيكايامكانرابهمادادهاستتابتوانيمانواعوسايلالكترونيكيمانند ماشينحسابهايجيبي،ساعترقمي،كامپيوتربرايكاربرددرصنعتدرتحقيقاتپزشكيوياطريقهتوليدكالابهطوراتوماتيكدركارخانجاتوبسياريازمواردديگررامستقيمياغيرمستقيممورداستفادهقراردهيم .اينهاهمهبهخاطرآناستكهفنآوريتوانستهمدارهايالكترونيكيراكهشاملاجزاءكوچكالكترونيكيهستند،برروييكقطعهكوچكسيليكنكهشايدسطحآنبه 5 ميليمترمربعبيشترنيست،جايدهد . فنآوريميكروالكترونيككهبهمدارهاييكپارچهمعروفبهآيسيياتراشهمربوطميگردد،دربهبودزندگيبشرتاثيربهسزاييداشتهوآنرابطوركليدگرگوننمودهاست . تراشههاهمچنينبرايمصارفيچونكنترلرباتهادركارخانجات،ياكنترلچراغهايراهنماييوياوسايلخانگيمانندماشينلباسشوييوغيرهمورداستفادهقرارميگيرند . ازطرفيتراشههاراميتوانمغزدستگاههاييچونميكروكامپيوترهاورباتهابهحسابآورد.-سيستمهايالكترونيكيپسازيكنظراجماليدرداخليكسيستمالكترونيكيماننديكدستگاهراديو،تلويزيونوياكامپيوترممكناستانسانازپيچيدگيآنوازيادگيريالكترونيكدلسردشود،امادرواقعآنطوركهبهنظرميرسند،دشوارنيستندواينبهدودليلاست .اولاينكهاگرچهسيستمهايالكترونيكياجزاوقطعاتزياديرادرخودجايميدهند،امابايددانستكهانواعكليايناجزااغلبمحدودوانگشتشمارهستند . ازمهمترينگروههايايناجزاميتوانمقاومتها،خازنها،القاگرها،ديودها،ترانزيستورها،كليدهاومبدلهارانامبرد . ايناجزازمانيكهبهصورتيكپارچهدريكتراشهقرارميگيرند،هريكهمانوظيفهخودرابهعنوانيكقطعهمجزاانجامميدهندوفقطاندازه فيزيكيآنكوچكترشدهاست .دوماينكهانواعسيستمهايالكترونيكيازتعدادمحدوديمدارهاياصوليويابلوكهاييكهوظيفههركدامبهكاراندازيقسمتيازسيستممثلاتقويتياشمارشاست،تشكيليافتهاندكهبهمنظورعملكردكلسيستم،آنرابهيكديگرمتصلمينمايند .-مدارهايخطيومدارهايرقميبسياريازسيستمهايالكترونيكيطوريطراحيشدهاندتابادريافتيكوروديالكتريكيوباپردازشآن،يكخروجيالكتريكيتوليدكردهتابتوانندكارمعينيراانجامدهند ( كهاينكاربدونسيستمموردنظر،بهتنهاييازعهدهوروديالكتريكيمذكورساختهنخواهدبود . )مدارهايالكترونيكيكهدرسيستمهاكاربرددارندبهدودستهمهمتقسيمميشوند : مدارهايخطي ( ياقياسي ) ومدارهايرقميياديجيتال .مدارهايخطيارنوعمدارهايتقويتكنندههستندكهباسيگنالهاييسروكاردارندكهاينسيگنالهامعرفكميتهاييمانندتغييراتصوتي،صدايانسانياموسيقيوغيرههستند . دربسياريازمدارهايخطيازترانزيستوربهعنوانتقويتكنندهصوتياستفادهميكنند .مدارهايديجيتالازنوعمدارهايكليدزنيهستند،كهمقداروروديياخروجيآنهادرهرزمانفقط ميتواندداراييكيازدوحالتصفريايكباشدواگرقراراستايندوحالتبههمتبديلشونداينتبديلحالتبسيارسريعاتفاقميافتد،درحاليكهمدارهايخطيدارايحالت مداومبودهواينحالاتبهتدريجدرواحدزمانقابلتغييرهستند.مدارهايرقميدارايفقطدوحالتهستندووروديوخروجيآنهابهاصطلاح (high) بهمعنيبالا،يعنينزديكبهميزانولتاژمنبعمدارويا (low) بهمعنيپايين،يعنينزديكصفرولتهستند .دراينمدارهاعملكليدزنيبهوسيلهترانزيستورانجامميگيرد . دستگاهشمارشگردرواقعيكمداررقمياستكهدرآنسيگنالتوليدشدهتوسطسلولنوري،يادرحالتصفرويادرحالتيكقرارميگيردواينامربستگيبهقطعشدنيانشدننوردارد . بنابراينمدارهايرقميعلائمالكتريكيرابهصورتپالسياضربهباخودحملميكنند . سيستميكهدرآنيكلامپتوسطديمركنترلوكموزيادميشود،يكسيستمحالتمداوموسيستميكههمانلامپراخاموشوروشنميكنديكسيستمدوحالتهاست،چونكهتوسطآنلامپمذكورياكاملاروشنياكاملاخاموشميشود . فصل اولفيبر مدار چاپي 1-1- انواع فيبر مدارچاپي:1- فيبر فنلي: اين فيبر به رنگ زرد پررنگ يا قهوه اي است و به راحتي سوراخ مي شود و لايه مس روي آن بر اثر حرارت زياد هويه به راحتي جدا مي شود. قيمت اين نوع از فيبر ارزان بوده و به همين دليل در ساخت انواع كيت از اين نوع از فيبرها استفاده مي شود.2- فيبر فايبرگلاس: اين نوع از فيبر سبز رنگ بوده و نسبت به فيبر فنلي محكم تر است و به سختي سوراخ مي شود. اين نوع فيبر در مقابل حرارت مقاومت خوبي دارد و در ساخت بيشتر مدارات ماشين حساب، كامپيوتر و ... از اين نوع فيبر استفاده مي شود.3- فيبر دو رو: فيبرهاي دورو هم از نوع فنلي و هم از نوع فايبر گلاس وجود دارند. تفاوت اين نوع از فيبرها با فيبرهاي معمولي اين است كه در اين نوع از فيبرها در هر دوطرف فيبر لايه مسي پوشانده شده است در نتيجه در ساخت مدارهاي بزرگ، با استفاده از اين فيبرها از حجم مدار كاسته مي شود.4- فيبرهاي آماده: در اين نوع از فيبرها جاي پايه قطعات مختلف بر روي فيبر سوراخ شده است و مي توانيم قطعات را بر روي فيبر قرار دهيم و توسط سيم اتصالات مربوطه را به هم وصل كنيم. 2-1- طريقه ساخت فيبر مدار چاپي:ابتدا فيبر را توسط تيغ موكن بري يا اره موئي به اندازه دلخواه مي بريم و سپس با استفاده از كاغذ سمباده سطح فيبر را تميز مي كنيم تا چربي هاي موجود بر روي فيبر پاك شود. 3-1- طريقه نصب قطعات بر روي فيبر مدارچاپي:دو روش براي نصب قطعات بر روي فيبر مدارچاپي وجود دارد. در صورتي كه جاي كمي براي نصب قطعات وجود داشته باشد مي توانيم قطعات را به صورت ايستاده بر روي فيبر قرار دهيم. در اين حالت فاصله پايه هاي قطعات به كمترين مقدار ممكن مي رسد. چنانچه بر روي فيبر مدارچاپي جاي كافي براي نصب قطعات وجود داشته باشد ميتوانيم قطعات را به صورت خوابيده لحيم كنيم.فاصله پايه هاي آي سي ها از يكديگر 5/2 ميليمتر و فاصله دو رديف پايه از هم 5/7 ميليمتر است. در مورد نصب آي سي هاي قدرت بايد فضاي كافي براي نصب رادياتور در نظر گرفته شود. 4-1- رسم نقشه مربوط به خطوط پشت فيبر:ابتدا نقشه مدار را رسم مي كنيم سپس خطوط بر روي نقشه را به نحوي رسم مي كنيم كه خطوط از روي هم عبور نكنند. سپس كاغذ را بر مي گردانيم و نقشه خطوط را بر روي قسمت مسي فيبر مدار چاپي منتقل مي كنيم. در رسم نقشه مدار براي اينكه خطوط از روي هم عبور نكنند ميتوانيم خطوط را از بين پايه هاي قطعات عبور دهيم. در صورتيكه خطوطي بايد از روي هم عبور كنند از جامپر استفاده مي كنيم. 5-1- انتقال نقشه مدار بر روي فيبر:با استفاده از Printer: پس از رسم خطوط مدار از طريق پروتل توسط يك كاغذ روغني از طرح مداري پرينت گرفته مي شود سپس كاغذ را بر روي فيبر قرار داده و با اتوي داغ بر روي آن كشيده مي شود. بدين ترتيب مدار بر روي فيبر چاپ مي گردد. براي از بين بردن مس هاي اضافي فيبر يك محلول اسيدي كه تركيبي از آب داغ و اسيد كروميك يا اسيدهيروفلورايد مي باشد درست كرده و فيبر را در آن قرار مي دهيم تا قسمت هاي اضافي مس از بين برود. فصل دوم ميكروكنترلرها ميكرو كنترلرهاهمانطور كه مي دانيد در واقع كامپيوترهاي بسيار كوچكي هستند كه داراي بخش هاي اصلي حافظه، پردازشگر، ورودي و خروجي مي باشند و قابل برنامه ريزي شدن هستند. برنامههاي مورد نظر كه ميبايستي توسط ميكروكنترلر اجرا شوند بايستي به زبان ماشين يا همان صفر و يك ها دربيايند و سپس در حافظه ميكروكنترلر جاي بگيرند.اين برنامه ها بسته به نوع ميكروكنترلري كه استفاده مي كنيم مي تواند در كامپايلرهاي مختلفي نوشته شوند و آن كامپايلر برنامه را پس از رفع عيب، كامپايل يا اصطلاحاً به زبان ماشين ترجمه مي نمايد و يك فايل از برنامه كه به زبان ماشين يا همان صفر و يك هاست به ما تحويل مي دهد.دستورات اين فايل بايستي توسط نرم افزارهاي برنامه ريزي كننده يا همان پروگرامر وارد حافظه ميكروكنترلر شود. علاوه بر نرم افزار پروگرامر، نياز به يك مدار ساده نيز داريم كه برنامه را از كامپيوتري كه در آن ذخيره شده به حافظه ميكروكنترلر منتقل نمايد. اين مدار همان سخت افزار پروگرامر مي باشد.در هر ميكروكنترلر بعضي از پين ها علاوه بر كاركرد خود در حالت اجراي برنامه، به عنوان پايه هاي برنامه ريزي ميكروكنترلر نيز تعريف شده اند، با اتصال اين پايه ها به كامپيوتر از طريق يكي از پورتهاي كامپيوتر كه مي تواند پورت سريال يا موازي و يا USB باشد، و اجراي نرم افزار پروگرامر، كدهاي زبان ماشين يا همان دستورات ما كه قرار است ميكروكنترلر اجرا نمايد و تبديل به صفر و يك شده اند، وارد حافظه ميكروكنترلر شده و از آنجا آماده اجرا توسط ميكرو خواهند شد.مدار سخت افزاري پروگرامرها اگرچه بسيار ساده و قابل ساخت در آزمايشگاه مي باشند، اما معمولاً به دليل استفاده مكرر و يا عدم ساخت دقيق و بادوام، ممكن است خوب كار نكنند و يا زود دچار آسيب شوند. از اين رو معمولاً برخي شركت ها پروگرامرهاي هر نوع ميكروكنترلر را به صورت آماده ساخته و در معرض فروش و استفاده قرار مي دهند كه اين نوع پروگرامرها از دقت و كارايي بهتري برخوردارند. در اين پروژه سخت افزار پروگرامر به پين هي GND، MISO، SCK و RESET پورت B متصل شده است. 1-2- AVRيكي از انواع ميكروكنترلرهاي جديد كه در بازار الكترونيك ارائه شده است، ميكروكنترلرهاي شركت ATMEL با نام ميكروكنترلرهاي خانواده AVRمي باشد. اين ميكروكنترلرهاي هشت بيتي به دليل قابليت برنامه نويسي توسط كامپايلر زبان هاي سطح بالا (HLL) بسيار مورد توجه قرار مي گيرند. اين ميكروكنترلرها از معماري RISC برخوردارند و شركت ATMEL سعي نموده است با استفاده از معماري پيشرفته و دستورات بهينه، حجم كدتوليد شده را كم و سرعت اجراي برنامه را بالا ببرد. يكي از مشخصات اين نوع ميكروكنترلرها دارا بودن 32 رجيستر همه منظوره مي باشد. همچنين در اين ميكروكنترلرها از حافظه هاي كم مصرف و غير فرار FLASH و EEPROM استفاده مي شود، كامپايلرهايي به زبان BASIC و C كه زبانهاي پركاربرد در دنيا هستند براي اين نوع ميكروها طراحي شده است و علاوه بر آن از زبان اسمبلي نيز همچنان مي توان براي برنامه نويسي استفاده كرد. به عنوان مثال كامپايلر BASCOM با زبان BASIC براي برنامه نويسي اين نوع از ميكروكنترلرها مي تواند مورد استفاده قرار گيرد.ميكروكنترلرهاي AVR به سه دسته اصلي تقيسم مي شوند:سري MEGAAVR ميكروكنترلرهاي نوع MEGAAVR داراي قابليت هاي بيشتري نسبت به دو سري ديگر هستند.
پایان نامه درباره ساعت دیجیتال 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 در ديگر ميكروها را نشان مي دهد. نمودار مقايسه افزايش MIPS/POWER Consumption در AVR با ديگر ميكروكنترلرهااز اين ساعت ديجيتال در معابر عمومي و شرکت ها و بانک ها و ساير ادارات استفاده مي شود.فهرست مطالبعنوان صفحهمقدمه.......................................... 1فصل اول: فيبر مدار چاپيانواع فيبر مدار چاپي........................... 4طريقه ساخت فيبر مدار چاپي..................... 4طريقه نصب قطعات بر روي فيبر مدارچاپي.......... 4رسم نقشه مربوط به خطوط پشت فيبر................ 4انتقال نقشه مدار بر روي فيبر................... 5فصل دوم: ميكروكنترلرهاAVR........................................... 7خصوصيات ATtiny10، ATtiny11، ATtiny12.................. 8ميكروكنترلر AVR................................ 10توان مصرفي پايين............................... 10نكات كليدي و سودمند حافظه فلش خود برنامه ريز... 11 راههاي مختلف براي عمل برنامه ريزي..................... 11خود برنامه ريزي توسط هر اتصال فيزيكي........... 11ISP............................................. 11فصل سوم:Bascomمعرفي كامپايلر Bascom.......................... 13معرفي منوهاي محيط Bascom........................ 13معرفي محيط شبيه سازي........................... 17معرفي محيط برنامه ريزي......................... 19ساخت programmerSTK200/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 مقدمه :-الكترونيكدرزندگيامروزامروزهپيشرفتدرالكترونيكايامكانرابهمادادهاستتابتوانيمانواعوسايلالكترونيكيمانند ماشينحسابهايجيبي،ساعترقمي،كامپيوتربرايكاربرددرصنعتدرتحقيقاتپزشكيوياطريقهتوليدكالابهطوراتوماتيكدركارخانجاتوبسياريازمواردديگررامستقيمياغيرمستقيممورداستفادهقراردهيم .اينهاهمهبهخاطرآناستكهفنآوريتوانستهمدارهايالكترونيكيراكهشاملاجزاءكوچكالكترونيكيهستند،برروييكقطعهكوچكسيليكنكهشايدسطحآنبه 5 ميليمترمربعبيشترنيست،جايدهد . فنآوريميكروالكترونيككهبهمدارهاييكپارچهمعروفبهآيسيياتراشهمربوطميگردد،دربهبودزندگيبشرتاثيربهسزاييداشتهوآنرابطوركليدگرگوننمودهاست . تراشههاهمچنينبرايمصارفيچونكنترلرباتهادركارخانجات،ياكنترلچراغهايراهنماييوياوسايلخانگيمانندماشينلباسشوييوغيرهمورداستفادهقرارميگيرند . ازطرفيتراشههاراميتوانمغزدستگاههاييچونميكروكامپيوترهاورباتهابهحسابآورد.-سيستمهايالكترونيكيپسازيكنظراجماليدرداخليكسيستمالكترونيكيماننديكدستگاهراديو،تلويزيونوياكامپيوترممكناستانسانازپيچيدگيآنوازيادگيريالكترونيكدلسردشود،امادرواقعآنطوركهبهنظرميرسند،دشوارنيستندواينبهدودليلاست .اولاينكهاگرچهسيستمهايالكترونيكياجزاوقطعاتزياديرادرخودجايميدهند،امابايددانستكهانواعكليايناجزااغلبمحدودوانگشتشمارهستند . ازمهمترينگروههايايناجزاميتوانمقاومتها،خازنها،القاگرها،ديودها،ترانزيستورها،كليدهاومبدلهارانامبرد . ايناجزازمانيكهبهصورتيكپارچهدريكتراشهقرارميگيرند،هريكهمانوظيفهخودرابهعنوانيكقطعهمجزاانجامميدهندوفقطاندازه فيزيكيآنكوچكترشدهاست .دوماينكهانواعسيستمهايالكترونيكيازتعدادمحدوديمدارهاياصوليويابلوكهاييكهوظيفههركدامبهكاراندازيقسمتيازسيستممثلاتقويتياشمارشاست،تشكيليافتهاندكهبهمنظورعملكردكلسيستم،آنرابهيكديگرمتصلمينمايند .-مدارهايخطيومدارهايرقميبسياريازسيستمهايالكترونيكيطوريطراحيشدهاندتابادريافتيكوروديالكتريكيوباپردازشآن،يكخروجيالكتريكيتوليدكردهتابتوانندكارمعينيراانجامدهند ( كهاينكاربدونسيستمموردنظر،بهتنهاييازعهدهوروديالكتريكيمذكورساختهنخواهدبود . )مدارهايالكترونيكيكهدرسيستمهاكاربرددارندبهدودستهمهمتقسيمميشوند : مدارهايخطي ( ياقياسي ) ومدارهايرقميياديجيتال .مدارهايخطيارنوعمدارهايتقويتكنندههستندكهباسيگنالهاييسروكاردارندكهاينسيگنالهامعرفكميتهاييمانندتغييراتصوتي،صدايانسانياموسيقيوغيرههستند . دربسياريازمدارهايخطيازترانزيستوربهعنوانتقويتكنندهصوتياستفادهميكنند .مدارهايديجيتالازنوعمدارهايكليدزنيهستند،كهمقداروروديياخروجيآنهادرهرزمانفقط ميتواندداراييكيازدوحالتصفريايكباشدواگرقراراستايندوحالتبههمتبديلشونداينتبديلحالتبسيارسريعاتفاقميافتد،درحاليكهمدارهايخطيدارايحالت مداومبودهواينحالاتبهتدريجدرواحدزمانقابلتغييرهستند.مدارهايرقميدارايفقطدوحالتهستندووروديوخروجيآنهابهاصطلاح (high) بهمعنيبالا،يعنينزديكبهميزانولتاژمنبعمدارويا (low) بهمعنيپايين،يعنينزديكصفرولتهستند .دراينمدارهاعملكليدزنيبهوسيلهترانزيستورانجامميگيرد . دستگاهشمارشگردرواقعيكمداررقمياستكهدرآنسيگنالتوليدشدهتوسطسلولنوري،يادرحالتصفرويادرحالتيكقرارميگيردواينامربستگيبهقطعشدنيانشدننوردارد . بنابراينمدارهايرقميعلائمالكتريكيرابهصورتپالسياضربهباخودحملميكنند . سيستميكهدرآنيكلامپتوسطديمركنترلوكموزيادميشود،يكسيستمحالتمداوموسيستميكههمانلامپراخاموشوروشنميكنديكسيستمدوحالتهاست،چونكهتوسطآنلامپمذكورياكاملاروشنياكاملاخاموشميشود . فصل اولفيبر مدار چاپي 1-1- انواع فيبر مدارچاپي:1- فيبر فنلي: اين فيبر به رنگ زرد پررنگ يا قهوه اي است و به راحتي سوراخ مي شود و لايه مس روي آن بر اثر حرارت زياد هويه به راحتي جدا مي شود. قيمت اين نوع از فيبر ارزان بوده و به همين دليل در ساخت انواع كيت از اين نوع از فيبرها استفاده مي شود.2- فيبر فايبرگلاس: اين نوع از فيبر سبز رنگ بوده و نسبت به فيبر فنلي محكم تر است و به سختي سوراخ مي شود. اين نوع فيبر در مقابل حرارت مقاومت خوبي دارد و در ساخت بيشتر مدارات ماشين حساب، كامپيوتر و ... از اين نوع فيبر استفاده مي شود.3- فيبر دو رو: فيبرهاي دورو هم از نوع فنلي و هم از نوع فايبر گلاس وجود دارند. تفاوت اين نوع از فيبرها با فيبرهاي معمولي اين است كه در اين نوع از فيبرها در هر دوطرف فيبر لايه مسي پوشانده شده است در نتيجه در ساخت مدارهاي بزرگ، با استفاده از اين فيبرها از حجم مدار كاسته مي شود.4- فيبرهاي آماده: در اين نوع از فيبرها جاي پايه قطعات مختلف بر روي فيبر سوراخ شده است و مي توانيم قطعات را بر روي فيبر قرار دهيم و توسط سيم اتصالات مربوطه را به هم وصل كنيم. 2-1- طريقه ساخت فيبر مدار چاپي:ابتدا فيبر را توسط تيغ موكن بري يا اره موئي به اندازه دلخواه مي بريم و سپس با استفاده از كاغذ سمباده سطح فيبر را تميز مي كنيم تا چربي هاي موجود بر روي فيبر پاك شود. 3-1- طريقه نصب قطعات بر روي فيبر مدارچاپي:دو روش براي نصب قطعات بر روي فيبر مدارچاپي وجود دارد. در صورتي كه جاي كمي براي نصب قطعات وجود داشته باشد مي توانيم قطعات را به صورت ايستاده بر روي فيبر قرار دهيم. در اين حالت فاصله پايه هاي قطعات به كمترين مقدار ممكن مي رسد. چنانچه بر روي فيبر مدارچاپي جاي كافي براي نصب قطعات وجود داشته باشد ميتوانيم قطعات را به صورت خوابيده لحيم كنيم.فاصله پايه هاي آي سي ها از يكديگر 5/2 ميليمتر و فاصله دو رديف پايه از هم 5/7 ميليمتر است. در مورد نصب آي سي هاي قدرت بايد فضاي كافي براي نصب رادياتور در نظر گرفته شود. 4-1- رسم نقشه مربوط به خطوط پشت فيبر:ابتدا نقشه مدار را رسم مي كنيم سپس خطوط بر روي نقشه را به نحوي رسم مي كنيم كه خطوط از روي هم عبور نكنند. سپس كاغذ را بر مي گردانيم و نقشه خطوط را بر روي قسمت مسي فيبر مدار چاپي منتقل مي كنيم. در رسم نقشه مدار براي اينكه خطوط از روي هم عبور نكنند ميتوانيم خطوط را از بين پايه هاي قطعات عبور دهيم. در صورتيكه خطوطي بايد از روي هم عبور كنند از جامپر استفاده مي كنيم. 5-1- انتقال نقشه مدار بر روي فيبر:با استفاده از Printer: پس از رسم خطوط مدار از طريق پروتل توسط يك كاغذ روغني از طرح مداري پرينت گرفته مي شود سپس كاغذ را بر روي فيبر قرار داده و با اتوي داغ بر روي آن كشيده مي شود. بدين ترتيب مدار بر روي فيبر چاپ مي گردد. براي از بين بردن مس هاي اضافي فيبر يك محلول اسيدي كه تركيبي از آب داغ و اسيد كروميك يا اسيدهيروفلورايد مي باشد درست كرده و فيبر را در آن قرار مي دهيم تا قسمت هاي اضافي مس از بين برود. فصل دوم ميكروكنترلرها ميكرو كنترلرهاهمانطور كه مي دانيد در واقع كامپيوترهاي بسيار كوچكي هستند كه داراي بخش هاي اصلي حافظه، پردازشگر، ورودي و خروجي مي باشند و قابل برنامه ريزي شدن هستند. برنامههاي مورد نظر كه ميبايستي توسط ميكروكنترلر اجرا شوند بايستي به زبان ماشين يا همان صفر و يك ها دربيايند و سپس در حافظه ميكروكنترلر جاي بگيرند.اين برنامه ها بسته به نوع ميكروكنترلري كه استفاده مي كنيم مي تواند در كامپايلرهاي مختلفي نوشته شوند و آن كامپايلر برنامه را پس از رفع عيب، كامپايل يا اصطلاحاً به زبان ماشين ترجمه مي نمايد و يك فايل از برنامه كه به زبان ماشين يا همان صفر و يك هاست به ما تحويل مي دهد.دستورات اين فايل بايستي توسط نرم افزارهاي برنامه ريزي كننده يا همان پروگرامر وارد حافظه ميكروكنترلر شود. علاوه بر نرم افزار پروگرامر، نياز به يك مدار ساده نيز داريم كه برنامه را از كامپيوتري كه در آن ذخيره شده به حافظه ميكروكنترلر منتقل نمايد. اين مدار همان سخت افزار پروگرامر مي باشد.در هر ميكروكنترلر بعضي از پين ها علاوه بر كاركرد خود در حالت اجراي برنامه، به عنوان پايه هاي برنامه ريزي ميكروكنترلر نيز تعريف شده اند، با اتصال اين پايه ها به كامپيوتر از طريق يكي از پورتهاي كامپيوتر كه مي تواند پورت سريال يا موازي و يا USB باشد، و اجراي نرم افزار پروگرامر، كدهاي زبان ماشين يا همان دستورات ما كه قرار است ميكروكنترلر اجرا نمايد و تبديل به صفر و يك شده اند، وارد حافظه ميكروكنترلر شده و از آنجا آماده اجرا توسط ميكرو خواهند شد.مدار سخت افزاري پروگرامرها اگرچه بسيار ساده و قابل ساخت در آزمايشگاه مي باشند، اما معمولاً به دليل استفاده مكرر و يا عدم ساخت دقيق و بادوام، ممكن است خوب كار نكنند و يا زود دچار آسيب شوند. از اين رو معمولاً برخي شركت ها پروگرامرهاي هر نوع ميكروكنترلر را به صورت آماده ساخته و در معرض فروش و استفاده قرار مي دهند كه اين نوع پروگرامرها از دقت و كارايي بهتري برخوردارند. در اين پروژه سخت افزار پروگرامر به پين هي GND، MISO، SCK و RESET پورت B متصل شده است. 1-2- AVRيكي از انواع ميكروكنترلرهاي جديد كه در بازار الكترونيك ارائه شده است، ميكروكنترلرهاي شركت ATMEL با نام ميكروكنترلرهاي خانواده AVRمي باشد. اين ميكروكنترلرهاي هشت بيتي به دليل قابليت برنامه نويسي توسط كامپايلر زبان هاي سطح بالا (HLL) بسيار مورد توجه قرار مي گيرند. اين ميكروكنترلرها از معماري RISC برخوردارند و شركت ATMEL سعي نموده است با استفاده از معماري پيشرفته و دستورات بهينه، حجم كدتوليد شده را كم و سرعت اجراي برنامه را بالا ببرد. يكي از مشخصات اين نوع ميكروكنترلرها دارا بودن 32 رجيستر همه منظوره مي باشد. همچنين در اين ميكروكنترلرها از حافظه هاي كم مصرف و غير فرار FLASH و EEPROM استفاده مي شود، كامپايلرهايي به زبان BASIC و C كه زبانهاي پركاربرد در دنيا هستند براي اين نوع ميكروها طراحي شده است و علاوه بر آن از زبان اسمبلي نيز همچنان مي توان براي برنامه نويسي استفاده كرد. به عنوان مثال كامپايلر BASCOM با زبان BASIC براي برنامه نويسي اين نوع از ميكروكنترلرها مي تواند مورد استفاده قرار گيرد.ميكروكنترلرهاي AVR به سه دسته اصلي تقيسم مي شوند:سري MEGAAVR ميكروكنترلرهاي نوع MEGAAVR داراي قابليت هاي بيشتري نسبت به دو سري ديگر هستند.