آموزش avr به زبان c در 10 دقیقه
زبان برنامه نویسی ، 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
در قسمت سمت چپ نموداری درختی از تمام فایلها و سر فایلها وجود دارد که با تعویض 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 هم استفاده کنید
شرکت فنی و مهندسی الکترونیک صنعتی شهباز با کسب تجارب ارزشمند اجرایی و با پشتوانه دانش فنی لازم دارای امکانات و نیروهای متخصص،کارشناسان و تکنسین های ورزیده در زمینه مشاوره، طراحی، تهیه تجهیزات، نصب و راه اندازی در حوزه های (برق، الکترونیک و مخابرات) می باشد که با هدف استفاده از تکنولوژی روز دنیا و با رعایت استانداردهای جهانی برق(IEC) در حوزه های مذکور تاسیس گردید.