دانلود ‫پروژه بررسی میکرو کنترل ها وقابلیت های سخت افزاری و نرم افزاری آن avr

Word 367 KB 34675 106
مشخص نشده مشخص نشده الکترونیک - برق - مخابرات
قیمت قدیم:۳۰,۰۰۰ تومان
قیمت: ۲۴,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • میکروکنترلر چیست : قطعه ای که این روزها دارد جای خود را در خیلی از وسایل الکتریکی باز میکند .از تلفن گرفته تا موبایل از ماوس لیزری که الان دستتان روی آن است و دارین باهاش کامپیوتر رو کنترل میکنید تا هر وسیله ای که بتوان پیچیدگی رو در اون دید میتونید یک میکروکنترلر رو ببینید .

    کلمه میکروکنترلر: این کلمه از دو کلمه 1- میکرو 2-کنترلر تشکیل شده 1-میکرو : میدونین که این یک واحد یونانی است و برابر با 10 به توان منفی 6 متر است.

    یعنی یک ملیونیوم متر واحده خیلی کوچیکیه نه....ولی واحدهای خیلی کوچیکتر از این هم داریم که در الکترونیک مورد استفاده قرار میگیرند در قسمتهای بعدی توضیحیهاتی راجع به این واحد ها و موارد استفاده آنها داده میشه.

    2-کنترلر : که همه معنی و مفهومشو میدونین .

    یعنی کنترل کننده به تعبیری یعنی "مغز " البته بدون تفکر فقط دستوراتی که به اون داده میشه به نحو احسن انجام میده.

    حالا چرا این کلمات ؟

    به نظر من کلمه میکرو به دو منظور استفاده شده منظور اول و مهم سرعت عمل میکروکنترلر است که میتواند تا یک ملیونیوم ثانیه باشد و دستوارتی که به اون میدیم با این سرعت انجام بده به همین خاطر واژه میکرو رو به اون اختصاص دادن البته معنی دوم آن شاید کوچیکی این قطعه باشد که تا یک ملیونیوم متر کوچیک شده شاید باور کردنی نباشه ولی در یک تراشه ممکنه بیش از یک ملیون تراتزیستور به کار رفته باشه.

    این کلمه وقتی اهمیتش کامل میشه که با واژه کنترلر عجین بشه تا معنیش کامل بشود .

    (البته من این تعاریف رو بر مبنای نظر خودم از میکرو گفتم و خودم اونو تو هیچ جایی ندیدم شاید اصلا این کلمه به خاطر چیز دیگست اگر دوستان میدونن لطف کنن خوشحال میشم) حالا نحوه انجام دادن کار میکروکنترلر را به صورت کلی بررسی میکنیم : تا حالا همه شما با ماشین حساب کار کردین تا حالا به نحوه کار کردنش فکر کردین شما اطلاعاتتون را که همون عملیات ریاضی هست به وسیله صفحه کلید به اون میدید بعد ماشین حساب این اطلاعات رو بر مبنای دستوراتی که قبلا به اون داده شده پردازش میکند و جواب را رویlcd نمایش میدهد.

    در واقع یک میکروکنترلر برنامه ریزی شده به عنوان مغز ماشین حساب این اطلاعات یا داده رو از صفحه کلید میگیره روشون پردازش انجام میده و بعد بر روی lcd نمایش میده.

    کار میکروکنترلر دقیقا مشابه این است میکرو کنترلر بر مبنای یک سری ورودی که به اون داده میشه مثلا این ورودی از یک سنسور دما باشه که درجه حرارت رو میگه یا از هر چیز دیگه مثل صفحه کلید بر مبنای این ورودی ها و برنامه ای که قبلا ما به اون دادیم خروجیشو تنظیم میکنه که ممکنه خروجیش یک موتور باشه یا یک lcd یا هر چیز دیگری که با الکتریسیته کار بکند.

    حالت دیگری هم میتونه باشه که فقط میکروکنترلر بر مبنای برنامه ای که به اون دادیم عمل کند و خروجیش رو فقط بر اساس برنامه بگیرد.

    ساختمان دخلی میکروکنترلر: کامپیوتری که الان بر روی اون دارین کار انجام میدین دارای یک پردازنده مرکزیه به نام cpu که از کنار هم قرار گرفتن چندین ملیون ترانزیستور تشکیل شده و بر روی اطلاعات پرداژش انجام میده .

    میکرو کنترلر هم عینا دارای یک پردازنده مرکزی به نام cpu است که دقیقا کار cpu کامپیوتر رو انجام میده با این تفاوت که قدرت و سرعت پردازشش از cpu کمتره که به اون میکروپرسسور میگن در بخش بعدی فرق میکرو پرسسور و میکروکنترلر را بررسی میکنیم.

    میکروکنترلر علاوه بر cpu دارای حافظه است که ما برنامه ای که بهش میدیم در اون قرار بگیره در کنار حافظه در میکروکنترلرهای امروزی تایمرها برای تنظیم زمان کانتر ها برای شمردن کانال های آنالوگ به دیجیتال پورت های برای گرفتن و دادن اطلاعات و امکاناتی دیگر که بعدا مفصل راجع به هر کدام توضیح داده میشه تشکیل شده و همه اینها در یک چیپ قرار گرفته که تنکنولوژی جدید اونو تو یک تراشه به اندازه یک سکه قرار داده.

    تفاوت میکروپروسسور و میکروکنترلر: میکروپرسسور همانطور که گفته شد یک پردازنده است و برای کار باید به آن چیپ های حافظه و چیز های دیگری را به اون اضافه کرد این امکان به درد این میخورد که بر حسب کارمان حافظه مناسب و دیگر قطعات را مانند تایمرها و غیره به صورت بیشتری استفاده کنیم ولی مدار خیلی پیچیده میشود و از لحاظ هزینه هم هزینه بیشتر میشود به همین دلیل امروزه از میکروپرسسورها کمتر استفاده میشود اما این روزها میکرو کنترلر های جدید با حافظه های زیاد تعداد تایمر زیاد پورت های زیاد و تنوع بسیار زیاد انها بر حسب این امکانات دست ما را باز گذاشته است تا دیگر میکروپرسسورها را فراموش کنیم.

    آیا میکروکنترلر چیز جدیدی را با خود آورده است ؟

    جواب منفی است تمام کارهایی که ما با میکروکنترلر میتوانیم انجام بدهیم با قطعات دیگر هم میتوانیم انجام بدهیم چون ما قبلا هم تایمر داشتیم هم کانتر هم حافظه هم پردازنده و...

    .

    در واقع میکروکنترلر قطعه ای است با تمام این امکانات که به صورت یک آی سی آماده شده است و هزینه پیچیدگی و حجم را به نحوه قابل ملاحضه ای کاهش میدهد.

    عیب میکروکنترلر: میکروکنترلر با این همه مزایا که گفتیم دارای یک عیب کوچیک است .و آن سرعت پایین !

    است آیا سرعتی معادل یک ملیونیوم ثانیه سرعت کمی است ؟

    سرعت کمی نیست ولی یک مثال شاید بحثو بهتر باز کند یک گیت منطقی رو در نظر بگیرین که با توجه به ورودی خروجیشو تنظیم مکنه سرعت عمل این گیت منطقی 10 به توان منفی 9 ثانیه است یعنی نانو ثانیه ولی اگر ما بخواهیم این گیت رو با میکروکنترلر کار کنیم سرعتی معادل میکرو ثانیه داریم پس از لحاظ سرعت برای کاربردهای خیلی محدودی میکروکنترلر مناسب نیست.

    اگر کسی از دوستان عیب دیگری از میکروکنترلر میدونه لطف کنه ممنون میشم.

    خب حالا این میکروکنترلر را با این همه کاربرد کی ساخته؟

    حدود 4 دهه پیش در سال 1971 میلادی شرکت اینتل اولین میکروکنترلر را ساخت و اولین میکروکنترلر را با نام 8080 در اوایل سال 1980 روانه بازار کرد .همین شرکت اینتلی که الان در ساخت cpu یکه تاز دنیاست .اما بعدا این امتیاز رو به شرکت های دیگری واگذار کرد و شرکت های زیادی در حال حاضر میکروکنترلر های مختلف تولید میکنند معرفی انواع میکروکنترلر تمام میکروکنترلرها جزء این 5 قسمت هستنند: 1) 8051 2) Pic 3) Avr 4) 6811 5) Z8 البته مدل های 6811 ساخت شرکت موتورلا و z8 ساخت شرکت زایلوگ حداقل در ایران خیلی کم استفاده می شوند و رقابت اصلی بین سه نوع دیگر است.

    تا به امروز هر میکروکنترلری که ساخته شده زیر مجموعه یکی از این5 نوع است.

    البته کارخانه های خیلی زیادی با مارک های مختلف میکرو کنترلر تولید میکنند ولی همه اونها زیر مجموعه یکی از این 5 قسمت هستنند .شما برای هر کدام از این5 نوع میکروکنترلر میتوانید میکروکنترلر های مختلفی از شرکت های مختلفی را پیدا کنید.(البته در بازار ایرن کمی با مشکل).

    اما خوشبختانه همه میکروکنترلر هایی که جزء هر کدام از 5 نوع بالا باشند از یک برنامه پیروی میکنند.

    بدین معنا که اگر شما کار با یکی از مدل های آن میکرو را یاد گرفته باشید مثل اینکه کار با تمام میکروکنترلرهای آن نوع را یاد گرفته اید.مثلا شما اگر با یکی از مدل های میکروکنترلر avr مثلا atmega8 را یاد گرفته باشید دیگر با صد ها مدل دیگر میکروکنترلر avr مشکلی ندارید وتقریبا بدون هیچ مشکلی میتوانید با دیگر مدل های این میکرو کار کنید.

    اما یه مشکل که در میکروکنترلر ها وجود دارد این است که این5 نوع از لحاظ برنامه نویسی به هیچ وجه با هم دیگر سازگاری ندارند .

    به طور مثال اگر شما میکروکنترلر های avr و 8051 را کامل یاد گرفته باشید حتی ساده ترین برنامه رو روی یک میکروکنترلر pic نمیتوانید اجرا کنید.

    واین یکی از بزرگترین عیب و مشکل برای یاد گیری میکرو است .بنابراین از همون اول باید یک انتخاب درست داشته باشید و میکروکنترلر مناسب را برگزینید تا با یادگیری آن میکروکنترلر بتوانید بعدا به سادگی پروژه های خود را اجرا کنید .

    البته بسیاری از دوستان هستنند که کار با چند میکروکنترلر را میدونند و حتما این هم از هوش بالای ایرانی هاست.

    ولی اگر به صورت خیلی حرفه ای نخواهید وارد این بحث بشوید باید یکی از این میکروکنترلرها را انتخاب کنید و کار با آن را آغاز کنید.

    در قسمت بعدی شما را برای این انتخاب کمک خواهم کرد.

    معایب و مزایای میکروکنترلر های مختلف نسبت به هم از آن جای که 6811 و z8 خیلی کمتر استفاده میشوند به معرفی سه نوع دیگر میپردازم.

    1) : اول از 8051 که اولین میکروکنترلری بود که به دست بشر ساخته شد شروع میکنیم .

    همانطور که در مقاله قبلی گفته شد ابتدا این میکروکنترلر توسط شرکت بزرگ intel ساخته شد .اما بعدا intel این امکان را به دیگر شرکت ها داد که این میکروکنترلر را تولید کنند و شرکت هایی مانند ATMEL , PHILIPS , SIEMENS , DALLAS و...

    به تولید این میکروکنترلر پرداختنند یکی از شرکت هایی که به صورت گسترده به تولید این تراشه پرداخت ATMEL بود که مدل های مختلف میکروکنترلر ساخت این شرکت در سرار جهان و در ایران به خوبی یافت می شود.

    اما اگربخواهیم به صورت کلی سیر پیشرفت این نوع میکروکنترلر رو در نظر بگیریم اولین میکروکنترلر هایی که ساخته شد با جدیدترین میکروکنترلرهای 8051 که الان تولید میشود با توجه به این پیشرفت شگفت در تمام زمینه ها که صنایع دیگر در دنیا دارند پیشرفت زیادی ندارد به طور مثال AT89S5X که میکروکنترلر 8051 جدید ساخت ATMEL است نسبت به مدل های اولیه 8051 پیشرفت آنچنانی ندارد .

    امکانات این میکرو نسبت به AVR و PIC قابل مقایسه نیست .

    به صورتی که که همین مدل جدید 8051 تقریبا حافظه ای برابر یک صدم (0.001 ) میکروکنترلر های AVR را دارد و سرعتش 4 برابر کمتر از میکروکنترلر های PIC و 12 بار کمتر از میکروکنترلر های AVR است .

    از لحاظ امکانات دیگر هم چنین ضعفی احساس میشود.

    اما برای کارهای ساده تر که پیچیدگی زیادی در آن نباشد به خاطر قیمت بسیار پایینی که این میکروکنترلر دارد بسیار مناسب است .

    قیمت همین مدل جدید AT89S5X حول و حوش 1000 تومان است که قیمت بسیار مناسبی است.

    این میکرو کنترلر از زبان اسمبلی و C پشتیبانی میکند که زبان برنامه نویسی اصلی آن اسمبلی است که واقعا نوشتن با این زبان برنامه نویسی نسبت به زبان های برنامه نویسی دیگر هم مشکل تر و هم طولانی تر است.

    در کل این میکروکنترلر امروزه دیگر توانای رقابت با AVR و PIC رو ندارد و امروزه رقابت اصلی بین این دو میکروکنترلر است.

    از آن جای که 6811 و z8 خیلی کمتر استفاده میشوند به معرفی سه نوع دیگر میپردازم.

    2) میکروکنترلر PIC واقعا میکروکنترلر خیلی قوی است که بر اساس بعضی آمار ها بیشترین کاربر را به خود اختصاص داده است البته متذکر شوم که در ایران این آمار به نفع AVR است.

    این میکروکنترلر ساخت شرکت میکرو چیپ است که PIC رو در مدل های خیلی زیادی با امکانات مختلف برای کارهای مختلف میسازد .

    این میکروکنترلر با مدل های مختلفPIC16XXX و PIC12XXXX که به جای X دوم از چپ به راست حروف C ,X,E,F قرار میگره که هر کدام مفهوم خاصی داره که چون بحث ما آموزش AVR است از روی اون سریع میگزریم X های بعدی هم اعدادی هستنند که نشان دهنده مدل های مختلف هستنند.

    3)میکروکنترلر AVR به میکروکنترلر AVR میرسیم که به نظر من و خیلی از دیگر بهترین میکروکنترلر موجود در بازار است البته خود من با 8051 و AVR بخصوص AVR خیلی کار کردم ولی تجربه ای با PIC ندارم و قضاوت من ممکنه یه طرفه باشه ولی این نظر بسیاری از کسانی است که با AVR کار کرده اند .به دلایلی.....

    اول از همه سرعت این میکروکنترلر بسیار بالاست و به قولی دستوراتی که بهش داده میشه در یک سیکل کلاک انجام میده در صورتی که این سیکل کلاک برای 8051 باید تقسیم بر12شودو برای PIC باید تقسیم بر 4 بنابراین AVR سریعترین میکروکنترلر موجود در بازار است .

    AVR از زبان های برنامه نویسی سطح بالا یا به اصطلاح (H LEVEL LANGE) HLL پشتیبانی میکند که باعث تولید کدهای بیشتری میشود که در کل برنامه نوشته شده نسبت به برنامه هایی که برای 8051 و PIC نوشته میشود کوتاهتر است.

    امکانات جانبی این میکروکنترلر بسیار مناسب است و شما را از خرید بعضی لوازم جانبی مانند چیپ های آنالوگ به دیجیتال (ADC) , مقایسه گر آنالوگ و...

    راحت میکند .در ضمن AVR از بسیاری از استاندارد های ارتباطی مانند SPI,UART,12C,JTAG پشتیبانی میکند که به راحتی میتوان این میکروکنترلر را با میکروکنترلر دیگر یا و سایل دیگر وصل کرد و با وسایل دیگر به راحتی ارتباط برقرار کند.

    قیمت این میکروکنترلر هم به نسبت امکانات فراوانی که داره بسیار پایین است به طوری که یک میکروکنترلر AVR تقریبا پیشرفته رو با قیمت حول و حوش 3 تا 4 هزار تومان خرید .

    خلاصه من که خیلی با این میکرو ور رفتم و پروژه های خیلی زیاد و پیچیده ای رو باهاش اجرا کردم بسیار راضی هستم و هیچ مشکلی باهاش نداشتم.اگر هم مشکلی بوده از جانب من بوده نه میکروکنترلر .

    خلاصه اگر برنامه نویسی و کار با این میکروکنترلر رو خوب یاد بگیرید هر کاری رو میتونید باهاش انجام بدید.

    پروگرام میکروکنترلر شاید تا حالا به نظرتون رسیده باشه که این میکروکنترلر رو چگونه میشه برنامه ریزی کرد تا کار مورد نظرمان را انجام بده در صورتی که یک میکروکنترلر برنامه ریزی نشده هیچ کاری رو نمیتونه انجام بده و هیچ کاربردی نداره در واقع برنامه هر میکرو روح وجانی است که در اون دمیده میشه و اون رو زنده میکنه.

    برای برنامه ریزی میکروکنترلر نیاز به دستگاه یا بردی هست به نام پروگرامر که یه پل ارتباطیه بین کامپیوتر و میکروکنترلر .

    پروگرامر را هم میشه از بازار تهیه کرد و هم میشه اون رو ساخت.

    البته پروگرامرهای مختلفی در بازار هستنند که متانسب با کاربردشان قیمت های مختلفی دارند بعضی ها فقط چند مدل رو پروگرام میکنند بعضی از پروگرامر ها همه فن حریفند و تمام میکروکنترلر های 8051,AVBR , PIC , رو برنامه ریزی میکنند به طبع قیمت زیادتری دارند.

    اما میشه براحتی برای میکروکنترلری که داریم یه پروگرامر ساخت اغلب نقشه هایی هستنند که میشه یه پروگرامر ساخت که در همین سایت آقا حامد نقشه مدل STK300-200 رو توضیح داده.

    معایب و مزایای میکروکنترلر های مختلف اما اگربخواهیم به صورت کلی سیر پیشرفت این نوع میکروکنترلر رو در نظر بگیریم اولین میکروکنترلر هایی که ساخته شد با جدیدترین میکروکنترلرهای 8051 که الان تولید میشود با توجه به این پیشرفت شگفت در تمام زمینه ها که صنایع دیگر در دنیا دارند پیشرفت زیادی ندارد به طور مثال AT89S5X که میکروکنترلر 8051 جدید ساخت ATMEL است نسبت به مدل های اولیه 8051 پیشرفت آنچنانی ندارد .

    قیمت همین مدل جدید AT89S5X حدود 1000 تومان است که قیمت بسیار مناسبی است.

    در کل این میکروکنترلر امروزه دیگر توانای رقابت با AVR و PIC رو ندارد و امروزه رقابت اصلی بین این دو میکروکنترلر است .

    2)میکروکنترلرPIC این خانواده از نظر امکانات مانند AVR میباشد و در کل صنعتی تر است .

    واقعا میکروکنترلر خیلی قوی است که بر اساس بعضی آمار ها بیشترین کاربر را به خود اختصاص داده است البته متذکر شوم که در ایران این آمار به نفع AVR است.

    این میکروکنترلر با مدل های مختلفPIC16XXX و PIC12XXXX که به جای X دوم از چپ به راست حروف C ,X,E,F قرار میگره که هر کدام مفهوم خاصی داره که چون بحث ما آموزش AVR است از روی اون سریع میگزریم X های بعدی هم اعدادی هستنند که نشان دهنده مدل های مختلف هستنند .

    3)میکروکنترلرAVR این خانواده از میکرو کنترلرها تمامی امکانات 8051 را دارا می باشد و امکاناتی چون ADC (مبدل آنالوگ به دیجیتال) – نوسان ساز داخلی و قدرت و سرعت بیشتر – EEPROM (حافظه) از جمله مزایای این خانواده می باشد مهم ترین آی سی این خانواده Tiny و Mega است.

    به میکروکنترلر AVR میرسیم که بهترین میکروکنترلر موجود در بازار است .اول از همه سرعت این میکروکنترلر بسیار بالاست و به قولی دستوراتی که بهش داده میشه در یک سیکل کلاک انجام میده در صورتی که این سیکل کلاک برای 8051 باید تقسیم بر12شودو برای PIC باید تقسیم بر 4 بنابراین AVR سریعترین میکروکنترلر موجود در بازار است .

    AVR از زبان های برنامه نویسی سطح بالا یا به اصطلاح (HIGH LEVEL LANGUAGE) HLL پشتیبانی میکند که باعث تولید کدهای بیشتری میشود که در کل برنامه نوشته شده نسبت به برنامه هایی که برای 8051 و PIC نوشته میشود کوتاهتر است.

    شرکت Atmel 5 میکروکنترلر 8 بیتی AVR جدید با توان مصرفی بسیار پایین برای استفاده در مدارات با تعداد کدهای بالا و اینترفیسینگ زیاد عرضه نموده است.

    این میکروکنترلر ها با نام های ATmega640، ATmega1280، ATmega2560، ATmega1281، ATmega2561 عرضه شده است و دارای 64 تا 256 کیلو بایت flash و 8 کیلو بایت RAM به صورت داخلی می باشد.

    این میکروهای جدید مدارات جانبی میکروها را با توجه به مدارات داخلی خود کاهش داده است که از آن جمله می توان به وجود یک اسیلاتور RC 8 مگا هرتزی در داخل خود که باعث حذف اسیلاتور خارجی گشته است را نام برد؛ از دیگر قابلیت های جالب این میکرو مصرف بسیار پایین آن می باشد این میکرو که با 1.5 ولت کار می کند در حالت power down تنها 100 نانو آمپر مصرف می کند که باعث افزایش عمر باتری خواهد شد.

    مدل 100 پین این میکرو ها داراری 4 کانال UART و 16 عدد A/D می باشد.

    AVR Microcontroller Quick Reference Guide اطلاعات کلی در مورد ساختار داخلی و انواع مختلف میکروهای AVR و همچنین مزایای آنها نسبت به نمونه های قبلی 8051 پرداخته است.

    مقدمه ای بر میکروکنترلرهای AVR میکروهای AVR دارای انعطاف پذیری غیر قابل مقایسه و بی همتایی هستند.آنها قادر به ترکیب هر نوع کدی با یک معماری کارامد از طریق زبانهای C و Assembly هستند و قادرند از طریق این برنامه ها تمام پارامترهای ممکن در یک سیکل یا چرخه ماشین را با دقت بسیار بالا هماهنگ کنند.میکرو AVR دارای معماریی است که میتواند در تمام جهات مورد استفاده شما،عمل کند میکرو AVR معماریی دارد که برای شما کارایی 16 بیتی ارائه می دهد که البته قیمتش به اندازه یک 8 بیتی تمام می شود.

    بهره های کلیدی AVR : دارای بهترین MCU برای حافظه فلش در جهان !

    (MCU: Master Control Unit) دارای سیستمی با بهترین هماهنگی دارای بالاترین کارایی و اجرا در CPU (یک دستورالعمل در هر سیکل کلاک) دارای کدهایی با کوچکترین سایز دارای حافظه خود برنامه ریز دارای واسطه JTAG که با IEEE 1149.1 سازگار است (IEEE: Institute of Electrical and Electronics Engineers.) دارای سخت افزار ضرب کننده روی خود دارای بهترین ابزارها برای پیشرفت و ترقی دارای حالات زیادی برای ترفیع دادن یا Upgrade .

    واژگان کلیدی AVR : میکرو کنترلر AVR به منظور اجرای دستورالعملهای قدرتمند در یک سیکل کلاک(ساعت) به اندازه کافی سریع است و می تواند برای شما آزادی عملی را که احتیاج دارید به منظور بهینه سازی توان مصرفی فراهم کند.

    میکروکنترلر AVR بر مبنای معماری RISC(کاهش مجموعه ی دستورالعملهای کامپیوتر) پایه گذاری شده و مجموعه ای از دستورالعملها را که با 32 ثبات کار میکنند ترکیب می کند.

    به کارگرفتن حافظه از نوع Flash که AVR ها به طور یکسان از آن بهره می برند از جمله مزایای آنها است.

    یک میکرو AVR می تواند با استفاده از یک منبع تغذیه 2.7 تا 5.5 ولتی از طریق شش پین ساده در عرض چند ثانیه برنامه ریزی شود یا Program شود.

    میکروهای AVR در هرجا که باشند با 1.8 ولت تا 5.5 ولت تغذیه می شوند البته با انواع توان پایین (Low Power)که موجودند.

    راه حلهایی که AVR پیش پای شما می گذارد، برای یافتن نیازهای شما مناسب است: با داشتن تنوعی باور نکردنی و اختیارات فراوان در کارایی محصولات AVR، آنها به عنوان محصولاتی که همیشه در رقابت ها پیروز هستند شناخته شدند.در همه محصولات AVR مجموعه ی دستورالعملها و معماری یکسان هستند بنابراین زمانی که حجم کدهای دستورالعمل شما که قرار است در میکرو دانلود شود به دلایلی افزایش یابد یعنی بیشتر از گنجایش میکرویی که شما در نظر گرفته اید شود می توانید از همان کدها استفاده کنید و در عوض آن را در یک میکروی با گنجایش بالاتر دانلود کنید.

    خانواده های محصولات AVR : Tiny AVR: میکروکنترلری با اهداف کلی و با بیش از 4 کیلو بایت حافظه فلش و 128 بایت حافظه استاتیک و قابل برنامه ریزی است.(منظور از حافظه استاتیک و حافظه قابل برنامه ریزی EEPROM است.) Mega AVR: این نوع میکروها قابلیت خود برنامه ریزی دارند و می توان آنها را بدون استفاده از مدارات اضافی برنامه ریزی کرد همچنین بیش از 256K بایت حافظه فلش و 4K بایت حافظه استاتیک و قابل برنامه ریزی دارند.

    LCD AVR: این نوع میکرو دارای درایور برای نمایشگر LCD با قابلیت کنترل اتوماتیک تباین و مقایسه تصویر می باشد.باعث تمدید عمر باتری می شود و در حالت فعال دارای توان مصرفی پایینی است.

    توان مصرفی پایین: توان مصرفی پایین آنها برای استفاده بهینه از باتری و همچنین کاربرد میکرو در وسایل سیار و سفری طراحی شده که میکروهای جدید AVR با توان مصرفی کم از شش روش اضافی در مقدار توان مصرفی ، برای انجام عملیات بهره می برند.

    این میکروها تا مقدار 1.8 ولت قابل تغذیه هستند که این امر باعث طولانی تر شدن عمر باتری می شود.

    در میکروهای با توان پایین ، عملیات شبیه حالت Standby است یعنی میکرو می تواند تمام اعمال داخلی و جنبی را متوقف کند و کریستال خارجی را به همان وضعیت شش کلاک در هر چرخه رها کند!

    ابعاد مختلف میکروهای AVR را در اشکال زیر مشاهده می کنید: AVR های مدل tiny: به خود اجازه ندهید که نام آن شما را گول بزند...

    میکروهای مدل tiny توانایی های عظیمی دارند.به خاطر کوچک بودن و داشتن MCU بسیار پر قدرت به اینگونه میکروها نیاز فراوانی هست آنها به هیچ منطق خارجی نیاز نداشته و به همراه یک مجتمع مبدل آنالوگ به دیجیتال و یک حافظه قابل برنامه ریزی EEPROM قابلیتهای خود را ثابت می کنند.

    نکات کلیدی و سودمند مدل Tiny : آنها به منظور انجام یک عملیات ساده بهینه سازی شده و در ساخت وسایلی که به میکروهای کوچک احتیاج است کاربرد فراوان دارند.

    کارایی عظیم آنها برای ارزش و بهای وسایل موثر است.

    AVR های مدل Mega: اگر شما به میکرویی احتیاج دارید که دارای سرعت و کارایی بالا باشد و توانایی اجرای حجم زیادی از کد برنامه را داشته و بتواند داده های زیادی را سروسامان دهد باید از AVR های مدل Mega استفاده کنید آنها به ازای هر یک مگا هرتز سرعت ، توانایی اجرای یک میلیون دستورالعمل در هر یک ثانیه را دارند همچنین قابل برنامه ریزی و بروزرسانی کدها با سرعت و امنیت بسیار بالایی هستند.

    نکات کلیدی و سودمند مدل Mega : حافظه سریع از نوع فلش با عملکرد خود برنامه ریز و بلوکه ی بوت (Boot Block) دقت بسیار بالای 8-کانال در تبدیل آنالوگ به دیجیتال 10 بیتی USART و SPI و TWI بر طبق واسطه های سریال واسطه ی JTAG بر طبق IEEE 1149.1 : Two Wire Interface is a byte oriented interface USART: Universal Serial Asynchronous Receiver/Transmitter SPI: Serial Peripheral Interface JTAG available only on devices with 16KB Flash and up واسط JTAG فقط در میکروهای با بیش از 16 کیلوبایت حافظه فلش موجود است.

    AVR های مدل LCD: آنها با بالاترین یکپارچگی و انعطاف پذیری ممکن طراحی شده اند و با داشتن درایور LCD و کنترلر اتوماتیک وضوح تصویر ،بهترین واسطه را با انسان دارند و دارای توان مصرفی پایین و کارایی بالایی هستند.اولین عضو این خانواده 100 سگمنت داشت و دارای یک UART و SPI به منظور ارتباط به صورت سریال بود.

    نکات کلیدی وسودمند مدل LCD : کارایی فوق العاده با سرعت یک میلیون دستورالعمل در ثانیه به ازای یک مگاهرتز واسطه ها برای ارتباط با انسان: وقفه های صفحه کلید و درایور نمایشگر LCD آنها این اجازه را به طراح سیستم می دهند که توان مصرفی را در برابر سرعت پردازش تا جایی که امکان دارد بهینه کند.

    نکات کلیدی و سودمند حافظه ی فلش خود برنامه ریز: قابلیت دوباره برنامه ریزی کردن بدون احتیاج به اجزای خارجی 128 بایت کوچک که به صورت فلش سکتور بندی شده اند داشتن مقدار متغیر در سایز بلوکه ی بوت (Boot Block) خواندن به هنگام نوشتن بسیار آسان برای استفاده کاهش یافتن زمان برنامه ریزی کنترل کردن برنامه ریزی به صورت سخت افزاری راههای مختلف برای عمل برنامه ریزی: موازی یا Parallel : یکی از سریعترین روشهای برنامه ریزی سازگار با برنامه نویس های(programmers) اصلی خود برنامه ریزی توسط هر اتصال فیزیکی: برنامه ریزی توسط هر نوع واسطه ای از قبیل و SPI و غیره دارا بودن امنیت صد درصد در بروزرسانی و کدکردن ISP: واسطه سه سیمی محلی برای بروزرسانی سریع آسان و موثر در استفاده واسطه JTAG : واسطه ای که تسلیم قانون IEEE 1149.1 است و می تواند به صورت NVM برنامه ریزی کند یعنی هنگام قطع جریان برق داده ها از بین نروند.استفاده از فیوزها و بیتهای قفل.

    بیشتر برای دیباگ کردن آنچیپ و به منظور تست استفاده می شود نرم افزار ارائه شده توسط شرکتATMEL به نام AVR Studio 4 : این نرم افزار به صورت رایگان در سایت شرکت ATMEL قرار دارد می توانید با رجوع به آدرس http://www.atmel.com آن را دانلود کنید.

    این نرم افزار در حقیقت یک اسمبلر برای محصولات AVR اتمل است و به صورت کاملا ویژوالی است.

    می تواند با انواع دستگاههای برنامه نویس میکرو ارتباط برقرار کند و کدها را در میکرو دانلود کند.

    و قابلیت ترجمه کدها به زبانهای C و Assembly را دارد و ...

    انواع برنامه نویسها که AVR Studio 4 با آنها سازگار است: در این قسمت خصوصیات پروگرامر ها را به زبان انگلیسی ارائه کردم چون به زبان فارسی اصلا قابل فهم نمی بود و باید یکی پیدا می شد تا ترجمه فارسی آن را دوباره ترجمه کند...

    STK500/STK501/STK502 STK500 Supports All AVR Devices Interfaces with AVR Studio Early Support for New Devices Push Buttons, LEDs & RS232 STK501 STK500 Expansion Module for ATmega64/128 ZIF Socket & PCB Footprint Onboard 32 kHz Oscillator Additional RS232 Port STK502 STK500 Expansion Module for ATmega169 ZIF Socket & PCB Footprint Onboard 32 kHz Oscillator Demo Application with Temperature Sensor JTAGICE / JTAGICE mkII Interfaced using AVR Studio Real-Time Emulation in Actual Silicon Debug the Real Device at the Target Level Communicates Directly to the Device through 4-Pin JTAG Interface One-wire Debug Interface (JTAGICE mkII only) Supports Program Breakpoints Data Breakpoints Full I/O View and Watches Full Execution Control ICE40/50 Emulator ICE50 Emulates all Peripherals (Both Digital and Analog) Supports all Instructions And Peripherals Real-Time All Configurations Done from AVR Studio Unlimited Number of Breakpoints Source Level Debugging Supports the Newest Members of AT mega And AT tiny Product Families ICE40 Same Features as ICE50 End Low Cost ICE for ATtiny13, ATtiny26, ATmega8, ATmega8515, ATmega8535 ICE50 Upgrade Available روگرامرهایی که AVR های خاصی را پشتیبانی می کنند: برنامه ریزی میکرو کنترلر: برای آشنایی با میکرو کنترلر می خواهیم یک برنامه ساده برای میکرو کنترلر بنویسیم.

    بنابراین یک برنامه ساده می نویسیم که Led های (چراغ خطر!) ربات را روشن و خاموش کند.

    قسمت اخطار را قبل از هر کاری بخوانید.

    آشنایی با برنامه CodeVision: CodeVision یک IDE برای میکرو کنترلر AVR است.

    به وسیله این برنامه می توان از زبان C برای برنامه ریز میکرو استفاده کرد.

    برای شروع ابتدا برنامه را از اینجا دانلود کنید و آن را نصب کنید.

    برنامه را اجرا کنید.

    یک پروه TestAVR بسازید.

    در قسمت Setting->Programmer نوع Programmer را انتخاب کنید.

    (Kanda Systems STK200+/300) برای تنظیمات اولیه میکرو از Code wizard استفاده می کنیم.

    به وسیله این wizard کدهای ‍C‌ لازم برای تنظیماتی از قبیل Crystal Clock, Timer Setting, Port Setting, … تولید و به کد برنامه شما اضافه می شود.

    پس از هر تغییر در این تنظیمات باید آن را به وسیله منو File->Generate, Save and Exit ذخیره کرد.

    پس از تنظیمات اولیه کد برنامه را در Code Vision به زبان C‌ می نویسیم.

    (می توان از توابع کتابخانه ای Code Vision‌نیز در این کار استفاده کرد.) سپس دکمه Make the project را برای تولید کد اسمبلی برنامه شما برای میکرو کنترلر AVR بزنید.

    حالا می توانید میکرو کنترلر خود را برنام ریزی کنید.

    برای این کار از Chip Programmer استفاده می کنیم.

    تنظیمات اولیه میکرو: به وسیله Tools->CodeWizardAVR منو تنظیمات اولیه را ظاهر کنید.

    حالا این تنظیمات را انجام دهید: Chip Tab: Chip: Atmega16L Clock: 1.0000 Prot Tab: Port B tab: Bit 0: out Bit 1: out ما با این تنظیمات نوع میکرو کنترلر و همچنین فرکانس 1MHz را برای آن انتخاب کردیم.(ما به میکرو یک کریستال وصل کردیم تا فرکانس 8MHz (یا MHz7.3728) تولید کند.

    ولی یک Oscillator نیز در داخل AVR قرار دارد که فرکانس آن 1MHz است.

    ما در این قسمت از این Oscillator استفاده می کنیم).

    در ضمن بیت 0 و 1 پورت B را به صورت خروجی تنظیم کردیم تا سیگنال روشن و خاموش شدن را در آن تولید کنیم.

    حال به وسیله منو File->Generate, Save and Exit تنظیمات خود را ذخیره کنید.

  • فهرست:

    ندارد
     

    منبع:

    ندارد

