چكيده
هدف از انجام اين پروژه طراحي و ساخت کنترل دماي ديجيتالي تابلوهاي برق با استفاده از ميکروکنترولر AT M32 مي باشند. دستگاهي که طراحي و ساخته شده علاوه بر قسمت اتوماتيک داراي بخش است که مي توان دما ، فن و هيتر را بصورت دستي تغيير وضعيت داد. ت

حقق اين پروژه کمک شاياني به کنترل دما با دقت بالا در محل هاي کار ، کارخانجات و بخصوص کارخانه هاي جوجه کشي مي باشد . طبق برنامه اي که براي اين پروژه نوشته شده است دماهايي که بصورت دستي تغيير ميکنند ، رنج محدودي دارند که اين رنج توسط سازنده مشخص شده است.

فهرست مطالب
صفحه عنوان
۹ پيشگفتار
۱۰ فصل اول
۱۱ فصل اول: مقدمه اي بر AVR
12 1-1ميكرو كنترل هاي TINY AVR
18 1-2 ميكرو كنترلرهاي AT90S
22 1-3 ميكروكنترلر هاي MEGAAVR
28 1-4 خصوصيات داخلي MEGA 32
48 فصل دوم

۴۹ فصل دوم: برنامه Bascom و برنامه نويسي آن
۴۹ ۲-۱ برنامه bascom
51 2-2 محيط برنامه نويسي
۵۶ فصل سوم
۵۷ فصل سوم : سنسور هاي دما
۵۷ ۳-۱ ترمومترهاي شيشه اي
۵۷ ۳-۲ ترمومترهاي Bimetal
58 3-3 ترمومترهاي فشاري
۵۸ ۳-۴ ترموکوپل
۵۹ ۳-۵ اندازه گيري دما از طريق مقاومت اهمي
۶۰ ۶-۳ lm 35
61 فصل چهارم

۶۲ ر فصل چهارم :طراحي و ساخت يک کنتر ل دماي ديجيتالي تابلو هاي برق
۶۲ ۴-۱ برنامه و توضيح آن
۷۳ ۴-۲ شکل مدار و توضيحاتي در مورد آن
۷۵ نتيجه گيري
۷۶ مراجع

پيشگفتار

با ورود ميكرو كنترلر ها به بازار الكترونيك و استفاده از آنها كار را بر روي بسياري از قسمتهاي الكترونيك آسان تر نمود و به خصوص در صنعت با در دست گرفتن كنترل قسمتهاي مختلف يك كارگاه يا كارخانه صنعتي منجر به توليد بيشتر با كيفيت بهتر شد و افق وسيعي از كار را بر روي سازندگان قطعات الكترونيك گشود. نکته اي كه در صنعت بسيار مهم به نظر مي رسد اندازه گيري پارامتر هايي مثل دما ، فشار و ميزان جابه جايي اجسام و … مي باشد كه كار ها توسط سنسور هاي مختلف انجام مي شود اما روز به روز بر تعداد سنسورها افزوده شده و سنسورهاي بهتر با قابليت هاي بيشتري به بازار عرضه مي گردد و همچنين دستگاه هايي که توسط ميکرو کنترلر ها ساخته مي شود داري انواع مختلفي بوده و کارهاي متفاوتي انجام مي دهند يکي ازاين دستگاه ها دستگاه کنترل دماي تابلو و اتاقک ها مي باشند که توسط ميکروکنترلر ها و حتي بردهاي الکترونيکي نيز ساخته مي شوند.

پروژه مورد توجه و حائز اهميت در اين پايان نامه در خصوص کنترل دما تابلو هاي برق مي باشد که مي توان براي ماشينهاي جوجه کشي ، محل کار ، تابلو هاي برق و غيره ميتوان استفاده کرد.
در اين پايان نامه ابتدا توضيح مختصري راجع به ميکرو کنترلر هاي AVR آورده شده در بخش هاي بعد يک توضيح راجع به برنامه bascom ،انواع سنسورهاي دما مي خوانيد و در پايان نيز شکل مدار و برنامه نوشته شده در ميکرو آورده شده است.

فصل اول

مقدمه اي بر AVR

