مسابقه رباتیک,دانشجویی,دانش آموزی,ربات جنگجو,ربات مسیریاب,ربات فوتبالیست,ربات امدادگر,پروژه ربات ,پروژه رباتیک,پروژه الکترونیک,ساخت ربات,خرید ربات,فروش ربات
مختصری راجع به avr :
زبان های سطح بالا یا همان HLL(HIGH LEVEL LANGUAGES) I به سرعت در حال تبدیل شدن به زبان برنامه نویسی استاندارد برای میکروکنترلرها(MCU) حتی برای میکرو های ۸ بیتی کوچک هستند.
زبان برنامه نویسی بیسیک و c بیشترین استفاده را در برنامه نویسی میکرو ها دارند ولی در اکثر کاربردها ,کدهای بیشتری را نسبت به زبان برنامه نویسی اسمبلی تولید میکنند.
ATMEL ایجاد تحولی در معماری, جهت کاهش کد به مقدار مینیمم را درک کرد که نتیجه این تحول میکروکنترلرهای avr هستند که علاوه بر کاهش و بهینه سازی مقدار کد ها به طور واقع عملیات را تنها در یک کلا ک سیکل توسط معماری ریسک انجام می دهد و از ۳۲ رجیستر همه منظوره استفاده می کنند که باعث شده ۴ تا ۱۲ بار سریعتر از میکروهای مورد استفاده کنونی باشند.
تکنولوژی حافظه کم مصرف غیر فرار شرکت atmel برای برنامه ریزی avr ها مورد استفاده قرار گرفته است در نتیجه حافظه های flash و eeprom در داخل مدار قابل برنامه ریزی(isp) هستند.
میکروکنترلرهای اولیه avr دارای ۱,۲,۸ کیلوبایت حافظه فلش و به صورت کلمات ۱۶ بیتی سازماندهی شده بودند.
avr به عنوان میکرو های risc با دستورات فراوان طراحی شده اند که باعث می شود حجم کد تولید شده کم و سرعت بالاتری به دست آید.
عملیات تک سیکل:
با انجام تک سیکل دستورات, کلاک اسیلاتور با کلاک داخلی سیستم یکی می شود.هیچ تقسیم کننده در داخل ای وی آر قرار ندارد که ایجاد اختلاف فاز کلاک کند.
اکثر میکروها کلاک اسیلاتور به سیستم را با نسبت۱:۴ و یا ۱:۱۲ تقسیم می کنند که خود باعث کاهش سرعت می شود. بنابراین avr ها ۴ تا ۱۲ برابر سریعتر و مصرف آنها نیز ۱۲ تا ۴ برابر نسبت به میکرو ها کنونی کمتر است.
نمودار زیر افزایش MIPS(MILLION INSTRUCTION PER SECONDS را به علت انجام عملیات تک سیکل AVR (نسبت ۱:۱) در مقایسه با نسبت های ۱:۴ و ی۱:۱۲ در دیگر میکرو ها را نشان می دهند.

طراحی برای زبان های بیسیک و c:
با اینکه زبان های بیسیک و c بیشترین استفاده را در زبان های HLL دارند.
اما تا امروز معماری بیشتر میکرو ها برای زبان اسمبلی طراحی شده و کمتر از زبانهایHLL حمایت کرده اند.
هدف اATMEL طراحی معماری بود که هم برای زبان اسمبلی و هم برای زبان های HLL مفید باشد.
به طور مثال در زبان سی و بیسیک می توان یک متغیر محلی به جای متغیر سراسری در داخل زیر برنامه تعریف کرد در این صورت فقط در زمان اجرا زیر برنامه مکانی از حافظه RAM ا شغال می شود در صورتی که اگر متغیری به عنوان سراسری تعریف گردد در تمام وقت مکانی از حافظهFLASH ROM را اشغال کرده است.
برای دسترسی سریعتر به متغیرهای محلی و کاهش قد نیاز به افزایش ریجستر های همه منظور است.
AVR ها دارای ۳۲ ریجستر هستند که مستقیماً به ALU:UNIT ARITHMETIC LOGIC وصل شدهاند و تنها در یک کلا ک سیکل به این واحد دسترسی پیدا می کنند.
سه جفت از این ریجستر ها می توانند با عنوان ریجستر های ۱۶ بیتی استفاده شوند.
برنامه زیر نشان میدهد که چگونه تعداد مناسب ریجستر ها همه منظوره در AVR می توانند با معماری SISC با یک ACCUMULATOR مقایسه گردند
.در زیر میبینیم که با کدهای AVR این محاسبه در عرض ۴ کلاک سیکل و با کدهای CISC در عرض ۴۸-۹۶ کلاک سیکل انجام میگیرد.

نتیجه تمامی موارد بحث شده ,میکروکنترلر های AVR با سرعت بالا و سازماندهی RISC هستند و به سه نوع
- AT90S
- TINYAVR
- MEGAAVR
تقسیم بندی میشوند.
بسته بندی میکروکنترلرهای AVR:
AVR ها دارای بسته بندی های زیر میباشند:
- SSOP
- SOIC
- MLF
- TQFP
- PLCC
- DIP
در زیر شکال این مدلها را مشاهده می کنید:


میکروهای AVR دارای پسوندهایی هستند که بر روی بسته بندی آنها نوشته میشود در زیر انواع پسوندها را مشاهده میکنید:

در زیر به تحیل موارد نام گذاری میکروهای AVR میپردازیم:
- (بخش ۱) نام میکرو کنترلر به طور مثال ATMEGA128 یا ATTINY2313 که معمولا اعداد آنها مقدار حافظه ی FLASH را مشخص میکند.
- (بخش ۲) مشخص کننده فرکانس و ولتاژ کاری میکرو است که طبق شکل زیر میباشد.

- (بخش ۳) مشخص کننده بیشترین فرکانس کاری AVR است .به طور مال ۸ به معنای فرکانس کاری ماکسیمم ۸MHZ است.
- (بخش ۴) مشخص کننده نوع بسته بندی (PACKAGE) است.طبق شکل زیر

- (بخش ۵ ) مشخص کننده محدوده ی دمای کاری است طبق جدول زیر:
