آموزش ساخت ربات (میکروکنترلر۳)

 

سلام.. بچه ها خیلی عقبیم٬ تازه باید ۱ جلسه جبرانی هم بزاریم گفته باشم . پس بی مقدمه بریم سر درسمون که شروع برنامه نویسی AVR با کامپایلر Bascom بود:

بدنه یک برنامه در محیط Bascom:
(منظور از بدنه حداقل کد یک برنامه هستش بدون هیچ فرمانی)  بدنه یک برنامه در محیط Bascom شامل تعیین نوع میکرو مورد استفاده٬ کریستال٬ پایان و گزینه های اختیاری دیگری است که در زیر معرفی میشن.

معرفی میکرو:
برای شروع یک برنامه در محیط Bascom ابتدا بایستی میکروی مورد نظر تعریف گردد. چون توصیه من در استفاده از مدل ATMEGA16|32|128 بود٬ بنابراین فعلا به علت زیق در همه چی  فقط به تعریف همین ۳ مدل بسنده می کنم:

$REGFILE = VAR       'فرم کلی تعریف٫ "وار" یه رشته معرف مدل خاص میکروی مورد نظر هستش
$REGFILE =  "M16def.dat"       'MEGA 16 MCU این برا مدل
$REGFILE =  "M32def.dat"       'MEGA 32 MCU این برا مدل
$REGFILE =  "M128def.dat"     
'MEGA 128 MCU این برا مدل

کریستال:این یه نمونه کریستاله
برای مشخص کردن فرکانس کریستال (میکرو ها باید به یه قطعه خارجی بنام کریستال وصل بشن) استفاده شده برحسب هرتز از دستور CRYSTAL = X$ استفاده می نماییم X فرکانس کریستال استفاده شده بر حسب هرتز است. خوشبختانه AVR دارای یک کریستال 1MHZ داخلی هستش که واقعا یک نعمته! اما حتی برای استفاده از اون هم باید این دستور رو بکار ببریم. مثال:

$CRYSTAL = 100000        '1MHz internal
$CRYSTAL = 140000        '14MHz external

یاداشت(اختیاری): گاهی نیاز است یاداشتهایی برای اطلاعات بیشتر در برنامه اضافه کنید٬ در Bascom هم مثل بیسیک می تونید با علامت " ' " یا REM اینکارو انجام بدید. درست مثل یادداشت های اضافی که من در مثالهای قسمتهای قبل استفاده کردم! مثال:

Print "Hello World"      'این دستور بعدا معرفی میشه  
REM این هم یه مدل دیگه از یادداشت اختیاریه

همچنین در پایان هر برنامه باید از کلمه END استفاده کنید که مثل یک حلقه بی پایان عمل می کنه (مثلا در سی باید همیشه یه حلقه درست کنی. یه کار تکراری) و دلیل استفادش چه در این کامپایر و برای این میکرو و چه در سایر کامپایلرها و برای میکروهای دیگه٬ اینه که سیستم برنامه میکرو با کامپیوتر فرق فوکوله  و اگه از END یا حلقه بی پایان استفاده نکنیم برنامه همینطور میره پایین و سایر آدرس های حافظه میکرو رو به خیال ادامه برنامه میخونه که این باعث Error میشه دیگه! پس End یادتون نره!

خوب دیگه از گزینه های اجباری بدنه تغریبا چیزی نموند و برای اینجلسه هم کافیه! جلسه بعد آموزش نحوه تعریف شرط و حلقه و ... در Bascom رو داریم پس حتما مطلب رو دنبال کنید. راستی تا یادم نرفته بگم بعضی از مطالب بالا رو از رو کتاب AVR مهندس "علی کاهه" کپ زدم! همین که مرجع رو گفتم خیلی هم دلش بخواد :)). خسته نباشید.

 

منبع :  http://eleboys.blogfa.com/