سلام..
شما ابتدا برنامه بسکام را دانلود کرده و نصب نمایید .
http://s2.p30download.com/users/202/...wnload.com.zip
این لینک مستقیم از پی سی دانلود هست که فکر میکنم آخرین نسخه ها باشه و خودم چن روز پیش دانلودئش کردم.. پسورد فایل هم آدرس سایت هست.
بعد از اون باید یک پروگرمر داشته باشید. باید بتونید پروگرمری رو بسازید. برای ساخت پروگرمر این فا یل رو دانلود کن :
پرشین گیگ - دانلود - Amozesh Mogadamati AVR(avr-electronic.ir).zip
چیزی نیست باید یک آیسی hc244 که قیمت ارزونی هم داره با یکی دو تا مقاومت و یک کابل پرینتر و ... بخری و سیمهاش رو بهم وصل کنی...
اگر برد بورد داری آیسی رو روی بردبورد بذار... سیم های پروگرمر رو باید به پایه ایسی وصل کنی
اینکه به چه پایه هایی باید وصل شود توی فایل نوشته شده است
آیسیت باید روشن باشه...یعنی علاوه بر اینکه سیم های پروگرمری که ساختی رو به آیسیت وصل کردی با ید به آیسی ولتاژ تغذیه و زمین هم بدی... اون سمت پروگرمر رو به پورت پرینتر وصل کن.
حالا برنامه بسکام رو اجرا کن.... به منوی آپشن برو و روی پروگرمر کلیک کن.
یه کادر باز میشه اونجا باید اسم و نوع پروگرمری که استفاده میکنی به برنامه معرفی کنی تا بدونه چطور باید با ایسی ارتباط برقرار کنه.
نام پروگرمر رو بر اساس پروگرمری که ساختی stk 200/300 انتخاب کن...
بعد از اتصال سیم ها تغذیه آیسی... حالا کلید F4 کیبورد رو بزن .. یه کادر ظاهر میشه..
اگر قبل از اینکه کادر ظاهر بشه یکی دو پیغام خطا داد نشون میده که آیسی رو نشناخته و یه جایی از اتصال یا پروگرمر و ... میلنگه..
خلاصه اینکه بعد از اینکه کادر پروگرم ظاهر شد... با زدن کلید آیدنتیفای چیپ ... سعی میکنه چیپ رو از طریغ پروگرمر شناسایی کنه...
دقت کن اگر پروگرمر سالم باشه چیپ تشخیص داده میشه و اسمش در سلکشن سمت چپش اتوماتیک قرار داده میشه و هیچ پیغام خطایی داده نمیشه در غیر این صورت اسم در سلکشن انتخاب نشده و پیغام خطا میدهد.
درصورتی که پیغام خطا دریافت کردی به معنی این است که هنوز مشکلی در پروگرمر و اتصال وجود دارد و اگر در منوی اپشن » پروگرمر... نوع پروگرمر رو بهش دادی باید خطا خارج از پروگرمر باشه... مثلا باید دقت کنی آیسی اچ سی 244 هم تغذیه شده باشه خلاصه اینکه مشکل رو پیدا کنی.
اگر برناهم تشخیص داد میشه گفت 60 الی 70 درصد کار تمام شده !!
چون برنامه نویسی کار بسیار ساده است.
یه نکته بگم در فایلی که بالا نوشتم هیچ اشاره ای به برنامه بسکام نکرده و برنامه دلخواهی رو با کدویژن نوشته که اگر دوست داشتی میتونی طبق اون عمل کنی... و اصلا با بسکام کاری نداشته باشی اما توصیه من بسکام هست که برنامه دوست داشتنی راحت و با امکانات بهتریست و از زبان بیسیک پشتیبانی میکند.
برای کار با بسکام حالا باید شروع کنی برنامه نویسی کنی :
ابتدا باید نوع آیسی رو به برنامه بدی :
$regfile = "m32def.dat"
خط بالا آیسی atmega 32 رو به برنامه معرفی میکنه..
شما چون از atmega 8 استفاده میکنی باید احتمالا عدد 32 رو به هشت تغییر بدی .
حالا باید فرکانس کریستال آیسی رو به برنامه بدهیم... به طور پیشفرض آیسی از کریستال داخل آیسی که مقدار آن احتمالا 1 مگاهرتز هست استفاده میکند و نیاز به هیچ چیز خروجی ندارد پس این خط را وارد کن :
crystal = 1000000 Hz
حالا باید نوع پورت های خروجی رو مشخص کنی... مثلا هر وقت میخواهی روی پورتی بنویسی و به بیرون اطلاعات بدهی یعنی پورت را باید خروجی تعریف کرد و اگر بخواهیم بخوانیم یعنی باید ورودی تعریف کرد
به طور پیشفرض پورت ها ورودی تعریف شده اند...مثال های زیر پین ها رو ورودی یا خروجی تعریف میکنه به دلخواه :
Config Pina.4 = Output
Config Pina.5 = Output
Config Pina.6 = Output
Config Pina.7 = Output
Config Pinb.0 = Input
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinb.3 = Input
Config Pinb.4 = Input
Config Pinb.5 = Output
Config Pinb.6 = Output
Config Pinb.7 = Output
Config Portd = Output
البته شما چون نیازی به ورودی نداری طبیعتا فقط باید خروجی تعریف کنی
تفاوت خط آخر که بولد شده با خطوط قبل این هست که خط آخر یک پورت با به یکباره باهم (همه هشت پینش را) بعنوان خروجی یا ورودی تعریف میکند اما خطوط قبل به طور اختیاری تک تک پینهارا تنظیم میکنند.
حالا کافیه یه حلقه بسازی و اعمالی که دوست داری تا بینهایت انجام بشه داخلش بنویسی :
do
دستوراتی که باید همیشه اجرا شوند
loop
برای نوشتن این دستتورات هم هرطور که میل خودت هست کار میکنی بعنوان مثال میخوای فلان پین رو یک کنی یا صفر کنی این رو مینویسی بین حلقه :
PortA.2 = 0
یعنی پین دوم از پورت A رو صفر کن ..... یا اگر اخرش یک بذاری یک میکنه...
برای اتمام بحث من یه مثال ساده از یک چشمک زن ساده مینویسم و بحث رو تمام میکنم :
do
porta.0=1
waitms 500
porta.0=0
waitms 500
loop
بعد از اینکه فرکانس کریستال داده شد و نوع ایسی تعریف شد و پورتها بعنوان خروجی تعریف شدند کافیه حلقه ساده بالا رو بنویسیم.... پین صفر از پورت a چشمک میزنه
دستور waitms یعنی فلان میلی ثانیه صبر کن... که هرچه جلوش بنویسی همون مقدار صبر میکنه..
دقت کن حتما این دستور رو بگذاری وگرنه اینقدر سرعت عملیات زیاد میشه که ممکنه هیچ چیز دیده نشه..پس حتما از دستور صبر کردن استفاده کن تا عملیات رویت شوند.
موفق باشی