فصل اول : مقدمه اي بر AVR
در اين فصل هدف بر اين است كه يك توضيح كلي در مورد AVR كفته شود
يكي از جديد ترين ميكروكنترلر هاي قوي عرضه شده به بازار الكترونيك متغلق به شركت ATMEL به نام ميكروكنترلرهاي AVR مي باشد اين ميكرو كنترلر هشت بيتي به علت وجود كامپايلر هاي قوي به زبان سطح بالا مورد استقبال فراواني قرار گرفت يادگيري و استفاده از اين ميكروكنترلر بسيار ساده مي باشد و دامنه استفاده آن بسيار وسيع مي باشد
از جمله مزيت هاي آن حافظه بالاتر نسبت به ميكروكنترلر هاي قبلي و وجود دستورات وسيع ميباشد و همچنين بر خلاف زبان هاي سطح بالا كه كدهاي بيشتري را نسبت به زبان اسمبلي توليد ميكردند توليد كدهارا به مينيمم رسانده و با ايجاد تحولي عظيم در معماري ميكروكنترلر ها عمليات را تنها در يك سيكل ماشين انجام مي دهد و از ۳۲ رجيستر همه منظوره استفاده مي كند كه اين خود باعث شده كه ۴ تا ۱۲ بار سريعتر از ميكروكنترل هاي قبلي باشد و داراي حافظه كم مصرف غيرفرار نيز مي باشند كه و با به كار بردن تكنولوژي شركت ATMEL حافظه هاي FLASH وEEPROM در داخل مدار قابل برنامه ريزي هستند

اكثر ميكرو كنترلر ها كلاك اسيلاتور به سيستم را را با نسبت ۴/۱ يا ۱۲/۱ تقسيم مي كنند كه خود باعث كاهش سرعت مي شود امادر AVR كلاك اسيلاتور با كلاك داخلي سيستم يكي مي شود و هيچ تقسيم كننده اي در داخل AVR وجود ندارد و بنابراين اختلاف فاز كلاك وجود ندارد.
تا قبل از به وجود آمدن AVR ها بيشترين توجه به زبان اسمبلي مي شد و توجه خيلي كمي در مورد برنامه نويسي ميكروكنترل ها به زبان هاي سطح بالا مي شد.

هدف ATMEL طراحي و معماري ميكروكنترل هايي بود كه هم براي زبان اسمبلي و هم زبان هاي سطح بالا مفيد باشند به طور مثال در برنامه نويسي C و BASIC مي توان يك متغير محلي به جاي متغير سراسري در داخل زير برنامه تعريف كرد كه در اين صورت در زمان اجراي يك زير برنامه مكاني از حافظه RAM براي متغيير اشغال مي شود در صورتي كه اگر متغييري به عنوان متغيير سراسري تعريف شود در تمام وقت مكاني از حافظه FLASH را اشغال مي كند.

همچنين براي دسترسي سريعتر به منغييرهاي محلي و كاهش كد نياز به افزايش رجيسترهاي همه منظوره است AVR ها داراي ۳۲ رجيستر هستند كه مستقيم به LOGIC ALU منصل شده اند و تنها در يككلاك سيكل به اين واحد دسترسي پيدا مي كنند. سه جفت از اين از اين رجيستر ها مي توانند به عنوان رجيستر ۱۶ بيتي استفاده شوند.
ميكرو كنترلر هاي AVR به سه نوع AT90S ,‌ TINY AVR و MEGAAVR تقسيم بندي شده اند .

۱-۱ميكرو كنترل هاي TINY AVR
به طوركلي و نمونه مي توان به چند تا از ميكروكنترلر هاي معروف AVR اشاره كرد كه عبارتند از ATTINY 10 , 11 , 12 , 15L , 26 , 26L , 28L , 28
شکل ۱

برخي از خصوصيات ATTINY 10,11,12
• كارآيي بالا و توان مصرفي كم
• داراي ۹۰ دستورالعمل با كارآيي بالا كه اكثرا تنها در ي
• ك سيكل اجرا مي شوند
• ۸*۳۲ رجيستر كاربردي
• سرعتي تا ۸ مگاهرتز

• يك كيلوبايت حافظه FLASH داخلي قابل برنامه ريزي و پايداري آن تا ۱۰۰۰ بار خواندن و نوشتن
• ۶۴ بايت حافظه EEPROM داخلي قابل برنامه ريزي و پايداري آن تا ۱۰۰۰۰۰ بار نوشتن و پاك كردن
• قفل برنامه FLASH و حافظه EEPROM
• يك تايمر-كانتر ۸ بيتي
• يك مقايسه گر آنالوگ داخلي
• وقفه در اثر تغيير وضعيت پايه
• منابع وقفه داخلي و خارجي

• ارتباط سريال SPI در ATTINY 12
• قابل انتخاب بودن اسيلاتور داخلي براي ATTINY 12
• در حالت فعال ۲٫۲ ميلي آمپر و در بيكاري ۵/ ميلي آمپر
• ولتاژ عملياتي ۱٫۵ تا ۵٫۵ ولت براي ATTINY 12
• فركانس كاري تا ۸ مگاهرتز

