آموزش میکروکنترولر AVR از ابتدا تا پیشرفته

در اين بخش مي‌توانيد آموزش و مثال‌های مرتبط با میکروکنترلرهای AVR را مشاهده بفرمایید

مدیران انجمن: SAMAN, sinaset, شوراي نظارت

مطالب برایتان مفید بود

عالی و ساده بود،ادامه دهید
21
81%
خوب و قابل فهم بود،ادامه دهید
5
19%
ساده و قابل فهم نبود.
0
بدون راي
تکراری و سخت بود.
0
بدون راي
 
مجموع رای گیری: 26

Colonel II
Colonel II
نمایه کاربر
پست: 7008
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9184 بار
سپاس‌های دریافتی: 21045 بار
تماس:

Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)

پست توسط sinaset » یک شنبه 23 اسفند 1394, 9:19 am

بنام خداوند بخشنده و مهربان
با سلام


ادامه مبحث فیوزبیت ها .


در پست قبلی تقریبا با فیوزبیت های اصلی آشنا شدید،اما امروز با باقی فیوزبیت ها که اولویت کمتری دارند آشنا خواهیم شد.

آموزش به نقل از تصویر! :

 تصویر 
فکر میکنم هم چیز در تصور گویا باشه. فقط چند نکته :
واحد Jtag یک واحد،برای شبیه سازی و حل مشکلات میکروکنترولر می باشد. واحد Jtag با نشون دادن عملیات درون میکروکنترولر ، بر روی کامپیوتر!می توانه باعث بشه ما مشکلات رو راحتر و سریعتر پیدا کنیم.

نکته پایان در رابطه با فیوزبیت ها،نمی دونم به این نکته اشاره کردم یا که خیر. همه فیوزبیت ها در وضعیت 0 فعال میشوند و در وضعیت 1 غیر فعال،همیشه این نکته رو مد نظر داشته باشید.

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

** (عکس های اپلود شده،اکثرا در سایت پرشین گیگ می باشند،که سابقه خوب و زیادی دارد،اما بعضی ساعت ها بدلیل شلوغی عکس ها رو خوب نمایش نمی دهد،پس اگر عکس ها خوب لود نشدن،چندین بار صفحه را ریفرش کنید یا که در ساعتی دیگر مراجعه کنید)
پایان مبحث فیوزبیت ها.
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

Colonel II
Colonel II
نمایه کاربر
پست: 7008
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9184 بار
سپاس‌های دریافتی: 21045 بار
تماس:

Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)

پست توسط sinaset » دو شنبه 24 اسفند 1394, 10:20 am

بنام خداوند بخشنده و مهربان
با سلام

بهتر است قبل از شروع برنامه نویسی ، ابتدا با خانواده های میکروکنترولرهای AVR اشنا شویم، سپس مدل های معروف را باهم دیگر بررسی کنیم.
اما قبل از شروع یک نکته:ما هنوز با واحدهای ارتباطی چون SPI و I2C و... و همچنین ولتاژ سنج ADC وتایمرها و . .. اشنا نشده ایم. که انشالله بعد از اشنایی مقدماتی با برنامه نویسی با انها اشنا خواهید شد (*ضمن اینکه در صفحه اول،مقداری توضیحات در رابطه با هر کدام داده شده)

خانواده میکروکنترولر AVR

 تصویر  همانجور که در تصویر بالا می ببینید، AVR جمعا 5 خانواده دارد،که همه این خانواده ها توسط شرکت ATmel ساخته میشوند. این خانواده ها از 8 بیت تا 32 بیتی می باشند. (همانجور که گفتیم،بیت! منظور محاسبات سی پی یو و ادرس دهی ها ان می باشد! )  *سری مدل های tiny و aTmega میکروکنترولر AVR در دو دسته بندی مختلف DIP و SMD ساخته میشوند(آشنایی با دسته بندهای ایسی و میکروکنترولر) و باقی میکروکنترولر SMD می باشند.  سری Tiny :  تصویر   خانواده جزو، دسته قدیمی و البته ارزان تر می باشند. همه مدل های این خانواده ، 8 بیتی هستن. مدل های جدید این خانواده تعداد کمتری دارند،و برای کارهای ریزتر،(و ارزان تر) بیشتر مورد استفاده قرار می گیرند.  سری Atmega :  تصویر   پرطرفدار در ایران! همه مدل های این خانواده به صورت هشت بیتی می باشند. از ویژگی ها برجسته این مدل، DIP بودن ان می باشد،که کار کردن با ان را اسان کرده است .    قابلیت ها مهم دیگر این سری داشتن واحد های مختلف و آسانی کار کردن با ان می باشند .. (این سری توسط شبیه ساز ها و نرم افزارها کد نویسی به خوبی و به صورت عمده پشتبانی می شوند!)   کلی،این سری برای کسانی که تازه کار هستن ،و همچنین برای انجام ،پروژها متوسط و ساده،بسیار خوب می باشد.این سری انعطاف خوبی دارد،که در اینده بیشتر با اشنا خواهید شد.  سری Xmega:  تصویر   مدل،جدیدتر از دو مدل قبلی می باشد. سرعت و توانایی های این مدل بسیار بیشتر و پیشرفته تر از دو مدل قبلی می باشد. شرکت Atmel این مدل رو برای رقابت با میکروکنترولرها پیشرفته ARM، ساخته است.  *البته این میکروکنترولر،توانایی بسیار زیادی دارد، اما بنظر نمی رسد،بتواند با ARM رقابت کند! اما خوب برای کسانی که می خواهند،روند پیشرفت را با AVR تجربه کنند بسیار خوب می باشد(مخصوصا اینکه توسط نرم افزار برنامه نویسی کدویژن بخوبی پشتیبانی می شود!)   میکروکنترولر با برد اموزیشی خود ،در سایت و فروشگاه های ایران به فروش می رسد.این میکروکنترولر می تواند در پردازش 8 و 16 بیتی،کار کند. 