در اين پروژه سعي بر اين است که علاوه بر آشنايي با ميکروکنترلر AVRو محيط نرم افزاري (labview) سخت افزار،به گونه اي طراحي شود که با دريافت سيگنال آنالوگ ورودي (صوت) از ميکروفن ، از طريق واحدADC ميکرو اين سيگنال به ديجيتال تبديل شود و با توجه به برنامه

مقدمه: آشنايي با ميکرو کنترلرهاي :AVR ميکرو کنترلر : به آي سي هايي که قابل برنامه ريزي مي باشد و عملکرد آنها از قبل تعيين شده ميکروکنترلرگويند ميکرو کنترل ها داراي ورودي - خروجي و قدرت پردازش مي باشد. بخشهاي مختلف ميکروکنترلر :

حافظه هاي ATMagUlb, AVR اين بخش تفاوت ميان حافظه هاي دو، ATmegulb را توصيف مي کند در ساختار AVR دو فضاي حافظه اي، فضاي حافظه اي برنامه توليست وفضاي حافظه اي اوليه وجود دارد در مجموع ATMega16 يکEEPROM براي نگهداري اطلاعات حافظه اي دارد همه

پیشگفتار در اوایل دهه 60 میلادی ایالات متحده در آستانه شکل گیری تکنولوژی نوینی در مهندسی برق بود. ترانزیستور که کمی پس از پایان جنگ جهانی دوم توسط سه دانشمند در آزمایشگاههای کمپانی بل ابداع شده بود، کم کم جایگزین رقیبش لامپ خلا می شد. در سال 1968 رابرت نویس و گوردون مور، دو نفر از پایه گذاران اصلی کمپانی فیرچایلد شرکت جدیدی موسوم به اینتل[1] تاسیس نمو دند. در سال 1969 یک شرکت ...