اين سري از AVR ها همگي ۸ پايه بوده و كمترين تعداد پايه را در AVR ها دارا مي باشند.
اما فيوز بيت هاي اين خانواده كه در ATTINY 11 ب

رابر ۵ فيوز بيت و در ATTINY 12 داراي ۸ فيوز بيت مي باشند
فيوز بيت ها بيت هاي قابل برنامه ريزي هستند كه با پاك شدن ميكرو تاثيري نمي بينند و در واقع تعيين كننده برخي از شرايط كاري ميكرو مي باشند پيشنهاد مي شود جهت آشنايي بيشتر با اين فيوز بيت ها به كتاب هايي كه در زمينه ميكرو كنترلر هاي avr توشتهشده است مراجعه شود اما براي اطلاع بيشتر برنامه ريزي اين فيوز بيت ها در برتامه اي مثل BASCOM كاري بسيار راحت مي باشد كه در موقع توضيح اين برنامه توضيح داده خواهد شد.
ATTINY 15L

شکل ۲
خصوصيات اين AVR هم دقيقا مثل ATTINY هاي قبلي است اما داراي تغييراتي و فرق هاي جزئي مي باشد كه عبارتند از:
• دو تايمرـ كانتر ۸ بيتي
• ۴ كانال مبدل آنالوگ به ديجيتال و يك كانال تفاضلي آنالوگ به ديجيتال با كنترل گين X 20
• مدار POWER-ON RESET

• اسيلاتور داخلي كاليبره شده ۶/۱ مگاهرتزي وقابل تنظيم
• خروجي PWM ,8 بيتي با فركانس ۱۵۰ كيلو هرتز
• عملكرد كاملا ثابت
• توان مصرفي در حالت فعال ۳ ميلي آمپر و در حالت بيكاري ۱ ميلي امپر
• ولتاژ عملياتي ۲٫۷ تا ۵٫۵ ولت
• ۶ خط ورودي خروجي قابل برنامه ريزي
• داراي ۶ فيوز بيت مي باشد.

ATTINY 26
داراي خصوصياتي است كه با ميكرو هاي قبلي تا حدودي فرق ميكند كه در زير به بعضي از آنها اشاره مي كنيم .
• داراي ۱۱۸ دستورالعمل با كارآيي بالا كه اكثرا در يك سيكل اجرا مي شوند.
• سرعتي تا ۱۶ مگاهرتز
• ۲ كيلو حافظه FLASH قابل برنامه ريزي و پايداري آن تا ۱۰۰۰ بار نوشتن و پاك كردن
• ۱۲۸ بايت حافظه SRAM

• ۱۲۸ بايت حافظه EEPROM و پايداري آن تا ۱۰۰۰۰۰ بار خواندن و نوشتن

• ايجاد وقفه با تغيير وضعيت بر روي ۱۱ پايه
• يك تايمر ـكانتر ۸ بيتي
• يم تايمر ـ كاتنتر ۸ بيتي پر سرعت
• دوخروجي PWM فركانس بالا
• ۱۱ آنالوگ ADC با كنترل گين X1 تا X20 و ۸ كانال شيز تفاضلي
• يك مقايسه گر آنالوگ داخلي
• داراي اسيلاتور داخلي
• ولتاژ كاري ۲٫۷ تا ۵٫۵ وليت براي ATTINY 26L و ۴٫۵ تا ۵٫۵ ولت براي
• فركانس كاري ۸ مگاهرتز براي ATTINY 26L و ۱۶ مگاهرتز براي ATTINY26
• در دو نوع بسته بندي و۲۰ پايه در حالت PDIP و ۳۲ پايه در MLF كه ۱۲ پايه آن بدون مصرف است.
• داراي دو بايت فيوز بيت مي باشد

.

شکل ۳

خصوصيات ATTINY 28L , 28V

شکل ۵
• داراي ۹۰ دستورالعمل
• ۲كيلو بايت حافظه FLASH سرعتي تا ۴ مگا هرتز
• داراي يك تايمر ـ كانتر ۸ بيتي
• يك مقايسه گر انالوگ داخلي
• داراي اسيلاتور داخلي

• توان مصرفي ۳ ميلي امپر در حالت فعال
• و در حالت بيكاري ۱٫۲ ميلي آمپر
• ولتاژ كاري ۱٫۸۷ تا ۵٫۵ ولت براي ATTINY 28V
• ولتاژ كاري ۲٫۷ تا ۵٫۵ ولنت براي ATTINY 28L
• فركانس ۱٫۲ مگا هرتز براي ATTINY 28V
• فركانس ۴ مگاهرتز براي ATTINY 28L
• داراي ۲۸ پايه در بستع بندي PDIP و ۳۲ پايه در نوع TQFP و MLF
• داراي ۵ فيوز بيت

