|
آموزش رباتیک برای دانش آموزان و همه علاقمندان علوم رباتیک و الکترونیک آموزشگاه رباتیک در تهران تلفن : 77422883
قبل از شروع درس کدویژن لازم است به اطلاع دوستان برسانم برای برنامه نویسی آی سی های میکرو کنترلر AVR شما می توانید هم از برنامه بیسیک استفاده کنید و یا از برنامه سی .
در اینجا آموزش سی و برنامه کدویژن شرح داده شده است ، لینک ثبت نام آموزش میکروکنترل AVR :
https://www.elector.ir/AVR.htm
درس بیست و هفت : ادامه آموزش کدویژن
در این جلسه قراره شما رو با مراحل کامپایل کردن ، پروگرام کردن میکروکنترلر و رفع نقص برنامه آشنا کنیم. همانطور که گفته شد فقط «زبان ماشین»(Machine Language)، زبان قابل فهم برای پردازنده ی کامپیوتر است، و برنامه هایی که در زبان های دیگر می نویسیم برای اینکه بتوانند توسط پردازنده اجرا شوند باید حتماً توسط کامپایلرها به «زبان ماشین» ترجمه شوند. اما نوشتن برنامه در این زبان برای ما بسیار مشکل است، زیرا دستورات قابل فهم برای این زبان بسیار ابتدایی و ساده هستند و به سختی می توان برنامه های حرفه ای و الگوریتم های پیچیده را در آن پیاده سازی کرد. مثلاً حتی برای انتقال داده از یک متغیر به متغیر دیگر، باید چندین خط برنامه بنویسید، اما در زبان C این کار در 1 عبارت انجام می شود. برنامه نویسی در این زبان دشواری های مختلفی دارد که فعلاً به آن ها نمی پردازیم.
به همین خاطر ما برنامه های خود را در
زبان C
می نویسیم و باقی کارها را به کامپایلر می سپاریم. کامپایلر ابتدا برنامه ی
ما را از زبان C
به زبان اسمبلی ترجمه می کند، سپس برنامه ی دیگری به نام «اسمبلر»("
Assembler")
برنامه ی ما را از اسمبلی به «زبان ماشین» تبدیل می کند.
در اینجا ما نیاز به نرم افزارِ پروگرامر "Programmer" داریم تا اطلاعات ما رو با پرتوکل های مشخصی که در جلسات آینده در مورد آن ها توضیح خواهیم داد، به میکروکنترلر منتقل کند. همانطور که در جلسات پیش مطرح شد، CodeVision مجموعه ای از چند برنامه ی مختلف است که در کنار هم جمع شده اند تا همه ی نیازهای کاربر را برطرف کنند. در اینجا هم پروگرامر CodeVision مشکل ما رو حل می کند. برای استفاده از پروگرامر، باید در نوارابزار بالا روی "Chip Programmer" کلیک کنید تا پنجره ای به شکل زیر باز شود.
حالا شما باید کابل ارتباطی بین میکروکنترلر و کامپیوتر را متصل کنید ارتباط بین میکروکنترلر و کامپیوتر برقرار شود. توضیحات مفصل در مورد این قسمت و نحوه ی ساخت این کابل در جلسات آینده به تفصیل توضیح داده خواهد شد. حالا از منوی "Program" گزینه ی "Erase Chip" را انتخاب کنید تا برنامه های قبلی ای که رو میکروکنترلر شما هست پاک شود و میکروکنترلر آماده دریافت برنامه ی جدید شود. سپس از همین قسمت، گزینه ی "Flash" را انتخاب کنید تا برنامه ی جدید شما در داخل میکروکنترلر Load شود. حالا میکروکنترلر شما پروگرام شده و آماده ی استفاده است. مشکلات احتمالی: در بخش کامپایل کردن برنامه، ممکن است برنامه ی شما ایرادات مختلفی داشته باشد که مانع کامپایل شدن برنامه شود. این ایرادات(Errors)، همراه با شماره ی خطی که در آن ایراد وجود دارد، بعد از هربار که برنامه را کامپایل می کنید در قسمت سمت چپ، در لبه ی"Code Navigator" نمایش داده می شوند .
سپس بعد از رفع ایراد ، دوباره برنامه را کامپایل کنید و اگر Error در آن قسمت نبود، برنامه ی شما کامل است. درس بیست و هشت : ادامه آموزش آشنایی با میکرو کنترلر
اين جلسه همانطور كه قبلاً گفته بوديم، سعي ميكنيم كمي از مقدمات سخت افزاري و مدارهاي راه اندازي ميكروكنترلرهاي AVR صحبت كنيم تا دوستان بتوانند به تدريج كار عملي با Atmega16 را شروع كنند. در شكل زير شماي كلي ATMEGA16 آورده شده است
پايهي 10: تغذيهي آي سي است و بايد به 5ولت متصل گردد. ولتاژ تغذيه براي ميكروكنترلرهاي Atmega16، بين 5.5_4.5 ولت بايد باشد، و براي Atmega16L، بين 5.5_2.7 ولت است. پايههاي 11 و 31: اين 2 پايه GND هستند و بايد به قطب – منبع تغذيه متصل شوند. پايهي 30: اين پايه، تغذيهي مبدل آنالوگ به ديجيتال است(ADC) و اگر بخواهيم از اين امكان ميكروكنترلرهاي AVR استفاده كنيم، بايد اين پايه را به همان 5ولت منبع تغذيه متصل كنيم. پايهي 32: اين پايه نيز مربوط به همان امكان تبديل آنالوگ به ديجيتال است، در مورد آن در جلسات آينده توضيح خواهيم داد. وقتي از اين امكان استفاده نميكنيم، نيازي نيست اين پايه به جايي متصل باشد.
اين پايه براي Reset كردن آي سي به كار مي رود. Reset شدن ميكروكنترلر مثل Reset شدن كامپيوتر است و باعث ميشود كه آي سي همهي برنامههاي خود را دوباره از اول اجرا كند. اين پايه بايد در حالت عادي 1 منطقي باشد و هرگاه بخواهيم آيسي را Reset كنيم، بايد آنرا 0 منطقي كنيم(حداقل 16 ميلي ثانيه) و سپس 1 منطقي كنيم. براي اين پايه، ميتوان مدار زير را بست.
ميكروكنترلر هم مثل كامپيوتر شما يك فركانسِ كاري دارد، مثلاً وقتي ميگوييد CPU كامپيوتر شما 2.5 گيگا هرتز است، در حقيقت شما فركانس كاري پردازندهي كامپيوتر خود را گفتهايد. براي توليد اين فركانس، ما نياز به يك نوسان ساز يا اسيلاتور داريم. اين قطعه در اصطلاح تجاري به كريستال معروف است.
اما در Atmega16 اين نوسان ساز دقت خوبي ندارد و براي كارهايي كه نياز به دقت بالا دارند(بعداً در اين مورد توضيح خواهيم داد)، بايد از كريستال يا نوسان ساز خارجي استفاده كرد. اما فعلاً براي كار ما نيازي به كريستال خارجي نيست. پايههاي 12 و 13 براي اين منظور در نظر گرفته شدهاند. براي اتصال كريستال به آيسي بايد مدار زير را كه شامل 2 عدد خازن عدسي 30 پيكوفاراد است به اين 2 پايه متصل كنيد.
براي ميكروكنترلرهاي
ATMEGA16L،
حداكثر از اسيلاتورهاي 8 مگا هرتز ميتوان استفاده نمود، اما براي
ATMEGA16
ميتوان از 12 يا 16 مگاهرتز هم استفاده نمود. در جلسهي آينده، نحوهي ساخت اين پروگرامر را براي ميكروكنترلرهاي خانوادهي AVR آموزش ميدهيم.
|
|