سری UC3 و AP7:
 تصویر 
این دو سری که جزو میکروکنترولر AVR می باشد،و جزو میکروکنترولرهای پیشرفته AVR می باشند،که به صورت 32 بیتی کار می کنند .مقالات کمی در رابطه با این سری در میکروکنترولرهای AVR وجود دارد(که احتمالا به خاطره جدید بودن ان می باشد)
برای همین،فعلا تا همین قدر اکتفا می کنیم.

در پست بعدی،بعضی میکروکنترولرهای معروف خانوادهای AVR معرفی میشوند(به دلیلی زیاد بودن انها،مقدور نمی باشد،که همه انها معرفی شوند!)
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

Colonel II
Colonel II
نمایه کاربر
پست: 7008
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9184 بار
سپاس‌های دریافتی: 21045 بار
تماس:

Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)

پست توسط sinaset » سه شنبه 25 اسفند 1394, 9:41 am

بنام خداونده بخشنده و مهربان
با سلام

معرفی بعضی مدل های معروف خانواده AVR

ابتدا از سری TINY
مدل ATTINY13
 تصویر  در بسته بندی DIP    تصویر  در بسته بندی SMD     که می ببینید،این میکروکنترولر 8 پایه دارد! و چثه کوچکی دارد و برای کارهای که نیاز به مساحت کمتر دارد بسیار مناسب می باشد.  تصویر   پایه این میکروکنترولر VCC و GND مربوط به تغذیه میکروکنترولر می باشد،پایه 1 مربوط به RESET و باقی پایه ها (6 پایه) مربوط به IO ها میکروکنترولر می باشد .  مشخصات و ویژگی های این میکروکنترولر:  معماری سی پی یو:   ریسک و پردازش 8 بیتی.   دستور العمل فقط در 1 کلاک.   بایت ریجستر همه منظوره    میلیون محاسبه در فرکانس 20 مگاهرتز.  مشخصات حافظه ها میکروکنترولر:   کیلوبایت حافظه    بایت حافظه ای ای پی    بایت حافظه اس   ویژگی ها:   واحد تایمرکانتر 8 بیتی و 2 واحد    کانال ADC با دقت 10   منبع کلاک در میکروکنترولر(از 3 طریق)   داخلی با فرکانس 4.8 و 9.6    داخلی با فرکانس 128    خارجی تا مگاهرتز (*کلاک خارجی به معنی استفاده از کریستال نمی باشد!یعنی ما باید یک موج مربعی به کمک ایسی ها برای منبع کلاکش درست کنیم)  مودهای کم مصرف (که بعدا توضیح داد میشود)   حالت فعال و با ولتاژ 1.8 و فرکانس 1 مگاهرتز ، 190 میکرو    حالت مود Idle با ولتاژ 1.8 و فرکانس 1 مگاهرتز، 24 میکرو   درون میکروکنترولر attiny13:  تصویر   که در تصویر می ببینید،معماری شبیه همان خانواده atmega می باشد،با این تفاوت که تعدادی از واحدها برداشته و یا کمتر شده است . (بطور کلی معماری بیشتری خانواده tiny و atmega شبیه به هم می باشند،که می توان گفت فقط واحد و پایه ها و اندازه حافظه های ان کمتر و بیشتر شده است)  بطور کلی این میکروکنترولر،میکروکنترولر خوب،کم توان!کم حجم و برای کارهای کوچیک تر مناسب می باشد.قیمت این میکروکنترولر در بسته بندی DIP در حال حاضر 2200 (تا 1800 اگر اشتباه نکنم) می باشد و در بسته بندی SMD قیمتی نزدیک به 1400 تومان دارد.   [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]می توانید دیتاشیت (یا همان برگه اطلاعاتی) میکروکنترولر ATTINY13 را دانلود فرمایید.  . 
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

