آموزش AVR (آموزش های آقای مهدی مهدوی)

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

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

New Member
پست: 1
تاریخ عضویت: یک شنبه 17 آذر 1392, 12:50 pm

Re: آموزش AVR

پست توسط MNR85 » یک شنبه 17 آذر 1392, 12:54 pm

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

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

Re: آموزش AVR

پست توسط sinaset » یک شنبه 17 آذر 1392, 7:29 pm

MNR85 نوشته شده:سلام دوستان
من یه میکرو32 داشتم.ولی بعد از اخرین استفادم دیگه پروگرامرم میکرو رو نمیشناسه.
چه طور باید بفهمم که میکرو سوخته یا نه؟
با تشکر


سلام بر شما دوست من

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

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

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

Re: آموزش AVR

پست توسط sinaset » یک شنبه 21 دی 1393, 10:35 am

با سلام

امیدوارم اقای "Mahdi Mahdavi" هر وقت،وقت کردن این تاپیک رو ادامه بدن.اموزش های بسیار خوب و روانی رو در اینجا قرار دادن ..
باتشکرتصویر
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

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

Re: آموزش AVR

پست توسط sinaset » پنج شنبه 22 مرداد 1394, 9:11 am

با سلام
---
با توجه به اینکه اقای مهدی به دلیلی .. تاپیک رو ادامه نمی دهند.سعی می کنیم،به زبان دیگر تاپیک را ادامه دهیمتصویر
==========================
 تصویر 
مروری کوتاه بر میکروکنترولرها.

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

مرورکوتاه بر زبان برنامه نویسی

زبان برنامه نویسی به دو بخش سطح پایین و سطح بالا تقسیم میشود.
سطح پایین:در این نوع زبان برنامه نویسی،تقریبا باید همه کارها رو خودمان انجام دهیم، و ریزکاری ها خودش را نیز دارد.(ولی بهینه تر از دیگر سطح های برنامه نویسیت) مثل زبان اسمبلی یا تا حدودی زبان C
سطح بالا:در این زبان برنامه نویسی،نیازی به نوشتن کدهای طولانی نیست،و می توان خیلی سریعتر کارها را انجام داد(بدلیل اینکه با واسطه کدها برای سیستم فرستاده میشود،سرعت از زبان سطح پایین،پایین تر می باشد) مثل زبان بیسیک (بسکام) یا C++ و تا حدودی C ( زبان C سطح پایین تر از دو گزینه های قبلی می باشد)

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

این سری از میکروکنترولر ها شرکت ATMEL بیشتر در بسته بندی DIP ( مانند تصویر اول صفحه) هستن. و معماری ان ها قدیمی می باشد!
اکثر انها 8 بیتی هستن ( دریافت 8 عدد 0 یا 1 ،در 1 فرکانس کاری خودشان)، و کار کردن با انها اسان می باشد
به راحتی پروگرام میشون و بدلیل نوع بسته بندیشان DIP ،بیشتر مورد استفاده قرار می گیرند(بدلیل بزرگ بودن،سریعتر می توان انها را لحیم کرد)
امکانتی از قبیل واحدهای تایمر،واحد PWM ،اینتراپت،ADC،مقایسه گر، و .... دارند که می توان به کمک این واحد هزاران کار مختلف انجام داد.
بیشتر میکرو کنترولر مورد استفاده از این خانواده در ایران،بیشتر ATMEGA8 و ATmega32 می باشند
جدیدترین میکروکنترولر DIP از این خانواده میکروکنترولر ATMEGA328 می باشد (که فرکانس کاریش به 20 مگاهرتز ارتقاء یافته،همچنین،حافظه اش بیشتر شده و همچنین دماسنجی داخلی هم نیز دارد)

مروری کوتاه با برنامه نویسی با کدویژن.

نرم افزار کدویژن یک نرم افزار به زبان C است که می توان به کمک ان برای میکروکنترولر برنامه بهتری نوشت.
در ایران اکثرا یا با کدویژن برنامه مینوسن(که برای حرفه ها این گزینه مناسب تر می باشد)یا با بسکام اقدام به برنامه نویسی می کنند(که اسان تر و ساده تر می باشد)
اما در خارج، بیشترAtmel Studio (نرم افزار رایگان خود شرکت اتمل) و IAR و به تازگی زبان برنامه نویسی اردوینو (که واقعا داره روز به روز بیشتر هم میشه،و بیشتر برای بردهای مبتنی بر خودش نوشته میشه،اما من نظر بخصوصی در رابطه اش ندارم!)

بطور کلی نرم افزار کدویژن بسیار خوبه،و این امکان رو برای کاربران محیا میکنه که به کدهای اسمبلی نوشته شده هم دسترسی داشته باشن .
اما پیشنهاد میشه،همراه با یاد گرفتن کدویژن،نرم افزار Atmel Studio رو هم یاد بگیرد،تا در اینده به مشکلات کمتری بر بخورید.

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

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

Re: آموزش AVR

پست توسط sinaset » جمعه 23 مرداد 1394, 9:45 am

با سلام

مروری کوتاه بر نحویه ارسال برنامه نوشته شده به میکرو (پروگرامر)

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

به کمک پروگرامر می توانید برنامه نوشته شده را به راحتی بر روی میکرو بریزید.
به کمک پروگرامر می توانید فیوزبیت ها را تنظیم کنید(به کمک فیوزبیت ها می توایند سرعت میکروکنترولر و بعضی از امکانات میکروکنترولر را خاموش و روشن کنید)

تقریبا هر میکرو توانایی دارد که بیش از 1000 بار پروگرام شود ...!

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

مدار تغذیه میکروکنترولر همیشه یا 5 ولت یا کمتر از 5 ولت باشد(در مدل ها حرفه تر معمولا 3.3 ولت و کمتر می باشد). وهمیشه این ولتاژ باید ثابت بماند،وگرنه به پروسس پردازش و همچنین به خود میکرو صدمه وارد می کند.
برای همین همیشه باید از رگولاتور (تثبت کننده ولتاژ) استفاده کرد.
رگولاتور LM7805 معروفترین رگولاتور می باشد که قیمت پاینی دارد و می تواند 5 ولت با 1 امپر را به شما تحویل دهد. در صورتی که شما به ان ولتاژ 12 تا 6 ولت تحویل دهید! (در برگه کارخانه گفته شده تا محدود 20 ولت ،ولی دقت کنید،رگولاتورهای موجود در بازار کیفیت چندان خوبی ندارند و حتا همین 12 ولت هم برایشان زیاد است،و حتما هتسینگ به ان وصل کنید)

مروری بر نویز بر روی AVR

میکروکنترولر AVR نویز پذیر می باشند،پس همیشه باید علاوه بر خازن صافی ... از خازن ها 100 نانو(خازن 104 عدسی) بر روی پایه های VCC و GND (مثبت و منفی میکروکنترولر) و فیلتر پایین گذر! بر روی پایه AVCC (این پایه + و برق اضافه میکرو می باشد.فیلتر پایین گذر تشکیل شده از یک سلف 1 یا 10 میکرو هانری به همراه خازن 104،که نمی گذارد نویز وارد میکرو شود)

 تصویر   موقعه استفاده از دکمه بر روی پایه ها میکروکنترولر باید پایه ها را با مقاومت 4.7 تا 10 کیلو اهم پول اپ یا پول دان کنیم.  تصویر   پول اپ این است،نویز را از پایه که دکمه بر روی ان است را می گیرد.(با فرستادن یک ولتاژ ضعیف مخالف در زمانی که ولتاژی بر روی پایه نیست)  ادامه دارد....  باتشکر. 
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

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

Re: آموزش AVR

پست توسط sinaset » شنبه 31 مرداد 1394, 9:55 am

با سلام

ادامه مبحث
 تصویر 
مرور کوتاه بر توانایی ها یک میکروکنترولر
به کمک میکروکنترولر و استعداد و خلاقیت خودتان ،می توانید انواع و اقسام کارها را انجام دهید ..

