می خوام AVR رو شروع کنم.
ولی اگه سوالی داشته باشین در مورد ۸۰۵۱ تا جایی که بتونم پاسخ می دم.
می خوام AVR رو شروع کنم.
ولی اگه سوالی داشته باشین در مورد ۸۰۵۱ تا جایی که بتونم پاسخ می دم.
برای این که کامپایلر خطای End نگیره باید در پایان برنامه دستور end رو تایپ کنیم.
برای نمونه من یک برنامه رو اینجا می ذارم:
این خط آدرس شروع برنامه ORG 00H
این دستور پورت ۱ رو ورودی می کنه MOV P1,#0FFH
در این دستور پین ۲ از پورت ۲ صفر می شه clr p2.2
این یک برچسب یا lable است main:
در این خط اگر پین صفر از پورت ۱ صفر باشد برنامه به برچسب main پرش می کند jnb p1.0 ,main
این جا پین ۲ از پورت ۲ یک می شود set p2.2
دستوری که پایان برنامه را به کامپایلر اعلام می کنه end
برای آغاز برنامه باید آدرس شروع برنامه ( از درون میکرو ) رو بنویسیم. دستور org به این منظور به کار می رود:
org 00h
در این دستور برنامهاز بایت ۰۰ هگز میکرو شروع به اجرا شدن می کند.
پس از مشخص کردن آدرس شروع برنامه باید ورودی یا خروجی بودن پورتها رو تعیین کنیم. اگر پورت خروجی باشد نیاز به هیچ دستوری نیست. اما اگر بخواهیم پورت یا برخی از پین های یک پورت ورودی باشد باید پین های مورد نظر رو یک کنیم:
آدرس شروع برنامه ۰ هگز است org 00h
در این دستور پورت ۱ ورودی است p1=11111111b
در این دستور پین صفر از پورت ۲ ورودی است p2.0=1
در این دستور پین ۴ از پورت ۲ ورودی است p2.4=1
برای مقدار دهی از چند نمادمی توان استفاده کرد:
x=y در متغیر یا بایت x مقدار دهدهی y را قرار می دهد.(اگر y عدد باشد)
x=yb در متغیر یا بایت x مقدار باینری y را قرار می دهد.(اگر y عدد باشد)
x=yh در متغیر یا بایت x مقدار هگز y را قرار می دهد.(اگر y عدد باشد)
همچنین می توان در یک بایت مقدار موجود در یک بایت دیگر را قرار داد.
رگولاتور:آی سی که ولتاژ ورودی را ثابت کرده و در یک ولتاژ ثابت را به خروجی خود می دهد.
اگه باز هم واژه ای بود که نیاز به تعریف داشت در همین پست می نویسم.
پس ۸۰۵۱ رو ادامه می دیم.
برای نوشتن برنامه از یک ادیتور مانند نت پد که توی همه ویندوزها پیدا می شه استفاده می کنیم. برای کامپایل برنامه از برنامه asem.exe استفاده می کنیم.
بعد از کامپایل هم فایل باینری (Bin.) یا هگز (hex.) برنامه رو روی آی سی لود می کنیم. برایلود کردن برنامه روی آی سی باید آی سی رو رویپروگرامر قرار دهیم و از داخل نرمافزار آن فایل رو بریزیم روی آی سی. بعد از پروگرام کردن آی سی اونو روی مدار می ذاریم و تغذیه اونو هم وصل می کنیم ( البته بعد از وصل کردن سیم های ورودی و خروجی و ... )
بعد از وصل جریان آی سی شروع بهکار می کند.
برای تغذیه ۵ ولت باید از یک رگولاتور ۵ولت (به شماره ۷۸۰۵ ) استفاده کنیم.
بعد از وصل کردن سیم های تغذیه و پرورگرام کردن آی سی باید اونو روی برد آزمایش کنیم. من معمولا از یک برد برد استفاده می کنم. چون کار با اون خیلی ساده است و خیلی زود هم می تونیم مدار رو ببندیم.
بعد از بستن مدار و وصل کردن تغذیه مدار باید ورودی ها و خروجی های اونو هم وصل کنیم.
حالا با وصل کردن آداپتور یا باتری به مدار شروع به کار می کنه.
برنامه هم با توجه به ورودی ها به ما خروجی می ده.
می خوام از ۸۰۵۱ شروع کنم. خودم هم با این خانواده از میکرو کنترلر شروع کردم.
این خانواده روی روبات خیلی خوب کار می کنه. می شه گفت اگه مدار رو درست طراحی کنیم هیچ نویزی نمی گیره. تنها ایراد اون امکانات پایین اونه. البته یک ایراد دیگه هم داره. کلاک سی پی یو ی اون هم از ۲ مگا هرتز بالاتر نمی ره. ( کلاک سی پی یو تعداد دستورهایی که میکرو میتونه در ۱ ثانیه انجام بده )
اما برای یک روبات معمولی ( لاین فالوور ) بسایر خوبه.
برای راه انداختن یک میکرو از خانواده ۸۰۵۱ باید +۵ ولت رو به پایه آخر ( مثلا اگه ۴۰ پایه است به پایه ۴۰ ) و منفی یا همون GND رو به پایه وسط ( اگه ۲۰ پایه است به پایه ۱۰ ) وصل کنیم.
پایه ریست اونو هم با یک خازن ۴.۷ میکروفاراد به مثبت و همون پایه رو با یک مقاومت ۱۰ کیلو اهم به زمین (GND ) باید وصل کنیم حالا مدار رو روشن می کنیم. اگه آی سی برنامه ریزی شده باشد شروع به کار می کند.
برای برنامه ریزی یا پروگرام کردن اون هم باید یک پروگرامر خانواده ۸۰۵۱ رو بگیرین.
۱.تو هر سایت خبری که می تونین عضو شین.
۲.تا جایی که می تونین تو یک زمینه ( مانند روباتیک ) اطلاعات خودتونو افزایش بدین.
۳.ولی باعث نشه که زمینه های دیگه رو فراموش کنین.
۴.برای ساخت یک روبات تا می تونین روی اون کارکنین. چون یک روبات هر چه قدر هم که خوب و درست کار کنه اگه یک ذره هم احتمال خطا داشته باشه اون خطا صد در صد تو مسابقه کار روبات رو متوقف می کنه.
۵.برای شروع روباتیک صد در صد از یک روبات ساده و کوچولو مانند لاین فالوور شروغ کنید.
نا گفته نمونه که من هم از ساده ترین روبات لاین فالوور شروع کردم. اون قدر ساده بود که با مدار معمولی ساخته شده بود. هیچ میکرویی هم به کار نرفته بود.
۶.اگه می خواهین برنامه نویسی میکرو کار کنید دست کم یک کتاب بگیرین. چون ممکنه که برنامه نویسی و ساختار برنامه رو یاد بگیرین اما همیشه دستورهایی برای برنامه لازم می شه که یادتون رفته پس همیشه کتاب مربوط به اون رو دم دست داشته باشین.
۷.اگه دیگران از شما اطلاعاتی خواستن حتما اگر می دنین به اونا بگین. ( خسیس نباسین )
۸.ایراد های روباتتون و تجربه هاتونو به دیگران بگین تا اونا بتونن بهتر کار کنن.
۹.
شماره بعدی رو نمی گم. چون خیلی زیاد حرف زدم.