Colonel II
Colonel II
نمایه کاربر
پست: 7008
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9184 بار
سپاس‌های دریافتی: 21045 بار
تماس:

Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)

پست توسط sinaset » چهار شنبه 26 اسفند 1394, 9:52 am

بنام خداوند بخشنده و مهربان
باسلام

قبل از شروع بحث ، یک نکته رو خدمتون عرض کنم،سری tiny علاوه بر ضعیف بودن در مقابل سری Atmega (و سایر سری ها) ،سی پی یو ان دستورات کمتری را اجرا می کنند.همانجور که در پست قبلی دیدید، attiny13 حدود 120 دستور العمل دارد. (این در حالیست که سری atmega و میکروکنترولر مثل atmega32 می تواند 131 دستور العمل مختلف را درک کند و به کار گیرد ).اما خوب این دلیل بر بد بودن این سری از خانواده AVR نیست! تصور کنید، ما فقط می خواهیم،یک شمارنده ساده با میکروکنترولر بسازیم، یا یک ساعت بسازیم و یا .. نیازی انچنانی به محاسبات و واحدها مختلف نداریم،پس می توانیم به سراغ Tiny برویم.(البته بعضی سری ها خانواده Tiny واحدها و قابلیت خوبی دارن،که در ادامه انها را معرفی میکنم)

یک نکته دیگر ، ریجستر همه منظور،(که در پست ها قبلی توضیح داده شد) در خانواده AVR به صورت 32 بایتی می باشند (یعنی اکثرا 32 بایتی هستن، در سری atmega و attiny)

ادامه ...
معرفی بعضی مدل های سری TINY از خانواده AVR
مدل ATTINY26

 تصویر  تصویر   که در تصویر بالا می ببینید.این میکروکنترولر جمعا 20 پایه دارد! که پایه 10 ان RESET و پایه 5 و 6 ان مثبت و منفی (تغذیه) و دو پایه دیگر ان AVCC و GND (برای تغذیه ADC) . جمعا 16 پایه IO دارد (پایه RESET را می توان تغییر حالت به IO داد)  مشخصات و ویژگی های میکروکنترولر:  معماری سی پی یو:   118 دستور العمل مختلف، که هر کدام با یک 1 چرخه کلاک اجرا میشود (* مدل Attiny13 دو دستور العمل بیشتر دارد)   بایت ریجستر همه    میلیون محاسبه در فرکانس 16   مشخصات حافظه در میکروکنترولر:   کیلوبایت حافظه    بایت ای ای پی    بایت اس   
  ویژگی ها:   واحد تایمر کانتر 8    واحد تولید موج    کانال ADC با دقت 10 بیت(11 پایه ان قادراست ولتاژ ها را اندازه بگیرید)     ....  منبع کلاک در میکروکنترولر:(تا حدودی! شبیه سری Atmega می باشد)   داخلی تا 8 مگاهرتز    کوارتز بیرونی تا 16    کوارتز بیرونی با فرکانس پایین (32.768 کیلوهرتز و یا فرکانس های پایین )   خارجی (موج مربعی)   خارجی (استفاده از یک خازن و مقاومت بر تولید موج)  این میکرو کنترولر چندان کم مصرف نمی باشد و به مانند میکروکنترولرهای معمولی و ساده Avr می باشد (برعکس Attiny13 که بسیار کم مصرف بود) اما بجایی اون قدرتش و توانایی هایش بیشتر از Attiny13 می باشد ..  یک تصویر جالب در تفاوت منبع کلاک در Attiny13 و attiny26:  تصویر  منابع کلاک در attiny13    که در تصویر می ببینید،2 گزینه بیشتر ندارد!    تصویر  منابع کلاک در attiny26  ،همانجور که می ببینید،منابع مختلف برای تامین کلاک میکرو وجود   درون میکروکنترولر attiny26:  تصویر  [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]دیتاشیت (یا برگه اطلاعاتی) میکروکنترولر    دارد...  . 
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

Colonel II
Colonel II
نمایه کاربر
پست: 7008
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9184 بار
سپاس‌های دریافتی: 21045 بار
تماس:

Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)

پست توسط sinaset » پنج شنبه 27 اسفند 1394, 10:22 am

بنام خداوند بخشنده و مهربان
با سلام


در این پست یک مدل دیگر از خانواده tiny معرفی میشود. و دیگر به سراغ سری atmega خواهیم رفت (می توانید خودتان با جستجو "AVR tiny" اطلاعات دیگری از سایر میکروکنترولرهای سری tiny بدست بیاورید)

ادامه ...(اخرین مدل معرفی خانواده Tiny)
معرفی بعضی مدل های سری TINY از خانواده AVR
مدل ATTINY2313
 تصویر  تصویر 
این مدل نیز،مدل معروفی می باشد و نسبت به دیگر مدل ها قابلیت ها بیشتری دارد .
این میکروکنترولر داری 20 پایه می باشد ،که دو پایه ان VCC و GND (تغذیه) و 18 پایه دیگر ان IO ! می باشد(که از این نظر جالب می باشد!)

