تبلیغات
میکروکده - آموزش بسکام avr
تاریخ : پنجشنبه 3 فروردین 1391 | 04:43 ب.ظ | نویسنده : saeed firooz
قسمت اول
سلام
از امروز می خوام برنامه نویسی میکروکنترلر های avr رو البته به زبان بیسیک آموزش بدم.
اولین قدم برای هر تازه کار آشنایی با مبانی الکترونیک دیجیتال هست
.به خاطر همین کمی با الکترونیک دیجیتال آشنا میشیم:
همه ما شنیدیم که میگن زبان کامپیوتر صفر و یکه اما این یعنی چی؟
در واقع چیزی به نام عدد در سیم حرکت نمکنه .منظور از صفر ویک همان سطح ولتاژ هستش که برای راحتی کار و انجام محاسبات به اون صفر یا یک میگن.و چون در سیم دو حالت میتونه وجود داشته باشه به اون سیستم دودویی یا نبنای دو میگن.
در الکترونیک دیجیتال سطوح ولتاژ متفاوتی برای سیستم دیجیتال مختلف وجود دارد.مهمترین آنها سطح ولتاژ 5 ولت است. به طوری که از 0 ولت تا 1.2 ولت را صفر منطقی در نظر میگیرند. از 1.2 ولت تا 3.8 ولت محدوده ی تعریف نشده است و از 3.8 ولت تا 5 ولت را یک منطقی در نظر میگیرند.
پس هر وقت گفته شد فلان وسیله به زبان صفر و یک کار میکنه یعنی سطح ولتاژ موجود در آن بین 0 تا 5 ولت است(البته سطوح ولتاژ ممکن است در برخی مدارات مانند موبایل که 3.3 ولت است متفاوت باشد)
خب . تا اینجا فهمیدیم که صفر و یک یعنی چی اما بریم سراغ محاسبات با صفر و یک:
مبنای عددی که به طور معمول در زندگی روز مره از اون استفاده میکنیم مبنای 10 هستش که شامل رقم های 0 تا 9 میشه یعنی تمام رقم ها از 10 کوچکترند
در مبنای 2 هم اینگونه است یعنی تمام اعداد از 2 کوچکترند.(0و1)
روش های زیادی برای تبدیل اعداد به مبنای 2 وجود دارد مانند:
تقسیم پیا یی عدد به 2 و نوشتن باقی مانده. برای مثال عدد7 در مبنای 2 برابر است با 111 و یا10 در مبنای 2 برابر است با1010 والی آخر(مطالعه بیشتر در این مورد با شما)
اعداد مبنای 2 هم مانند اعداد مبنای 10 با یکدیگر رابطه ریاضی بر قرار میکنند.به طور مثال
 111+11=1010(7+3=10)
1001-100=101(9-4=5)
""""""""""""""""""""""""""""""""""""""""""
به نظرم تا این جا آشنایی با الکترونیک دیجیتال کافیه و اگه چیزی هم لازم باشه در ادامه توضیح میدم.
حالا بریم سراغ میکروکنترلر:
میکروکنترلر در واقع  یک پردازنده قابل برنامه ریزیه که با توجه به نوع میکروکنترلر میتونه کار های ساده ای مانند یک فلاشر تا کار های محاسباتی مانند فاصله یاب یا ماشین حساب رو در کسری از ثانیه انجام بده. افرادی که میخوان تازه برنامه نویسی میکرو رو یاد بگیرن لازه نیست که در مورد ساختار میکرو اطلاعات زیادی داشته باشند(کم کم با کار کردن به دست میاد)
برای شروع پیشنهاد میکنم از میکرو های avr xmega استفاده کنید دلیلش هم در حین آموزش میگم.
حالا بریم سراغ برنامه نویسی
در بین زبان های برنامه نویسی سطح بالا(hll) زبان بیسیک زبان آسان وشناخته شده ایه و بیشتر به زبان انسات نزدیک هستش.به همین علت از زبان بیسیک برای برنامه نویسی میکرو استفاده میکنیم.
برای این کار باید کامپایلر bascom avr رو  کامپیوتر شما نصب باشه.(میتونید از اینترنت به طور رایگان دانلود کنید)

در برنامه نویسی بسکام مهمترین قسمت به دست آوردن منطق کار و روند نوشتن برنامه است.برای این منظور باید نکات زیر را در نظر گرفت:

1-برنامه ریخته شده در میکرو همیشه و همیشه خط به خط اجرا میشود پس ترتیب خط های برنامه اهمیت زیادی دارد.

2-برای جلوگیری از سردر گمی در نوشتن برنامه میبایست تعداد وروددی و خروجی ها را حداقل ممکن در نظر گرفت.

3-نام متغیر ها(در ادامه اشاره می شود)به درستی انتخاب شود.

4-سعی شود هر قسمت از مدار که ممکن است به صورت نرم افزاری (انجام آن توسط میکروکنترلر)طراحی شود.مثلا ممکن است در قسمتی از مدار مقدار آنالوگی را به دیجیتال تبدیل کنیم.این کار با تراشه های مخصوصی انجام میشود ولی بهتر است مبدل آنالوگ به دیجیتال میکروکنترلر استفاده شود.که به صورت نرم افزاری فعال می شود.

5ممکن است چندین طریق برای نوشتن برنامه وجود داشته باشد.باید بهترین ومطمئن ترین را انتخاب کرد.

دستورات برنامه نویسی بسکام:

اولین دستوری که در هر برنامه نوشته میشود معرفی میکرو کنترلر مورد استفاده است به این منظور دستور زیر را به کار می بریم:

$regfile="microname"

به جای کلمه microname باید اسم میکرد کنترلر مورد استفاده را نوشت.پس از نوشتن $regfile پنجره کوچکی باز می شود که میتوان میکرو مورد نظر را انتخاب کرد.(در واقع با این دستور فایل موجود در نرم افزار بسکام را که مربوط به میکرو کنترلر مورد اسفاده است را به برنامه آورده اید)

دستور بعدی تعیین فرکانس کلاک میکرو است.فرکانی کلاک در واقع همان سرعت انجام دستور العمل در میکرو است.:

$crystal=x

به جای x میتوان ضرایب صحیح 1000000 را بسته به نوع میکروکنترلر قرار داد.(این عدد مثلا 1000000 یعنی این که میکرو کنترلر در هر ثانیه حداکثر یک میلیون دستورالعمل انجام میدهد و در میکرو کنترلر های avr بسته بع نوع آن حداقل 1000000 و حداکثر 20000000 میباشد.اکثر میکرو های avr  تا کلاک 8000000 را بدون کریستال خارجی و از 8000000 به بالا را با کریستال خارجی ایجاد می کنند.

 

 




  • سامان | اخبار | خرید اینترنتی