۱-۲ ميكرو كنترلرهاي AT90S

 

شکل ۶

در اينجا به انواع AT90S ها كه شامل
AT90S1200 ,AT90S2313, AT90S2323/L2323/S2343/L2343 , AT90S2333/LS 2333/S4433/LS4433 AT90S8515, AT90S8535/L 8535

خصوصيات AT90S1200
• داراي ۸۹ دستورالعمل
• ۸*۳۲ رجيستر كاربردي
• سرعتي تا ۱۲ مگا هرتز
• يك كيلو بايت حافظه FLASH و ۱۰۰۰ بار قابليت نوشتن و پاك كردن
• ۶۴ بايت حافظه EEPROM داخلي و قابليت ۱۰۰۰۰۰ بار نوشتن و پاك كردن
• توان مصرفي در حالت فعال ۱۲ ميلي امپر و در حالت بليكاري ۴/ ميلي آمپر
• ولتاژ كاري ۲٫۷ تا ۶ ولت براي نوع ۴ و ۴ تا ۶ ولت براي نوع ۱۲
• فركانس كاري ۴ مگاهرتز براي نوع ۴ و تا ۱۲ مگاهرتز براي نوع ۱۲
• داراي ۱۵ پايه ورودي و خروجي
• داراي ۲۰ پايه در انواع PDIP , SOIC , SSOP
• داراي ۲ فيوز بيت

خصوصيات AT90S2313

• داراي ۱۱۸ دستورالعمل
• سرعتي تا ۱۰ مگاهرتز
• ۲ كيلو بايت حافظه FLASH قابل برنامه ريزي و قابليت برنامه ريزي تا ۱۰۰۰ بار
• ۱۲۸ بايت حافظه SRAM
• ۱۲۸ بايت حافظه EEPROM و قابليت پاك كردن و نوشتن تا ۱۰۰۰۰۰ بار نوشتن و پاك كردن
• يك تايمر ـ‌كانتر ۸ بيتي
• يك تايمر ـ‌كانتر ۱۶ بيتي و داراي مدهاي CAMPARE , CAPTURE و PWM هاي ۸ يا ۹ يا ۱۰ بيتي
• توان مصرفي در حالت فعال ۲٫۸ ميلي آمپر و ۸/ آمپر در حالت بيكاري
• ولتاژ كاري ۲٫۷ تا ۶ ولت براي نوع ۴ و ۴ تا ۶ ولت براي نوع ۱۰
• فركانس ۴ مگاهرتز براي نوع ۴ و ۱۲ مگاهرتز براي نوع ۱۰
• ۱۵ خط ورودي و خروجي
• ۲۰ پايه در انواع PDIP , SOIC
• داراي دو فيوز بيت

خصوصيات AT90S2323/LS2323/S2343/LS2343
خصوصيات با نوع قبلي توضيخ داده شده تقريبا يكي است البته با تفاوتهايي جزئي كه عبارتند از :
• داراي يك تايمر ـ‌كانتر ۸ بيتي
• توان مصرفي در حالت فعال ۲٫۴ ميلي آمپر و در حالت بيكاري ۵/ ميلي آمپر
• ولتاژ كاري ۴ تا ۶ ولت براي AT90S2323/AT90S2343
• ولتاژ كاري ۲٫۷ تا ۶ ولت براي AT90LS2323/AT90LS2343
• فركانس كاري تا ۱۰ مگاهرتز براي AT90S2323/AT90S2343-10

• فركانس كاري تا ۴ مگاهرتز براي AT90LS2323/AT90LS2343-4
• فركانس كاري تا ۱ مگاهرتز براي AT90LS2343-1
• ۳ خط ورودي و خروجي براي AT90S2323/LS2323
• ۵ خط ورودي خروجي براي AT90S2343/LS2343
• ۸ پايه در انواع PDIP , SOIC
• داراي ۲ فيوز بيت

خصوصيات AT90S2333/LS2333/S4433/LS4433
• داراي خصوصيات AT90S2313 به جز در مورد فركانس كاري و ولتاژ كاري و توع بسته بندي
• توان مصرفي در حالت فعال ۳٫۴ ميلي آمپر و در حالت بيكاري ۱٫۴ ميلي آمپر
• ۲٫۷ تا ۶ ولت براي AT90LS2333/AT90LS4433
• ۴ تا ۶ ولت براي AT90S2333/AT90S4433
• فركانس كاري تا ۴ مگاهرتز براي انولع LS
• فركانس كاري تا ۸ مگاهرتز براي انواع S
• ۲۰ پايه ورودي خروجي قابل برنامه ريزي