می تونید به کمک یک میکروکنترولر از 1 LED تا 10 ها هزار LED (با واسط) کنترول کنید
می تونید ربات طراحی کنید و دست و پاها و ذهن و کلیه مکانیزم هاش را به میکرو واگذار کنید
می توانید ساعتی زیبا و ساده طراحی کنید!
می توانید کنسول ساده بازی طراحی کنید!
می توانید به مانیتور وصلش کنید!
می توانید به سیم کارت ارتباطش دهید
می توانید به GPS ارتباط دهیش کنید
می توانید به وایرلس مجهزش کنید
می توانید به کامپیوتر ارتباطش دهید.
می توانید با ان پرنده هوشمند(کواد کوپتر) بسازید
می توانید با ان یک کامپیوتر بسازید!(ساده)
می توانید گلخانه هوشمند درست کنید
و..
و می توانید هزارن هزارن ایده و طر ح خلاقانه خود را به کمک میکروکنترولر و برنامه نویسی اجرا کنید ..

مرور کوتاه بر پردازش 8 بیتی میکروکنترولر
 تصویر 
میکروکنترولر avr اکثرا پردازشون 8 بیتی می باشد،
8 بیتی بودن بدین معناست که در هر کلاک (در بعضی میکروها یک کلاک و در بعضی میکروکنترولر ها چند کلاک وگفتن میکروکنترولر avr در چند کلاک کاری خودش) 8 عدد ،بصورت 0 یا 1 رو ارسال می کنه یعنی بدین شکل "01010101"
در اینتاپیک در رابطه با مبحث فرکانس و نحویه ارسال اطلاعات بحث های مفصلی شد،برای کسب اطلاعات بیشتر ان را نیز مطالعه فرمایید.

اما در بعضی میکروکنترولر این توانایی وجود دارد که 16 بیت (در هر کلاک یا چند کلاک کاری) ارسال شود و در بیشتر میکروکنترولر های آرم 32 بیت رو در کلاک کاری خودشون ارسال کنند .

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

بصورت ساده و مشخص.ما به کامپیوتر نمی توانیم بگویم F یا G یا 1 یا 2 ! چون کامپیوتر قادر به فهمیدن این مطلب نیست! پس ما باید ان را در قالب برایش ارسال کنیم (تا بعد به کمک واحد های درونیش،ان ترجمه کند)
اما خود این کد چطور به وجود می اید؟(البته در همان تاپیکی که اشاره کردم،توضیح داده بودم)
کد خیلی ساده به وجود می ایند،وقتی ولتاژ 0 باشد،خروجی دیجیتال 0 می باشد و وقتی که خروجی 5 (یا 3.3) ولت باشد خروجی 1 میشود ..
همه این کارها به کمک ترانزیستورهای درونی میکروکنترولر ، بر روی کلاک و با پایین و بالا کردن انها ایجاد میشود .

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

مروری کوتاه بر تفاوت 8 بیت و 16 بیت و 32 بیت

شاید برایتان سوال پی اماده که این بیت ها چه تفاوتی باهم دیگرن دارن ؟!

جوابشان خیلی ساده است،بسیار زیاد،هرچی بیت بیشتر ، بهتر!

ما در پردازش 8 بیت می توانیم ، 8 بیت اطلاعات رو در کلاک کاری سی پی یو ارسال کنیم، که جمعا میشود 256 نوع داده مختلف ،که این 256 هر کدام میتوند یک نوع اطلاعی از قبیل حرف F یا A یا ... باشد !
که فرمول محاسبه اش ساده هستش و بر مبنا 2 می باشد .
مبنا 2 یعنی برای اینکه بفهمیم که کد 0 و 1 رو چقدر میشه بصوت 8 کاراکتر کنار هم قرار داد و تکرار نبود، رو انجام میدم.
هشت بیت به مبنا دو اینطور محاسبه میشود 2x2x2x2x2x2x2x2=256

