۱۳۸۶ اسفند ۱۶, پنجشنبه

آموزش AVR studio

به نام خدا
آشنایی با AVR Studio :
این کامپایلر به سفارش شرکت Atmel ساخته شده و به طور رایگان در اختیار عموم قرار گرفته است . شما می توانید با مراجعه به سایت www.atmel.com آخرین ورژن این برنامه را دانلود کنید . در اینجا اطلاعاتی را که برای شروع کار با این کامپایلر لازم دارید در اختیار شما قرار می دهیم.
در AVR studio زمانی می توانید برنامه خود را کامپایل کنید که برنامه را درون یک پروژه قرار دهید . این کامپایلر قابلیت شبیه سازی و اجرای خط به خط برنامه شما را به طور مجازی دارد ، در هنگام شبیه سازی شما می توانید محتوای تمام رجیسترها پورتها و... مشاهده کنید و روند اجرای برنامه را لحظه به لحظه دنبال کنید.
شما می توانید مشروح تمام دستورات اسمبلی مربوط به AVR را از آدرس زیر دانلود کنید.
هچنین می توامنید از آدرس زیر فایل کامل برنامه زیر را که یک چشمک زن است دانلود کنید.

مراحل ساخت یک پروژه:
اگر AVR Studio را اجرا کنید پنجره زیر به طور اتوماتیک باز می شود، اگر باز نشدبه منوی Project\Project Wizard بروید این پنجره را باز کنید.



دکمه New Project را فشار دهید تا به پنجره سمت چپی وارد شوید .


در لیست موجود انتخاب Atmel AVR Assembler و انتخاب مسیر ساخت پروژه دکمه NEXT را بزنید . در پنجره بعدی شما نوع شبیه سازی مورد نظر را انتخاب می کنید که در اینجا شبیه سازی مورد نظر AVR Simulator بوده و شماره آی سی نیز به دلخواه خودتان است. سپس دکمه Finish را کلیک کنید تا پروژه ساخته شود.
شما می توانید فایلهای موجود در پروژه خود را از طریق پنجره Project مشاهده کنید. در ابتدا یک فایل هم نام پروژه شما و با  پسوند .asm است که برنامه خود را باید در این فایل بنویسید .




با دوبار کلیک بر روی فایل مورد نظر (asm_flasher.asm ) فایل را برای نوشتن برنامه باز کنید . در اینجا یک برنامه نمونه قرار داده شده که یک هشت LED متصل به PORTA را خاموش و روشن می کند .


.include "m32def.inc"

;load stack pointer
ldi r31 , low(RAMEND)
out spl , r31
ldi r31 , high(RAMEND)
out sph , r31
;set port direction
ldi r31 , $ff
out DDRA , r31
;start flashing
ldi r16 , $aa
ldi r17 , $55
loop1:
out PORTA , r16
call delay
out PORTA , r17
call delay
jmp loop1

;dellay
delay:
ldi r20 , $00
ldi r21 , $00
ldi r22 , $80
de1:
inc r20
cpi r20 , $00
brne de1
inc r21
cpi r21 , $00
brne de1
inc r22
brne de1
ret



با زدن دکمه F7 یا منوی Bulid\Build برنامه کامپایل می شود . اگر خطایی در برنامه باشد در پنجره Build نمایش داده می شود . پس از پایان کار کامپایل کلیه هشدارها و گزارشات مربوط به ظرفیت حافظه ی مورد نیاز برای برنامه اعلام می شود. فایل حاصل از کامپایل یک فایل با پسوند .Hex است که در محل ذخیره پروژه ایجاد می شود و آن را باید روی فلش آی سی پروگرام کنید . البته می توانید در Proteuse هم مدار را ببندید و فایل .hex را در آن آدرس دهی کنید. تمام پروگرامرها فایلهایی با پسوند .hex را می شناسند.


فرآیند شبیه سازی Debug  | simulation :
پس از کامپایل به منوی Debug\Start Debuging بروید و شبیه سازی برنامه را آغاز کنید . پس از آغاز شبیه سازی برنامه ، یک اشاره گر زرد رنگ جلوی خطی از برنامه که قرار است اجرا شود می ایستاده است می توانید با کلید F10 (یا منوی Debug\StepOver) برنامه را خط به خط اجرا کنید . توجه کنید که این گزینه روند اجرای دستور Call را دور از چشمان شما و با سرعت نمایش می دهد . اگر بخواهید روند اجرای برنامه ی دستور Call را مشاهده کنید باید از دکمه F11 (یا منوی Debug\StepInto) استفاده کنید . اگر بخواهید برنامه به سرعت اجرا شود و وقتی به خط خاصی رسید بایستد باید ابتدا در خط مورد نظر BreakePoint ایجاد کنید و سپس دکمه F5 (یا منوی Debug\Run ) را بزنید. برای ایجاد یا حذف BreakPoint به سر خط مورد نظر رفته و دکمه F9 (یا منوی Debug\ToggleBreakPoint) بزنید.
در تمام طول روند شبیه سازی محتوای رجیسترها و پورتها و ... را می توانید از پنجره های IO , Processor , Memory ببینید .
ظمنا برای خروج از شبیه سازی به منوی Debug\StopDebuging بروید.
اگر پنجره های یاد شده در این مقاله را پیش روی شما نبود به منوی View رفته پنجره مورد نظر را فعال نمایید.

زبان C در AVR Studio :
برای آنکه بتوانید در AVR Studio با زبان C برنامه نویسی کنید باید WinAVR را دانلود و پس از AVR Studio نصب کنید WinAVR به طور خودکار AVR Studio را شناسایی کرده و خود را به آن اظافه می کند. پس از آن در پنجره New Project گزینه AVR GCC اظافه می شود. عمل کامپایل و شبیه سازی در پروژه هایی از نوع GCC همانند پروژه های اسمبلی است.



برای دانبود WinAVR به آدرس زیر مراجعه کنید :
با آرزوی موفقیت برای همه شما
صلی اله و علی محمد و آل محمد



۴ نظر:

ناشناس گفت...

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

ناشناس گفت...

سلام
یک سری هم به سایت زیر بزنید کامل نیست ولی خیلی خوب گفته
winavr.kavirelectronic.ir

ناشناس گفت...

sabz

ناشناس گفت...

سبز سبز