ساعت ديجيتال
دسته بندي :
فنی و مهندسی »
برق، الکترونیک، مخابرات
چكيده:
در واقع يك تابلوي نمايشگر ديجيتالي، متن مورد نظر خود را از طريق تجهيزات ورودي همچون كيبورد و يا پورت سريال دريافت مي كند. و اين اطلاعات را در اختيار پردازنده قرار مي دهد. سپس پردازنده پس از آناليز اطلاعات آن را در حافظه تابلو ذخيره نموده. علاوه بر آن حافظه موجود در تابلو
مي تواند كدهاي برنامه را در خود نگهداري نمايد. از طرفي پردازنده با توجه به اطلاعات ذخيره شده، سيگنالهاي لازم را جهت نمايش توليد كرده و در اختيار درايورها قرار مي دهد. با توجه به اينكه نحوه چيدمان 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
خود برنامه ريزي توسط هر اتصال فيزيكي 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