• ۲۸ پايه در بسته بندي PDIP و ۳۲ پايه نوع TQFP
• داراي ۶ فيوز بيت قابل برنامه ريزي

خصوصيات AT90S8515
خصوصيات با ميكر قبلي يكي است به جز:
• توان مصرفي در حالت فعال ۳ ميلي آمپرو در حالت بيكاري ۱ ميلي آمپر

• ولتاژ كاري ۲٫۷ تا ۶ ولت براي نوع ۴ و ۴ تا ۶ ولت براي نوع ۸
• فركانس كاري ۴ مگاهرتز براي نوع ۴ و ۸ مگاهرتر براي نوع ۸
• ۳۲ پايه ورودي خروجي قابل برنامه ريزي

• ۴۰ پايه در بسته بندي PDIP و ۴۴ پايه در نوع PLCC , TQFP
• داراي ۲ فيوز بيت
خصوصيات AT90S8535/LS8535
خصوصيات مثل نوع قبل بجز:
• توان مصرفي در حالت فعال ۶٫۴ ميلي آمپر و در حالت بيكاري ۱٫۹ ميلي آمپر
• ولتاژ كاري ۲٫۷ تا ۶ ولت براي نوع LS و ۴ تا ۶ ولت براي نوع S‌
• فركانس كاري تا ۴ مگاهرتز براي نوع LS و ۸ مگاهرتز براي نوع S‌
• داراي ۴۰ پايه در نوع PDIP و ۴۴ پايه در بسته بندي هاي PLCC, MLF,TQFP

۱-۳ ميكروكنترلر هاي MEGAAVR
مهمترين گروه از AVR ها اين گروه مي باشد به واسطه اينكه داراي دامنه عملياتي بسيار زياد مي باشند و قابليت هاي بيشتري نسبت به گروه قبلي خود دارند.

مزيتمهمي كه به نظر ما در اين سري از AVR ها وجود دارد يكي دامنه فرماني بسيار بالا و ديگري برخي از اعضاي اين خانواده داراي RTC يا CLOCK SOFT مي باشند كه اين كار باعث شده تا بسياري از برنامه هاي نوشته شده بر روي اين خانواده كوتاهتر و دقيقتر شود اعضاي مهم اين گروه عبارتند از: ATMEGA323, 323L, 32, 32L, 128, 128L, 163, 163L, 8,8L, 8515, 8515L,

۸۵۳۵, ۸۵۳۵L, 161L, 161, 162, 162L, 16, 16L, 103, 103L, 169, 169L, 169V, 64, 64L
نكتهاي كه ميان MEGA هاي هم نام ومتفائت در پسوند شان وجود دارد توان مصرفي و كلاك سيستم آنها مي باشد.
در اينجا همه آنها را توضيح نخواهيم داد چون توضيح خود شامل گزارشي كامل و مفصل است اين نكته قابل توجه است كه تقريبا همگي داراي خصوصيات مشابه مي باشند.

توضيحات ATMEGA 8 ,8L

• داراي ۱۳۰ دستورالعمل
• سرعتي تا ۱۶ مگاهرتز
۸ كبلو بايت حافظه FLASH داخلي و قابليت ۱۰۰۰۰ بار پاك كردن و نوشتن
• ۱۰۲۴ بايت حافظه SRAM
• ۵۱۲ بايت حافظه EEPROM داخلي قابل برنامه ريزي و قابليت ۱۰۰۰۰۰ بار نوشتن و پاك كردن
• دوتايمر ـ كانتر مجزا ۸ بيتي
• يك تايمر ـ‌كانتر ۱۶ بيتي
• ۸ كانال مبدل ديجيتال به آنالوگ در بسته بندي هاي TQFP , MLF
• ۶ كانال مبدل ديجيتال به آنالوگ در بسته بندي PDIP
• قابليت SPI

• قابليت ارتباط د وسيمه‌
• ولتاپ عملياتي ۲٫۷ تا ۵٫۵ براي MEGA8L و ۴٫۵ تا۵٫۵ براي MEGA8
• فركانس تا ۸ مگاهرتز براي نوع L و ۱۶ مگاهرتز براي نوع معمولي
• ۲۳ خط ورودي و خروجي قابل برنامه ريزي
• ۲۸ پايه در بسته بندي PDIP و ۳۲ پايه در TQFP , MLF
• داراي دو بايت فيوز بيت

شکل ۷