حال سی پی یو که پردازش 16 بیتیست ، می شود 655,336 داده در هر کلاک کاری خودش!
یا سی پی یو که پردازش 32 بیتست ،میشود 4,294,967,296 داده در هر کلاک کاری خودش !!!!!!!!!

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

Major I
Major I
نمایه کاربر
پست: 127
تاریخ عضویت: چهار شنبه 29 شهریور 1385, 5:06 pm
سپاس‌های ارسالی: 3114 بار
سپاس‌های دریافتی: 233 بار

Re: آموزش AVR

پست توسط roh » شنبه 31 مرداد 1394, 8:57 pm

با سلام دوست عزیز sinaset ،امیدوارم توضیحاتت در مورد میکروکنترلر رو ادامه بدی،یه کم در مورد نحوه ارتباط وسایل با میکروکنترلر بنویس.

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

Re: آموزش AVR

پست توسط sinaset » دو شنبه 2 شهریور 1394, 9:21 am

با سلام

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

ابتدا پیشنهاد می کنم این مطلب رو در رابطه با کریستال"کریستال یا نوسان ساز" و این مطلب رو در رابطه با فرکانس "فرکانس(frequency) یا بسامد، چیست و چطور کار می کند و چه کاربردی دارد؟"مطالعه کنید (به زبان ساده)

سپس این مطالب رو بخوانید:

--
مرور کوتاه بر پردازش 8 بیتی میکروکنترولر


میکروکنترولر avr اکثرا پردازشون 8 بیتی می باشد،

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

بصورت ساده و مشخص.ما به کامپیوتر نمی توانیم بگویم F یا G یا 1 یا 2 ! چون کامپیوتر قادر به فهمیدن این مطلب نیست! پس ما باید ان را در قالب برایش ارسال کنیم (تا بعد به کمک واحد های درونیش،ان ترجمه کند)
اما خود این کد چطور به وجود می اید؟
کد خیلی ساده به وجود می ایند،وقتی ولتاژ 0 باشد،خروجی دیجیتال 0 می باشد و وقتی که خروجی 5 (یا 3.3) ولت باشد خروجی 1 میشود ..
همه این کارها به کمک ترانزیستورهای درونی میکروکنترولر ، بر روی کلاک و با پایین و بالا کردن انها ایجاد میشود .

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

مروری کوتاه بر تفاوت 8 بیت و 16 بیت و 32 بیت

شاید برایتان سوال پی اماده که این بیت ها چه تفاوتی باهم دیگرن دارن ؟!

جوابشان خیلی ساده است،بسیار زیاد،هرچی بیت بیشتر ، بهتر!

ما در پردازش 8 بیت می توانیم ، 8 بیت اطلاعات را هم زمان برای سی پی یو ارسال کنیم، که جمعا میشود 256 نوع داده مختلف ،که این 256 هر کدام میتوند یک نوع اطلاعی از قبیل حرف F یا A یا ... باشد !
که فرمول محاسبه اش ساده هستش و بر مبنا 2 می باشد .
مبنا 2 یعنی برای اینکه بفهمیم که کد 0 و 1 رو چقدر میشه بصوت 8 کاراکتر کنار هم قرار داد و تکرار نبود، رو انجام میدم.
هشت بیت به مبنا دو اینطور محاسبه میشود 2x2x2x2x2x2x2x2=256

حال سی پی یو که پردازش 16 بیتیست ، می شود 655,336 داده .
یا سی پی یو که پردازش 32 بیتست ،میشود 4,294,967,296 داده.

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

هر چقدر فرکانس کاری،یک میکروکنترولر بالاتر باشد،سرعت محاسبه (0 و 1) در ثانیه برایش بیشتر میشود.
فرکانس را به کمک قطعه به نام نوسان ساز(کریستال) تولید می کنند..
همانطور که قبلا نیز در اینتاپیک،توضیح داده بودیم،فرکانس در ثانیه چند میلیون بار تکرار میشود!

به عنوان مثال اگر گفته شود،فرکانس میکروکنترولر ATMEGA8 حدود 16 مگاهرتز است.یعنی این میکروکنترولر می تواند 16 میلیون نوسان را در ثانیه به کمک کریستال تولید کند.