مشخصات و ویژگی های میکروکنترولر:
معماری سی پی یو :
120 دستورالعمل، قابل اجرا در یک چرخه کلاک
32 بایت،ثبات همه منظوره
20 مگاهرتز فرکانس و 20 میلیون محاسبه.

حافظه ها:

2 کیلوبایت حافظه فلش
128 بایت حافظه ای ای پی رام
128 بایت اس رم


واحدها و ویژگی ها:

1 تایمرکانتر 8 بیتی
1 تایمرکانتر 16 بیتی
4 pwm
1 واحد USI
1 واحد USART
و...


منبع کلاک در میکروکنترولر:

1- از طریق اسیلاتور داخلی (تا فرکانس 8 مگاهرتز)
2-از طریق کریستال کوارتز خارجی
3-کلاک خارجی

----


درون میکروکنترولر:
 تصویر  منابع کلاک در Attiny2313:  تصویر  [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]دیتا شیت   . 
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

Colonel II
Colonel II
نمایه کاربر
پست: 7008
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9184 بار
سپاس‌های دریافتی: 21045 بار
تماس:

Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)

پست توسط sinaset » جمعه 28 اسفند 1394, 10:36 am

بنام خداوند بخشنده و مهربان
باسلام


اما سری ATMEGA


در حال حاضر سری ATMEGA بدلیلی برطری ها که نسبت به سری ATTIY دارد،بیشتر و عمده تر مورد استفاده قرار می گیرند. که ما انشالله مدل های معرف ان را معرفی خواهیم کردم
*در سری ATmega معمولا عدد ذکر شده بعد از نام Atmega ، میزان حافظه فلش میکروکنترولر می باشد.به عنوان مثال میکروکنترولر Atmega8 ، حافظه اش 8 کیلوبایت می باشد

معرفی سری ATMEGA