توضيحات ATMEGA 16,16L
تقريبا مثل نوع قبل فقط داراي تعداد پايه هاي ورودي خروجي بيشتر و حافظه بيشتر
• داراي ۱۳۱ دستورالعمل
• سرعتي تا حدود ۱۶ مگاهرتز
• ۱۶ كيلو بايت حافظه FLASH داخلي قابل برنامه ريزي و قابليت ۱۰۰۰۰ بار نوشتنو پاك كردن
• ۱۰۲۴ بايت حافظه داخلي SRAM
• ۵۱۲ بايت حافظه EEPROM
• قابليت ارتباط STAG
• دو تايمرـ كانتر ۸ بيتي مجزا
• يك تايمرـ كانتر ۱۶ بيتي
• ۸ كانال مبدل ديجيتال به آنالوگ ۱۰ بيتي
• ولتاژ كاري ۲٫۷ تا ۵٫۵ براي نوع L و۴٫۵ تا ۵٫۵ براي نوع معمولي
• فركانس كاري ۸ مگاهرتز براي نوع L و ۱۶ مگات هرتز براي نوع معمولي
• ۳۲ پايه قابل برنامه ريزي

• ۴۰ پايه در بسته بندي PDIP و ۴۴ پايه در بسته بندي TQFP , MLF
• داراي ۲ بايت فيوز بيت.

شکل ۸

توضيحات ATMEGA 32 , 32L
مهمترين عضو اين خانواده مي باشد چون همه قابليت هاي يك AVR را دارا مي باشد و بيشترين استفاده را در ساخت پروژه ها دارا مي باشد
• داراي ۱۳۱ دستورالعمل
• سرعتي تا ۱۶ مگاهرتز
• ۳۲ كيلو بايت حافظه FLASH داخلي و قابليت ۱۰۰۰۰ بار پاك كردن و نوشتن
• ۲ كيلو بايت حافظه SRAM
• ۱۰۲۴ بايت حافظه EEPROM با قابليت ۱۰۰۰۰۰ بار خواندن و نوشتن
• قابليت JTAG
• دو تايمر ـ كانتر ۸ بيتي
• يك تنايمر ـ كانتر ۱۶ بينتي
• ۴ كانال PWM
• ۸ كانال مبدل آنالوگ به ديجيتال ۱۰ بيتي با كنترل گين ۱ , ۱۰ , ۲۰۰X‌
• داراي RTC
• ولتاژ عملياتي ۲٫۷ تا ۵٫۵ براي نوع L و ۴٫۵ تا ۵٫۵ ولت براي نوع معمولي
• فركانس كاري تا ۸ مگا هرتز براي نوع L و تا ۱۶ مگاهرتز براي نوع معمولي
• ۳۲ پايه ورودي خروجي

• ۴۰ پايه در بسته بندي PDIP و ۴۴ پايه در بسته بندي TQFP , MLF‌
• داراي دو بايت فيوز بيت

توضيحات ATMEGA 64 , 64L
اين ميكرو نيز يكي از مهمترين اعضاي اين خاواده مي باشد به واسطه داراي بودن همه امكانات و حافظه و تعداد پايه هاي بيشتر
• داراي ۱۳۰ دستورالعمل
• سرعتي تا حدود ۱۶ مگاهرتز

• ۶۴ كيلوبايت حافظه بمشسا داخلي قابل برنامه ريزي تا ۱۰۰۰۰ بار
• ۴ كيلو بايت حافظه داخلي SRAM
• ۲ كيلو بايت حافظه EEPROM و قابليت پاك كردن و نوشتن تا ۱۰۰۰۰۰ بار
• دو تايمر ـ كانتر ۸ بيتي مجزا
• دو تايمر ـ‌كانتر ۱۶ بيتي
• ۲ كانال PWM 8 بيتي.

شکل ۹

• ۶ كانال PWM 16 بيتي
• ۸كانال مبدل آنالوگ به ديجيتنال ۱۰ بيتي
• داراي RTC‌
• مطابقط با ميكرو ۱۰۳ توسط انتخاب فيوز بيت
• ولتاژ عملياتي ۲٫۷ تا ۵٫۵ ولت براي نوع L و ۴٫۵ تا ۵٫۵ ولت براي نوع معمولي
• فركانس تا ۸ مگاهرتز براي نوع L و تا ۱۶ مگا هرتز براي نوع معمولي
• ۵۳پايه ورودي خروجي
• ۶۴ پايه در بسته بندي TQFP , MLF
• داراي ۳ بايت فيوز بيت
مهمترين ATMEGA ها توضيح داده شد توصيه مي شود براي آگاهي بيشتر از بقيه اعضاي اين خانواده به كتابها و جزواتي كه در اين مورد نوشته شده است مراجعه كنيد.
۱-۴ خصوصيات داخلي MEGA 32

كلاك سيستم
كلاك سيستم ميكرو مطابق با شكل۱۰ توزيع مي شود

