تبلیغات پیامکی

www.plcomega.tk

درحال انتقال به صفحه جدید

برق وصنعت - آموزش سریع AVR CodeVision در 10 دقیقه
 
برق وصنعت
دوشنبه 9 خرداد 1390 :: نویسنده : وحید دجلانی

 

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

زبان برنامه نویسی ، C میباشد .هنگامی که برای اولین بار برنامه را باز میکنید مسلما برای ساخت فایل جدید باید وارد منوی file و گزینه new  را انتخاب کنید. در این حال پیغامی ظاهر میشود که دو انتخاب را پیش روی خواهید داشت : یکی ساخت پروژه و دیگری ساخت فایل سورس. در اینجا میباست ساخت پروژه را انتخاب کنید . تفاوت این دو هم مربوط به این است که پروژه شامل فایلهای دیگری از جمله هدر برنامه هم میشه و همچنین ساخت سورس مستلزم نوشتن تمامی کدها توسط خودتونه . البته نکته مهم تر اینه که فایل سورس قابل کامپایل نیست.

پس از انتخاب Project پیغامی مبنی بر استفاده از CodeWizard برنامه ظاهر میشود که yes را انتخاب میکنیم . مهمترین چیز انتخاب نوع میکرو و کلاک اون هست. کار کردن با قسمت Ports ممکن است شما رو گیج کنه پس برای تنظیم پورت ها بطور دستی افدام میکنیم. بقیه تنظیمات رو فعلا به حال خود واگذار میکنیم. در صورت استفاده از پروتکل USART میتونید تیک هر دو گزینه ارسال و دریافت رو بزنید و مقادیر رو تنظیم کنید. پس از اتمام این کار از منوی فایل Generate, Save and Exit رو انتخاب میکنید تا در محلی که در نظر دارید تمامی فایلها ذخیره شود.

حالا نوبت تنظیم پورت هاست . در avr سه رجیستر برای هر پورت وجود دارد. مثلا برای پورت A :

1.      DDRA که جهت پورت را نشان میدهد. DDRA=0X00 که نشان دهنده انتخاب حالت ورودی است. DDRA=0XFF که نشان دهنده حالت خروجی است . پس اگر در خلال برنامه پورت کم آوردیم میتونیم سریع مقادیر رو عوض کنیم.

2.      PINA که برای نوشتن در پورت استفاده میشود . مثل قرار دادن کلید.

3.      PORTA که برای خواندن از پورت مثلا برای روشن کردن led استفاده میشود.

اگر به انتهای برنامه  برید یک حلقه while  میبینید که بصورت کنترلی میتوان از آن استفاده کرد . اما میتوان بین دو { } که بعد از void main(void) قرار دارد هم برنامه را نوشت.

نکته مهم دیگر این است که در زبان C برای استفاده از هر تابع ، هدر مربوط به اون رو در قسمت #include ها وارد کنید برای مثال برای استفاده از تابع وقفه یا همون Delay باید از #include <delay.h> استفاده کنید. همچنین برای ارتباط ورودی و خروجی باید از #include <stdio.h> هم استفاده کنید.

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

بهتره تمام این کارها رو در قالب یک پروژه انجام بدیم مثلا روشن نمودن یک لامپ :

برای این کار از ATMega 32 و کلاک 4 مگاهرتز استفاده میکنیم . سپس نیاز به تعریف led ها داریم پس بعد از #include ها عبارت زیر را وارد میکنیم :

#define LED PORTA.0

میتوان با تعریف یک متغیر و استفاده از کاراکترها چراغ را روشن یا خاموش کرد :

Char a;

a=UDR;

منظور از عبارت بالا دریافت یک مقدار از user هست.

حالا با گذاشتن یک شرط چراغ را کنترل میکنیم :

If (a=='1') LED=1;

If (a=='2') LED=0;

با این کار کاربر با وارد کردن عدد 1 می تواند LED را روشن و با عدد صفر آن را خاموش نماید.

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

حالا که برنامه بدون اشکال است میتوان از گزینه Build در همین منو استفاده کرد تا فایل .hex هم ساخته بشه و در نهایت برای پروگرام کردن اون هم به منوی Settings و Programmer برید و نوع پروگرامر و پورت پاراللی رو که بهش وصل هستید رو انتخاب کنید و سپس از منوی Tools ، Chip Programmer را انتخاب کنید . در پنجره باز شده باید نوع چیپ و کریستالی که اول برنامه تنظیم کردید با این بخش یکسان باشند . حال از منوی Program گزینه Erase chip رو برای وقتی که روی آی سی برنامه ای دارید انتخاب کنید تا برنامه پاک شود وگرنه از منوی فایل load flash را انتخاب کنید تا فایلتان بارگذاری شود و از طریق منوی Program گزینه Flash را انتخاب کنید تا چیپ پروگرام شود . اگر در خلال این کار error ای داده شد گزینه NO را کلیک کرده و آنقدر این مراحل را تکرار کنید تا بدون اشکال چیپ پروگرام شود .

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

در آخر میتونید برای تست برنامه هاتون از نرم افزارهای کمکی مثل Proteus هم استفاده کنید .





نوع مطلب : برق صنعتی، 
برچسب ها :


 
 
 
وبلاگ جامع برق با همکاری دانشکده فنی برق مشهد