خوش آمديد!
05:59 پنج شنبه 8 مرداد ماه ، 1389
سایت برق الکترونیک ایرانیان Ω الكترونيكا: تالار گفتمان

Electronica.ir :: نمايش موضوعات - AVR در BASCOM

 سوالات رايج مربوط به تالارهاي گفتمانسوالات رايج مربوط به تالارهاي گفتمان   جستجوجستجو   ليست كاربرانليست كاربران   گروههاي كاربريگروههاي كاربري   مشخصاتمشخصات   

ورود به سيستم و كنترل پيغامهاي شخصيورود به سيستم و كنترل پيغامهاي شخصي  
ورود به سيستمورود به سيستم  
AVR در BASCOM

 
ارسال موضوع جديد  پاسخ به اين موضوع   ارسال تشکر  Electronica.ir صفحه اول انجمن -> ميکرو کنترلرها، پروسسورها و ادوات مرتبط -> ميکرو کنترلرها، پروسسورها و ادوات مرتبط -> AVR
نمايش موضوع قبلي :: نمايش موضوع بعدي  
نويسنده پيغام
محل سكونت: کرج

shamimi
مدیر سایت
مدیر سایت

وضعیت: آفلاين
24 مرداد ماه ، 1387
تعداد ارسالها: 717
امتياز: 9305
تشکر کرده: 1
تشکر شده 27 بار در 23 پست

محل سكونت: کرج

ارسالارسال شده در: پنجشنبه، 7 آذر ماه ، 1387 11:31:47    موضوع مطلب: AVR در BASCOM پاسخ همراه با اعلان

نرم افزار BASCOM یکی از قوی ترین نرم افزار های کامپایلری است که برای میکرو کنترلر ها ارائه شده است این نرم افزار که در واقع از زبان برنامه نویسی BASIC استفاده می کند قابلیت های زیادی از ابتدای برنامه نویسی و کامپایل و تولید فایل HEX تا پروگرام کردن برنامه بر روی میکرو داراست.

من در این قسمت برای یادگیری بهتر و آسان مطالب از شیوه ی مثال استفاده می کنم، به گونه ای که ابتدا مثال عملی مطرح می کنم و سپس به توضیح اجزای مثال می پردازم.

اینجانب توصیه می کنم با خرید یک میکرو به شماره AtMega16 و یک LCD 16*2 پروژه هایی را که در اینجا معرفی می گردند دنبال نمایید تا اطلاعات شما در حافظه بلند مدتتان ذخیره گردد.

بعد از نصب برنامه BASCOM نسخه 1.11.7.4 و باز کردن برنامه با صفحه زیر مواجه می شویم


برای ایجاد یک صفحه ی جدید کافیست از منوی File گزینه ی New را انتخاب کنیم.

تا یک صفحه جدید باز شود:



من در اینجا قصد دارم که یک برنامه کوچک بنویسم و طریقه ریختن آن بر روی میکرو و اجرای آن را باز گو نمایم. ابتدا برنامه را می نویسم فعلا به اجزای برنامه کاری نداریم و فقط عیناً مینویسیم.



[quote]
regfile = "m16def.dat"

$crystal = 1000000

Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7 , Rs = Pinb.2 , E = Pinb.3

Config Lcd = 16 * 2

Cls

Locate 1 , 1

Lcd "this is a sample"

Locate 2 , 1

Lcd " for AVR micro "

Wait 5

Cls

Lcd " GOOD BYE "

Locate 2 , 1

Lcd "have a good time"

End 'end program




بعد از نوشتن این 12 خط برنامه (که با رنگ آبی نوشته شده است) در محیط BASCOM ابتدا در جای مشخصی این برنامه را ذخیره می سازیم (با زدن دکمه ی Save) حال با زدن دکمه ی F7 بر روی کیبورد یا انتخاب گزینه ی Compile از منوی Program این برنامه کامپایل شده و فایل هگز آن ساخته می شود.

برای ریختن این برنامه بر روی میکرو از مدار زیر استفاده نمایید. این مدار با پورت 25 پین کامپیوتر خانگی کار میکند و ساخت آن بسیار ساده و کم هزینه می باشد، فقط نکته مهمی که باید توجه داشته باشید درست زدن پایه های پورت 25 پین است چون اکثر کاربران این پورت را معکوس وصل می کنند. برای کاهش اشتباه توصیه می کنم طبق شماره پایه های پورت وصل نمایید.

در این مدار از یک بافر به شماره 74HC244 استفاده شده که از بافر 74LS244 نیز میتوان استفاده کرد. همچنین یک مقاومت 100 کیلو اهم از پایه شماره 11 بافر به پایه ی شماره 20 بافر متصل گردیده که حتما می بایست متصل شود


حال به توضیح دستورات برنامه می پردازیم



$regfile = "m16def.dat"

برای معرفی شماره میکروکنترلر به برنامه Bascom از دستور regfile$ استفاده می کنیم که اینجا از میکروکنترلر Atmega16 استفاده کرده ایم.

$crystal = 1000000