شکل ۱۰ : کلاک سيستم

كلاك CPU : اين كلاك براي انجام عمليات AVR استفاده مي شود. توقف و به مكث بردن اين كلاك باعث مي شود كه عمليات و محاسبات انجام نگيرد.
كلاكI/O : اين كلاك توسط بسياري از ماژول هاي I/O مثل تايمر ها و كانتر هاتر ها و … استفاده مي شود.
كلاك FLASH :‌اين كلاك عمليات ارتباطي با حافظه FLASH را كنترل مي كند كه اين كلاك معمولا با كلاك CPU فعال مي شود
كلاك غير همزمان تايمر:‌ با اين تايمر/كانتر به صورت غير همزمان توسط كريستال ساعت ۳۲۷۶۸ هرتز كار مي كند .
كلاك ADC : ADC از ي

ك كلاك جدا گانه حساس استفاده مي كند كه باعث مي شود كلاك هاي CPU ,I/O به حالت ايست رفته تا نويز حاصل از مدار ديجيتال داخلي كاهش يافته و در نتيجه عمليات تبديل با دقت بيشتري انجام يابد.
منابع كلاك‌:‌
ميكرو داراي انواع منابع كلاك اختياري ايت كه مي توان انواع آن رات به وسيله بيت هاي قابل برنامه ريزي FLASH (فيوز بيت ها) انتخاب كرد. اين منابع عبارتند از:
اسيلاتور كريستالي : در اين حالت كريستال يا نوسانگر سراميكي يا كريستال كوارتز به دوپايه XTAL1 , XTAL2 وصل مي شود.

اسيلاتور كريستالي فركانس پايين ۳۲۷۶۸ هرتز
اسيلاتور RC خارجي : فركانس تقريبي توسط معادله F=1/(3RC) به دست مي آيد. مقدار خازن بايستي حداقل ۲۲ پيكوفاراد باشد. با برنامه ريزي كردن فيوز بيت CKOPT مي توان خازنهاي داخلي ۳۶ پيكوفاراد را بين XTAL1 و GND راه اندازي كند و در نتيجه نيازي به خارجي نيست

اسيلاتور RC كاليبره شده داخلي :‌اسيلاتور داخلي كلاك هاي نامي ۱ و ۲ و ۴ و ۸ مگاهرتز را در ولتاژ ۵ ولت و دماي ۲۵ درجه سانتيگراد توليد مي كند. اين كلاك را با برنامه ريزي كردن بيتهاي CKSEL مي توان به عنوان كلاك سيستم مورد استفاده قرار دادو ديگر احتياجي به كلاك و مدار خارجي نيست.
كلاك خارجي: براي راه اندازي ميكرو توسط كلاك خارجي پايه XTAL1 طيق شكل زير بايستي وصل شود. براي كار در اين حالت بايد فيوز بيت CLOPT را برنامه ريزي نمود تا خازن ۳۶ پيكوفاراد بين XTAL1 و GND فعال گردد.

اسيلاتور و تايمر: البته در ميكروهايي كه داراي پايه هاي TOSCI و TOSC2 هستند كريستال مستقيم بين اين دو پايه قرار مي گيرد.

۱۶-۱فيوز بيت كلاك :
ميكرو داراي انواع منابع كلاك مي باشد كه مب توان با برنامه ريزي فيوز بيت ها يكي از انها را انتخاب نمود.

منابع كلاك CKSEL3…۰
كريستال خارجي ۱۱۱۱-۱۰۰۰
كريستال فركانس پايين ۰۱۱۱-۰۱۰۰
اسيلاتور RC كاليبره شده ۰۰۱۰
كلاك خارجي ۰۰۰۰

فيوز بيت هاي ميكرو : همانطور كه گفته شد فيوز بيت ها بيت هايي هستند كه بابرنامه ريزي انها مي توان ميكرو را براي نوع كار خاصي آماده كرد و در واقع ميكرو را در حالت خاصي قرار داد
در برنامه BASCOM برنامه ريزي كردن اين فيوز بيت ها بسيار ساده مي باشد هنگامي كه به صفحه برنامه ريزي ميكرو مي رويد يك از قسمتهاي برنامه ريزي ميكرو برنامه ريزي فيوز بيت ها مي باشد كه كنار هز فيوز بيت نوع كار و چگونگي كار آن نيز نوشته شده است برخي از فيور بيت هاي مهم ميكرو به جز فيوز بيت هاي كلاك كه در بالا توضيخ داده شد عبارتند از :