میکروکنترولر ATMEGA8
میکروکنترولر mega8 جزو میکروکنترولرهای می باشد،که بیشتر استفاده از ان میشود،به چند دلیل، ارزان قیمت بودن،سایز کوچک،کم مصرف بودن،واحدهای خوب،توانایی های خوب و .. (ما در اموزش ها اینده،انشالله از این میکرو بیشتر استفاده خواهیم کرد.)
 تصویر  تصویر   که در تصویر بالا می ببینید،این میکرو 28 پایه دارد،که دو پایه مربوط به تغذیه (7 و 8) و یک پایه مربوط به ریست (پایه 1) و سه پایه هم مربوط به AVCC و AREF و GND (پایه 22 و 21 و 20 ) .. و جمعا حدود 23 پایه IO دارد (پایه RESET قابلیت دارد که به کمک فیوزبیت که قبلا توضیح دادیم،به IO تبدیل شود)  درون میکروکنترولر Atmega8:  تصویر  مشخصات و ویژگی های میکروکنترولر:  معماری سی پی یو:   دستور االعمل در یک کلاک( * در سری Attiny حدود 11 تا 10 دستور کمتر از این میزان بود)   بایت ثابت همه    میلیون محاسبه،در فرکانس 16   حافظه:   کیلو بایت حافظه  
  بایت حافظه ای ای پی    کیلوبایت حافظه اس   دیگر واحدها:   واحد تایمر کانتر 8    واحد تایمر کانتر 16    کانال    واحد (I2C (   واحد    واحد    واحد ADC (تشکیل شده از 8 پایه)  ...  منبع کلاک در میکرو:   ساز داخلی تا 8    کوارتز بیرونی تا 16    کوارتر فرکانس پایین بیرونی (32.768 کیلوهرتز و ..)      ساز RC خارجی (استفاده از خازن و مقاومت برای تولید موج)   ATmega8 یک میکروکنترولر خوب و مناسب می باشد. قیمت ان در حال حاضر حدود 3400 تومان می باشد . (گرچه بعضی سایت گران تر و بعضی ارزان تر میدهند) این میکروکنترولر در حالت مدکم مصرف،می تواند زیر 1 میکروامپر مصرف کند ، که این بسیار خوب می باشد (با توجه به قابلیت های ان)    که قبلا هم گفتیم،سری Atmega کامل تر و برتر از سری Attiny می باشد. انشالله در اینده بهتر با این سری اشنا خواهید شد.  منبع کلاک در میکرو:  تصویر  [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]دیتا   . 
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

Colonel II
Colonel II
نمایه کاربر
پست: 7008
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9184 بار
سپاس‌های دریافتی: 21045 بار
تماس:

Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)

پست توسط sinaset » یک شنبه 1 فروردین 1395, 8:56 am

بنام خداوند بخشنده و مهربان
باسلام

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


معرفی سری ATMEGA
میکروکنترولر ATMEGA32
 تصویر  تصویر 
این میکروکنترولر،جزو میکروکنترولرهای معروف سری Mega می باشد. این میکرو تقریبا اخرین حد بسته بندی به صورت DIP می باشد! در واقع این میکروکنترولر 40 پایه دارد، و دیگر بیش از 40 پایه به صورت دیپ ساخته نشد! و معمولا بعد از 40 پایه به صورت بسته بندی ریز SMD می باشد . (البته به کمک برد تبدیل می توان مدل ها SMD را به DIP تبدیل کرد)شرکت ها به خاطر اینکه بسته بندی دیپ فضایی زیاد اشغال می کند، ترجیحا دیگر بیش از 40 پایه را به صورت DIP تولید نکردن.
این میکروکنترولر (که ما همیشه در پست ها اموزشی ان استفاده میکردیم) از 40 پایه تشکیل شده. که پایه 9 مربوط به ریست و پایه 10 و 11 مربوط به تغذی و پایه 12 و 13 مربوط به کریستال خارجی و پایه 32 و 31 و 30 ( AVcc ,GND,AREF) می باشد، این میکروکنترولر جمعا 32 پایه IO دارد، که نسبتا به میکروکنترولرها قبلی معرفی شده بیشتر می باشد .

درون میکروکنترولر:
 تصویر 


مشخصات و ویژگی های میکروکنترولر:
معماری سی پی یو:
131 دستورالعمل در یک کلاک ( 1 دستور بیشتر از Atmega8)
32 بایت ثابت همه منظوره
16 میلیون محاسبه،در فرکانس 16 مگاهرتز

حافظه:
32 کیلوبایت بایت حافظه فلش (همانجور که از نام میکرو مشخص است،حافظه ان 32 کیلوبایت می باشد)
1 کیلوبایت حافظه ای ای پی رام
2 کیلوبایت حافظه اس رم

دیگر واحدها:
2 واحد تایمر کانتر 8 بیتی
1 واحد تایمر کانتر 16 بیتی
4 کانال PWM
1 واحد (I2C (TWI 1
1 واحد USART
1 واحد SPI
1 واحد ADC (تشکیل شده از 8 پایه)

منبع کلاک در میکرو:
نوسان ساز داخلی تا 8 مگاهرتز
کریستال کوارتز بیرونی تا 16 مگاهرتز
کریستال کوارتر فرکانس پایین بیرونی (32.768 کیلوهرتز و ..)
کلاک خارجی
نوسان ساز RC خارجی (استفاده از خازن و مقاومت برای تولید موج)

این میکروکنترولر در مد کم مصرف می تواند 1 میکروامپر مصرف کند ( تقریبا به اندازه atmega8) .منبع کلاک این میکروکنترولر به مانند Atmega8 می باشد.
بطور کلی این میکروکنترولر،برای تازه کارها و کسانی که می خواهند کارهایشان سریع تر انجام دهند و با بسته بندی SMD کار نکنند، خوب می باشد .

[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]دیتاشیت
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

Colonel II
Colonel II
نمایه کاربر
پست: 7008
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9184 بار
سپاس‌های دریافتی: 21045 بار
تماس:

Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)

پست توسط sinaset » یک شنبه 1 فروردین 1395, 9:24 am

معرفی سری ATMEGA
میکروکنترولر ATMEGA128

اما یک مدل معروف دیگر خانواده Atmega یا mega ، میکروکنترولر 64 پایه ی ! Atmega128 می باشد . بله این میکروکنترولر 64 پایه مختلف دارد . این میکروکنترولر به صورت SMD می باشد . (و البته می توان به کمک برد تبدیل ان را تبدیل به DIP کرد.)

 تصویر  در بسته بندی SMD    تصویر  همانجور که در تصویر بالا می ببینید این میکروکنترولر به کمک یک برد تبدیل به DIP تبدیل شده تا بتوان ان را به بردبرد وصل کرد.    تصویر   های که پایه زیادی دارن،معمولا چندین پایه برای تغذیه دارن(که برای بهتر کار کردن میکروکنترولر باید وصل شوند) پایه 21 و 22 مربوط به تغذیه و پایه 52 و 53 مربوط به تغذیه دوم میکرو می باشد. پایه 24 و 23 مربوط به کریستال خارجی می باشد . و پایه 20 مربوط به ریست کردن میکرو می باشد و پایه های 1 و 62 و 63 و 64 (مربوط به Avcc و Aref و GND و Pen ) می باشد . این میکروکنترولر جمعا 53 پایه IO دارد ! 

درون میکروکنترولر: تصویر 

مشخصات و ویژگی های میکروکنترولر:
معماری سی پی یو:
133 دستورالعمل در یک کلاک ( 2 دستور بیشتر از Atmega32)
32 بایت ثابت همه منظوره
16 میلیون محاسبه،در فرکانس 16 مگاهرتز
و...

حافظه:
128 کیلوبایت بایت حافظه فلش (همانجور که از نام میکرو مشخص است،حافظه ان 128 کیلوبایت می باشد)
4 کیلوبایت حافظه ای ای پی رام
4 کیلوبایت حافظه اس رم
**** می توان به این میکروکنترولر 64 کیلو بایت Sram خارجی وصل کرد (این قابلیت در میکروکنترولر ها atmega8 , 32 وجود نداشت)
و..
دیگر واحدها:
2 واحد تایمر کانتر 8 بیتی
2 واحد تایمر کانتر 16 بیتی
2 کانال PWM بصورت 8 بیتی
6 کانال PWM بصورت 2 تا 16 بیتی
1 واحد (I2C (TWI 1
2 واحد USART
1 واحد SPI
1 واحد ADC (تشکیل شده از 8 پایه)
قابلیت اشکال زدایی و بررسی کدها
و...

منبع کلاک در میکرو:
نوسان ساز داخلی تا 8 مگاهرتز
کریستال کوارتز بیرونی تا 16 مگاهرتز
کریستال کوارتر فرکانس پایین بیرونی (32.768 کیلوهرتز و ..)
کلاک خارجی
نوسان ساز RC خارجی (استفاده از خازن و مقاومت برای تولید موج)


منبع کلاک این میکروکنترولر نیز به مانند میکرکنترولر ها Atmega8 ,32 می باشد


[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]دیتاشیت
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

Colonel II
Colonel II
نمایه کاربر
پست: 7008
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9184 بار
سپاس‌های دریافتی: 21045 بار
تماس:

Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)

پست توسط sinaset » چهار شنبه 4 فروردین 1395, 8:57 am

بنام خدا
با سلام

معرفی سری ATMEGA
میکروکنترولر ATMEGA2560

 تصویر 
  میکروکنترولر جمعا 100 پایه دارد !!!  تصویر   10، 11 و 31،32 و 61،62 و 80،81 مربوط به تعذیه.پایه 98و99 و 100 (AVCC و GNDو AREF) پایه 33 و 34 مربوط به کریستال. و پایه 30 مربوط به RESET می باشد. این میکروکنترولر جمعا 86 پایه IO دارد .   میکروکنترولر واحدهای و قابلیت های بیشتری نسبت به سایرمیکروکنترولرها(سری ATmega) دارد و می تواند کارهایی بیشتر انجام دهد   درون میکروکنترولر:  تصویر 
مشخصات و ویژگی های میکروکنترولر:
معماری سی پی یو:
135 دستورالعمل در یک کلاک ( 2 دستور بیشتر از Atmega128)
32 بایت ثابت همه منظوره
16 میلیون محاسبه،در فرکانس 16 مگاهرتز
و...

حافظه:
256 کیلوبایت بایت حافظه فلش (همانجور که از نام میکرو مشخص است،حافظه ان 256 کیلوبایت می باشد)
4 کیلوبایت حافظه ای ای پی رام
8 کیلوبایت حافظه اس رم
**** می توان به این میکروکنترولر 64 کیلو بایت Sram خارجی وصل کرد (این قابلیت در میکروکنترولر ها atmega8 , 32 وجود نداشت)
و..
دیگر واحدها:
2 واحد تایمر کانتر 8 بیتی
4 واحد تایمر کانتر 16 بیتی
4 کانال PWM بصورت 8 بیتی
12 کانال PWM بصورت 2 تا 16 بیتی
1 واحد (I2C (TWI 1
4 واحد USART
1 واحد SPI
1 واحد ADC (تشکیل شده از 16 پایه)
قابلیت اشکال زدایی و بررسی کدها
و...

منبع کلاک در میکرو:
نوسان ساز داخلی تا 8 مگاهرتز
کریستال کوارتز بیرونی تا 16 مگاهرتز
کریستال کوارتر فرکانس پایین بیرونی (32.768 کیلوهرتز و ..)
کلاک خارجی
نوسان ساز RC خارجی (استفاده از خازن و مقاومت برای تولید موج)


به طور کلی این میکروکنترولر،میکروکنترولر خوب و قدرتمندی از سری Atmega می باشد،و به کمک واحدها و پایه هایی و.. زیاد ان می توان کار بسیاری بیشتری انجام داد

[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] دیتاشیت
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

Colonel II
Colonel II
نمایه کاربر
پست: 7008
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9184 بار
سپاس‌های دریافتی: 21045 بار
تماس:

Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)

پست توسط sinaset » چهار شنبه 4 فروردین 1395, 9:33 am

معرفی سری ATMEGA

در این پست یک مدل دیگر از سری MEGA خانواده AVR رو معرفی می کنیم،تا بدین ترتیب بحث معرفی میکروکنترولرها رو تمام کنیم. به چند دلیل. اول اینکه سری MEGA و TINY مدلهایی متنوع و زیادیی دارند،اگر قرار باشد،به همه انها پرداخته شود! باید یک تاپیک جداگانه برای ان باز شود.. دوم اینکه، سری XMEGA (یا سری بالاتر از ATMEGA) معماری متفاوت دارند،اگر قرار باشد در اینجا معرفی شوند،باید وقت زیادی برای انها گذاشته شود تا واحد و مکانیزیم و ... معرفی شوند!

اما بطور کلی،تقریبا مدل های معروف خانواده TINY و MEGA در تاپیک معرفی شدند.که فکر میکنم هم میزان کافی بوده باشد .

اخرین مدل معرفی..
میکروکنترولر ATMEGA328

این میکروکنترولر نسل جدیدی از خانواده Atmega می باشد. این میکروکنترولر در ازمایشات انجام شده،بخوبی عمل کرده، بطور کلی میکروکنترولر خوب و با انعطافی می باشد.

 تصویر  28 پایه و با بسته بندی DIP   (تعداد پایه هایی ان به اندازیه میکرو Atmega8 می باشد)  تصویر   7 و 8 مربوط به تغذیه میکروکنترولر،پایه 20 و 21 و 22 AVCC AREF GND می باشد.این میکروکنترولر جمعا 23 پایه IO  

درون میکروکنترولر Atmega328:
 تصویر مشخصات و ویژگی های میکروکنترولر:

معماری سی پی یو:
131 دستور االعمل در یک کلاک
32 بایت ثابت همه منظوره
20 میلیون محاسبه،در فرکانس 20 مگاهرتز
حافظه:
32 کیلو بایت حافظه فلش
1 کیلوبایت حافظه ای ای پی رام
2 کیلوبایت حافظه اس رم
دیگر واحدها:
2 واحد تایمر کانتر 8 بیتی
1 واحد تایمر کانتر 16 بیتی
6 کانال PWM
1 واحد (I2C (TWI
1 واحد USART
1 واحد SPI
1 واحد ADC (تشکیل شده از 6 پایه در بسته بندی DIP و در بسته بندی SMD دو پایه بیشتر برای این کار اختصاص داده شده یعنی 8 پایه )
و...
منبع کلاک در میکرو:
نوسان ساز داخلی تا 8 مگاهرتز
کریستال کوارتز بیرونی تا 20 مگاهرتز
کریستال کوارتر فرکانس پایین بیرونی (32.768 کیلوهرتز و ..)
کلاک خارجی
نوسان ساز RC خارجی (استفاده از خازن و مقاومت برای تولید موج)

این میکروکنترولر جالب علاوه بر قابلیت های خوبی که دارد،یک دماسنج داخلی نیز دارد!(که می توان از ان استفاده کرد) این میکروکنترولر، می تواند در مدهایی کم مصرف، حدود 100 نانو امپر (یا 0.1 میکرو امپر) مصرف کند،که نسبت به دیگر میکروکنترولر بسیار کم مصرف می باشد.
[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]دیتاشیت

پایان مبحث معرفی میکروکنترولرها
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

Colonel II
Colonel II
نمایه کاربر
پست: 7008
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9184 بار
سپاس‌های دریافتی: 21045 بار
تماس:

Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)

پست توسط sinaset » پنج شنبه 5 فروردین 1395, 10:29 am

بنام خداوند بخشنده و مهربان
باسلام

مبحاث سخت افزاری بازهم تمام نشده! و به این زودی ها هم تمام نمی شود! برای همین مجبور هستیم، وارد مباحث نرم افزاری شویم،و هرجا که لازم شد،از دوباره وارد مبحث سخت افزاریی بشویم.
 تصویر 
برنامه نویسی سخت افزاری.

در الکترونیک(وبطور کلی) ما سه سطح برنامه نویسی. 1-سطح بالا 2-سطح میانه 3- سطح پایین


برنامه نویسی سطح پایین.
 تصویر 
پایین ترین سطح برنامه نویسی! در این سطح برنامه نویسی، ما به سخت افزار سی پی یو و رم و .. دستورات مستقیم میدهیم و انها را به هر طریق که بخواهیم می توانیم کنترول کنیم

*ویژگی این سطح برنامه نویسی، این است،که شخص می تواند بسیار حرفه ی تر کارها را کنترول کند و منابع را در کنترول خود داشته باشد.
*معایب این سطح برنامه نویسی، باید شخص واقعا حرفه باشد، و وقت زیادی صرف کند..

از جمله برنامه های معروف برنامه نویسی سطح پایین، اسمبلیASM و پایین تر از ان کدماشین می باشد.
 تصویر   تصویر بالا کدهای نوشته شده به زبان اسمبلی برای سخت افزار ارسال  


برنامه نویسی سطح بالا.

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

مکانیزم نرم افزارهای سطح بالا، اینطور می باشد که، کدهایی که ما نوشته ایم، را به کمک داده ها خود(که توسط شرکت سازنده طراحی شده) به بهترین شکل ممکن تبدیل به کدهای اسمبلی می کنند! (بدون انکه،ما خودمان را درگیر این کدها بکنیم.)

*ویژگی این سطح برنامه نویسی، سادگی و سرعت در برنامه نویسی،اخطار در صورت بودن خطا در برنامه،عدم درگیر کردن برنامه نویس در جزییات برنامه نویسی و ..
*معایب این سطح برنامه نویسی،کنترول کمتر منابع و سخت افزار،پیشرفت تا حدودی کمتر در این سطح برنامه نویسی(نسبت به سایر سطح ها)،بطور کلی این سطح برنامه نویسی برای حرفه شدن چندان مناسب نمی باشد

از جمله برنامه های معروف این سطح، بیسک BASIC و در الکترونیک بسکام (که همان زبان برنامه نویسی بیسک است) می باشد .
 تصویر   تصویر بالا کد نوشته شده به زبان بسیک برای میکروکنترولر ارسال  

برنامه نویسی سطح میانه.
 تصویر 
اما ما به غیر از دو سطح ذکر شده،سطح دیگری نیز داریم،که نه خیلی سطح بالاست و نه خیلی پایین است .

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

این سطح برنامه نویسی،هم به مانند سطح بالا، کدها را به اسمبلی تبدیل می کند،اما بخاطره اینکه سطح ان پایین تر می باشد،بهتر این کار را انجام میدهد (بدلیل اینکه ما ریزکارهای بیشتر برای او تعریف می کنیم)

*ویژگی این سطح برنامه نویسی،برنامه نویسی متوسط با سرعت متوسط،اخطار در صورت بودن اشکال در خط دستوری،دارا بودن قابلیت های خوب از دو سطح برنامه نویسی سطح بالا و پایین.برای حرفه شدن بسیار خوب و مناسب می باشد
*معایب این سطح برنامه نویسی،گذاشتن وقت بیشتر برای مطالعه و کار کردان با ان ،تا حدودی سخت بودن نسبت به برنامه نویسی سطح بالا.

از جمله برنامه های معروف در این سطح،برنامه نویسی C و C++ می باشد. که برای الکترونیک کدویژن (برنامه نویسی C) و اتمل استدیو و.. می باشد
(لازم به ذکر است، C++ تا حدودی بالاتر از C می باشد )
 تصویر  تصویر از زبان ها برنامه نویسی و دسترسی نزدیک تر به سخت افزارها .
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

Colonel II
Colonel II
نمایه کاربر
پست: 7008
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9184 بار
سپاس‌های دریافتی: 21045 بار
تماس:

Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)

پست توسط sinaset » جمعه 6 فروردین 1395, 5:54 pm

بنام خدا
با سلام

ما در برنامه نویسی دقیقا چه کاری انجام میدهیم؟!

دنیا برنامه نویسی یک دنیایی پیچیده و خلاقانه است ! چرا خلاقانه؟!!!

واحد USART و I2C که در میکروکنترولر (معرفی نامی شدن) را بخاطره دارید؟؟! ما به کمک برنامه نویسی می توانیم چندتا از انها را بسازیم! بله می توانیم خودمان انها را بسازیم.

یا که مثلا می توانیم،با یک میکروکنترولر به مانند attiny13 ،که جمعا 5 ورودی خروجی دارد (IO) ، یک LCD که نیاز به 7 پایه IO برای راه اندازه دارد، را راه اندازی کنیم! می پرسید چطور؟ به کمک ایسی ها! بله ایسی ها نقشی بسیار مهم در مدارهای ما دارند، و ما می توانیم مدارمان را قدرتمند و بزرگ کنیم (ایسی ها که معمولا زیر 1000 تومان قیمت دارن!)
 تصویر  تصویر  راه اندازی، 8 قطعه LED به واسطه ایسی 74hc595 و با میکروکنترولر attiny13   کلی پایه ها IO میکروکنترولر علاوه برکارهای پیش فرض خود،قابلیت دارد،که ما انها را به حالت ها مختلف که می خواهیم در بیااوریم .   برنامه نویسی و استفاده از منابع، می توانید هزینه را کاهش دهد! و هرچقدر این کارها به صورت خوب و صحیح انجام داده شود،مدارها بسیار با کیفیت تر و دقیق کار خواهد کرد.  به زبان ساده تر اگر بخواهیم،بگوییم که سخت افزار مهم تر است، یا برنامه نویسی ! باید گفت، هر دو مهم و اصل می باشند! سخت افزار بدون برنامه نویسی صحیح هدر میرود! و برنامه نویسی بدون سخت افزار خوب،بخوبی جوابگو نیست !  پس ما همیشه باید طوری برنامه نویسی کنیم و میکروکنترولر کنترولر را انتخاب کنیم،که بتوانیم،حداکثر استفاده را از ان ببریم .  . 
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

ارسال پست

بازگشت به “آموزش و مثال‌ها AVR”