میکروکنترلر چیست: میکروکنترلر رو درواقع می توان یه کامپیوتر کوچولو در قالب یه چیپ برای کنترل وسایل الکترونیکی (در اینجا ربات) تلقی کرد. تفاوت میکروکنترلر با میکروپروسسور در اینه که میکروکنترلر دارای یک CPU ٫مقدار محدودی RAM ٬ ROM ٬ پورت های I/O و تایمر در درون خود می باشد در صورتی که میکروپروسسور فقط یه CPU هست و شما باید RAM, ROM ,... رو به صورت اجزای جانبی به اون متصل کنید ...

مقدمه فصل يک در موردانواع ميکروکنترلر هاي MEGAAVR است که سعي شده است به طور کلي توضيح داده شود . در فصل دوم شاهد توضيحاتي در مورد عملکرد پروژه ساخت (مدار الکترونيکي ، قطعات تشکيل دهنده ، برنامه مورد استفاده وتوضيحات کامل کننده است . درف

چکيده: DTMF يا Dual Tone Multiple Frequecies روشي است براي توليد سيگنالهاي Tone به منظور استفاده در سيستمهاي تلفن، مودم، کارتهاي صوتي و غيره. اين روش با توجه به استاندارهاي مشخصي که دارد اين امکان و قابليت را به ما مي دهد تا سيگنال Tone مورد نظر را

آموزش ساخت ربات (ميکروکنترلر) ميکروکنترلر چيست: ميکروکنترلر رو درواقع مي توان يه کامپيوتر کوچولو در قالب يه چيپ براي کنترل وسايل الکترونيکي (در اينجا ربات) تلقي کرد. تفاوت ميکروکنترلر با ميکروپروسسور در اينه که ميکروکنترلر داراي يک CPU ?مقدار محدود

تغيير سيستم‌هاي مکانيکي و برقي به سيستم‌هاي الکترونيکي روز به روز در حال افرايش است. در بيشتر تکنولوژي‌هاي عمده، سيستم‌هاي الکترونيکي جايگزين بخش‌هاي مکانيکي شده و از آن پيش افتاده‌اند .امروزه چاپ الکترونيکي شده است. تلويزيون، کامپيوتر و بسياري از ا

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

ثبت سفارش
تعداد
عنوان محصول