OCDEN :‌ برنامه ريزي اين بيت به قسمتهايي از ميكرو اجازه مي دهد كه در مد SLEEP نيز كار كنند
JTAGEN :‌ بيتي براي فعال سازي برنامه ريزي ميكرو از طريق استاندارد ارتباطي IEEE كه در حالت پيش فرض فعال است

SPIEN :‌ در حالت پيش فرض برنامه ريزي شده و ميكرو از طريق ارتباط SPI برنامه ريزي ميشود.
EESAVE :‌ با برنامه ريزي اين بيت مي توان هنگامي كه ميكرو را پاك مي كنيم حافظه EEPROM آن را پاك نكرد و اطلاعات آن را محفوظ نگاهداشت.
BOOTSZ0 , BOOTSZ1 :‌ در صورت برنامه ريزي شدن اي نفيوز بيت اجراي برنامه ار آدرس حافظه BOOT آغاز خواهد شد.
BOOTRST :‌ در صورت برنامه ريزي آدري بردار ريسيت به آدرسي كه فيوز بيت هاي قبلي تعغييت كرده اند تغيير مي يابد.
BODLEVEL :‌ در سورتي كه برنامه ريزي نشده باشد اگر ولتاژ از ۲٫۷ ولت پايين تر بيايد ريسيت داخلي ميكرو فعال مي شود و ميكرو را ريسيت مي كند اما با برنامه ريزي اين بيت هر گاه ولتاژ از ۴ ولت كمتر شود ريسيت داخلاي ميكرو فعال مي شود و ميكرو ريسيت مي شود.
BODEN : براي فعال كردن عملكرد مدار BROWN-OUT اين بيت بايستي برنامه ريزي شده باشد.
ساختار پردازنده AVR

در ميكروكنترلر هاي AVR يك واحد مركزي وجود دارد كه تمام فعاليتهاي ميكروكنترلر را مديريت و تمام عمليات لازم بر روي داده ها را انجام مي دهد ، همچنين وظيفه ارتباط با حافظه ها و كنترل تجهيزات جانبي را بر عهده دارد به اين واحد MCU مي گويند .
شكل ۱۰ساختار كلي (Master Control Unit ) MCU را نشان مي دهد .

شکل ۱۱ : واحد MCU

در ميكرو كنترلرهاي AVR از معماري هاروارد استفاده شده است . بطوريكه حافظه ميكروكنترلرهاي AVR به دو قسمت ((حافظه برنامه)) و (( حافظه داد ها)) تقسيم مي شود ، همچنين براي ايجاد ارتباط با هريك از اين قسمتها ، از گذرگهاي مجزا استفاده مي شود . معماري هاروارد در مقايسه با معماري سنتي ، فون نيومن كه از طريق يك گذرگاه مشترك به داده و برنامه دسترسي پيدا مي كند ، پهناي باند بهتري دارد . با توجه به توضيحات بالا ، به شرح عملكرد هر يك از قسمت ها خواهيم پرداخت .

رجيسترهاي عمومي ( فايل رجيستر )
تعداد اين رجيسترها ۳۲ عدد بوده و عبارتند از R0تا R31 كه هر كدام از اين رجيسترها هشت بيتي و با واحد ALU در ارتباط مستقيم مي باشند .
از ميان رجيسترهي R0 تا R31 رجيسترهاي R26 تا R31 داراي نام ديگري نيز هستند كه بصورت شكل ۱۳ تعريف مي شوند .
همانطور كه مشخص است رجيسترهاي R26 و R26 تشكيليك رجيستر ۱۶ بيتي به نام X را مي دهد و براي رجيسترهاي Yو Z نيز چنين است .

كاربرد اين رجيسترها (Z,Y,X) كه به آنها رجيسترهاي اشاره گر مي گويند ، علاوه بر كاربرد عمومي براي آدرس دهي غير مستقيم ، در فضاي حافظه داده و برنامه استفاده مي شوند . ( شكل ۱۵)

واحد ALU
اين واحد وظيفه انجام عمليات منطقي و رياضي مانند ADD ، SUB ، AND ،… را دارد . واحد ALU بطور مستقيم با رجيستر هاي R0 تا R31 در ارتباط مي باشند .

شکل ۱۲ :CPU

IR ( رجيستر دستور Instruction Register ) اين رجيستر ، كد دستورالعملي را كه از حافظه برنامه FLASH خوانده شده و بايد اجرا شود را در خود جاي مي دهد .
شكل ۱۳ ارتباط رجيسترهاي عمومي با واحد ALU

شکل ۱۳ : رجيسترهاي عمومي

شکل ۱۴ : نام گذاري رجسيتر هاي R26 تا R31

شکل ۱۵ : آدرس دهي غير مستقيم داده و برنامه

ID(واحد رمز گشايي دستور Instruction Decoder )