اما برای اینکه متوجه بشیم یک میکروکنترولر چه مقدار محاسبه را در ثانیه انجام میدهد.... باید دید معماری سی پی یو و تعداد ترانزیستور ها و ... به چه شکل می باشد!
اما به طور کلی بیشتر میکروکنترولر های AVR مدل های 8 بیتی ،توانایی دارن که به 1MHz فرکانس حدود 1 میلیون محاسبه را انجام دهند،و با اضافه شدن هر 1 مگاهرتز به فرکانس سی پی یو 1 میلیون محاسبه خود را بیشتر انجام دهند.

به عنوان مثال میکروکنترولر ATMEGA328 که نسل جدیدی از میکرو های avr است. می تواند با فرکانس 20 مگاهرتز کار کند،و حدود 20 میلیون محاسبه در ثانیه انجام دهد.

شاید نزد خود فکر کنید،اگر بخواهیم فرکانس سی پی یو میکروکنترولر را بیشتر کنیم،ان وقت چه میشود؟
شما اگر فرکانس میکروکنترولر مثل atmega8 (که کارخانه تا 16 مگاهرتز را تضمین کرده) را بر روی 16 مگاهرتز تنظیم، در بعضی پروژ محاسبات را درست انجام نمی دهد!
پس همانجور که متوجه شدید،اگر فرکانس رو خیلی زیاد کنید(اورکلاک،یا بیشتر از ظرفیت تضمین شده)،محاسبات بهم میریزد و خروجی خوبی بدست نخواهید اورد.

ایا واقعا ما نیاز به 1 میلیون محاسبه در ثانیه داریم،؟!

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

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

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

Re: آموزش AVR

پست توسط sinaset » یک شنبه 8 شهریور 1394, 10:10 am

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

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

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

  مروری کوتاه بر واحد های میکروکنترولر   CPU: واحد پردازشگر مرکزی، جایی که محاسبات توسط این واحد انجام میشود،و همه واحدها به این مرکز وصل هستن(توسط گذرگاه یا BUS)  اسیلایتور: به کمک این واحد فرکانس مورد نیاز سی پی یو و دیگر واحدها تولید میشود.  حافظه FLASH: یک حافظه بلند مدت،که می تواند برنامه نوشته شده را تا مدت ها طولانی(بیش از 20 سال) در آن نگه داری کردو تقریبا بیش از هزاران بار قابلیت حذف و نوشتن دوباره اطلاعات را دارد   حافظه EEPROM: یک حافظه بلند مدت به معماری خاص! که معمولا از حافظه فلش کمتر می باشد.این حافظه بیشتر برای زمانیست که ما بعدا بخواهیم اطلاعات دستگاه خود رو تغییر دهیم(مثلا بخواهیم با کیبورد،حساسیت یک قطعه را زیاد کم کنیم.. و اطلاعات جدید بر روی میکروکنترولر ذخیر شود!)،پس فرق حافظه فلش و ای پی رام،در این است که حافظه فلش بیشتر برای ریختن برنامه استفاده میشود و ای پی رام برای زمانیست که دستگاه راه اندازی شده،و می خواهیم تغییرات جدید رو به دستگاه بدهیم ..  حافظه موقت Sram: یک حافظه پرسرعت و موقت می باشد،که یک جورایی عصا دست CPU می باشد.متغییرها نوشته شده،یا اطلاعات که می خواهید پردازش شود،از این واحد استفاده می کنند.sram بسیار کمتر از flash و eeprom می باشد . (بدلیل هزینه بالایی ساخت )  تایمر کانتر Timer/counter: یک واحد بسیار جالب و پیشرفته،که به کمک این واحد ها شما می توانید ساعت درست کنید،زمانی را بسنجید،محاسبات بسیار دقیق انجام دهید و یا موج های موج PWM درست کنید