فرکانس کار میکروکنترلر با دستور crystal$ تعیین می گردد چون میکرو به صورت پیش فرض با فرکانس اسیلاتور داخلی که مقدارش 1 مگاهرتز است کار می کند در اینجا مقدار آن همان پیش فرض میکرو تعیین شده است.

Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7 , Rs = Pinb.2 , E = Pinb.3

در برنامه BASCOM برای تعیین پایه های LCD از دستور بالا استفاده می شود.

Config Lcd = 16 * 2

با این دستور نوع LCD از لحاظ تعداد نمایش کاراکتر مشخص می گردد.

Cls

دستور Cls تمام صفحه نمایش را پاک می کند.

Locate 1 , 1

برای آدرس دهی به کاراکتر های LCD از دستور Locate استفاده می گردد که عدد اول از سمت چپ شماره سطر و عدد دوم شماره ستون را تعیین می کند.

Lcd "this is a sample"

اگر بعد از دستور LCD دابل کوتیشن (") بیاید همان کاراکتر که به صورت استاندارد اسکی است روی صفحه نمایش نشان داده می شود.

Locate 2 , 1

Lcd " for AVR micro "

Wait 5

با دستور wait می توان به سادگی در میکروکنترلر تاخیر ایجاد کرد این تاخیر به صورت ثانیه ای است برای ایجاد تاخیر میلی ثانیه از دستور waitms و برای ایجاد تاخیر میکرو ثانیه از دستور waitus استفاده می گردد. برای مثال اگر بخواهیم 50 میلی ثانیه تاخیر ایجاد از دستور waitms 50 استفاده می کنیم.

Cls

Lcd " GOOD BYE "

Locate 2 , 1

Lcd "have a good time"

End 'end program

بعد از پایان برنامه از دستور End استفاده می شود همچنین اگر بخواهیم واژه ای را به صورت یاداشت بنویسیم از کوتیشن (') یا عبارت Rem استفاده می نماییم.

بعد از پروگرام کردن میکرو کنترلر نوبت مونتاژ مدار میکرو میرسد که کاری بسیار ساده می باشد.

پایه های میکرو و LCD به صورت زیر می باشد:



با توجه به اشکال بالا و شکل زیر مدار را مونتاژ می کنیم:








با اجرای مدار ابتدا واژه this is a sample بر روی خط اول LCD نمایش داده می شود و واژه for avr micro بر روی خط دوم نشان داده می شود بعد از گذشت 5 ثانیه نمایشگر پاک شده و واژه Good bye و have a good time بر روی آن نمایش داده می شود.

اکنون یک مدار میکرو ساده ایجاد شد توصیه می نمایم برای یادگیری بیشتر ابتدا پروژه های موجود در سایت را بسازید و سپس پروژه های سنگینتر با معلومات خودتان را ایجاد نمایید.

_________________
به سایت الکترونیک ایرانیان خوش آمدید.
در صورتي كه به موضوع خاصي احتياج داشتيد در تالار مطرح نماييد.
بازگشت به بالا
رويت مشخصات كاربر ارسال پيغام شخصي ارسال ايميل بازديد از سايت ارسال كننده مطلب شناسه Yahoo
تشکرهاي ثبت شده از ايجاد کننده تاپيک :
 


alichegini


وضعیت: آفلاين
9 دي ماه ، 1388
تعداد ارسالها: 1
امتياز: 2
تشکر کرده: 0
تشکر شده 0 بار در 0 پست


ارسالارسال شده در: چهارشنبه، 9 دي ماه ، 1388 00:25:09    موضوع مطلب: پاسخ همراه با اعلان

سلام
عکس هایی که گذاشتین نمیاد. Shocked
بازگشت به بالا
رويت مشخصات كاربر ارسال پيغام شخصي
محل سكونت: کرج

shamimi
مدیر سایت
مدیر سایت

وضعیت: آفلاين
24 مرداد ماه ، 1387
تعداد ارسالها: 717
امتياز: 9305
تشکر کرده: 1
تشکر شده 27 بار در 23 پست

محل سكونت: کرج

ارسالارسال شده در: پنجشنبه، 10 دي ماه ، 1388 23:08:49    موضوع مطلب: پاسخ همراه با اعلان

چون دوست عزیز آن کسی که این متن را برای من فرستاده و من در سایت گذاشتم عکس های که در سرور دیگر آپلود کردن قطع شده که بزودی درست می شه موفق باشید
_________________
به سایت الکترونیک ایرانیان خوش آمدید.
در صورتي كه به موضوع خاصي احتياج داشتيد در تالار مطرح نماييد.
بازگشت به بالا
رويت مشخصات كاربر ارسال پيغام شخصي ارسال ايميل بازديد از سايت ارسال كننده مطلب شناسه Yahoo
تمامي مطالب ارسال شده:   
ارسال موضوع جديد   پاسخ به اين موضوع   ارسال تشکر

   Electronica.ir صفحه اول انجمن -> ميکرو کنترلرها، پروسسورها و ادوات مرتبط -> AVR

زمان پيشفرض سايت: ساعت گرينويچ + 3.5 ساعت
صفحه 1 از 1
  
نام کاربري:      کلمه عبور:     

~ يا ~
عضويت در سايت

  


 



Powered by phpBB & Farsi Project By PHPNuke.ir  
Forum style designed by PixelSlot