واحد ADC: این یک واحد بسیار جالب است،که شما به کمک ان می توانید جریان برق را اندازه گیری کنید!شاید در نگاه اول چندان جالب به نظر نرسد،ولی واقعا کار این واحد بی نظیر است.توسط این واحد می توانید ولتاژ برق،امپر،دماسنج (NTC) و ... انواع اندازه گیری ها را با دقت 10 بیت (1024) (دقت بیت ADC بعدا توضیح داده خواهد شد) انجام    ارتباطی USART و SPI و TWI و I2C: به کمک این واحد ها می توانید به انواع ایسی ها و دما سنج و کامپیوتر و ... ارتباط برقرار کنید (اگر بخواهیم ساده تر بگویم،این واحد های مثل usb شما می باشد،که از یک پروتکل ارتباطی به اسم usb استفاده می کنند!) در اینده بیشتر با انها اشنا خواهید شد .  واحد ISP : به کمک این واحد می توانید،برنامه نوشته شده خودتان را به میکروکنترولر انتقال دهید.   دارد.... 
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

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

Re: آموزش AVR

پست توسط sinaset » شنبه 25 مهر 1394, 10:27 am

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


ادامه مطالب...
مروری کوتاه بر واحد های میکروکنترولر

واحد Watchdog Timer: این واحد کارش محافظت از درست اجرا شدن دستوراته.(با فعال سازی )،این واحد وقتی ببینیه میکرو هنگ کرده! خودش به صورت اتوماتیک میکروکنترلر رو ریستارت میکنه.
واحدInterupt:این یک واحد جالبه که با فعال سازی ان،میکروکنترولر در حال انجام هر کاری باشه! سریعا ان دستورات رو قطع میکنه و وارد دستورات اینتراپت میشه(به عنوان مثال رباتی طراحی کرده اید،حالا می خواید وقتی کلید STOP زده شد،بلافاصله ربات نگه داشته بشه!به کمک اینتراپت ها می توانید به راحتی این کار را انجام دهید)


مرور بر چند سوال در رابطه با میکروکنترولر.
 تصویر 
آیا این میزان حافظه کم برای میکروکنترولر جواب گو هست ؟!

همانجور که مطلع هستید میکروکنترلرها حافظه های کمی دارند.به عنوان مثال میکرو مثل Atmega8 حافظه فلش ان حدود 8 کیلوبایت می باشد.
اما نگران نباشید با همین میزان کم،میشود هزاران خط برنامه نویسی کرد.. ضمن اینکه می توان از حافظه EEprom هم استفاده کرد.ضمن اینکه خارج از موارد قبلی،می توان حافظه بیرونی هم به میکروکنترلر وصل کرد.!

آیا می توان میکروکنترلر را با کامپیوتر ارتباط داد؟!

بله، انواع و اقسام روش ها وجود دارد که می توان به کمک آنها میکروکنترلر را به کامپیوتر وصل کرد.
بعضی میکروکنترولر نسبتا پیشرفته،واحد سخت افزار درون خود دارن،که می توان به راحتی انها را به USB کامپیوتر وصل کرد . و بعضی مدل ها که این واحد رو ندارن می توانند به کمک ایسی RS232 یا RS485 و ایسی و ماژول های اماده دیگر انها را به کامپیوتر اتصال داد. (ضمن اینکه به کمک کتابخانه برنامه نویسی شده،می توان بدون هیچ گونه ایسی ..! میکروکنترولرهای ساده AVR را به کامپیوتر وصل کرد.. اما کار کردن با ان کتابخانه ها تا حدود مشکل و البته ضریف خطا هم دارن ..)

 تصویر 

آیا این همه واحد سخت افزاری درونی میکروکنترلر لازم است؟!

بله،اکثرا واحد های لازم هستن،و عصا دست میکرو هستن.اگر نباشن،میکرو دیگر کارایی ندارد..

تفاوت میکروکنترولر AVR باهم در چیست؟!

بیشتر تفاوت،در میزان حافظه FlashوEEprom و Sram و گذرگاهای ارتباطی و میزان مصرف برق.تعداد بیشتر واحد های ADC و پین های ایسی و ... می باشد

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

ارسال پست

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