PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : عملکرد مگا8



mehdimki1
12-11-2012, 22:13
سلام من برنامه یه فلاشر ساده رو با اتمگا8 نوشتم. وقتی اتمگا رو تو مدار میذارم بعد از اینکه یه مدت زمانی رو کار میکنه تو عملکردش یه وقفه کوچیک پیش میاد.از پورت c به عنوان خروجی استفاده کردم.لطفا راهنماییم کنید.

vahidasm
12-11-2012, 22:19
سلام دوست عزیز
برنامه ای که نوشتی رو بذار ببینیم

mehdimki1
13-11-2012, 20:46
<include <mega8.h#
<include <delay.h>#
;char i
()void main
}

;DDRC.3=1
(while(1
{
for (i=0;i<10;i++){
PORTC.3=1;
delay_ms(100);
PORTC.3=0;
delay_ms(100);
}
PORTC.3=1;
delay_ms(2000);
PORTC.3=0;
delay_ms(2000);
}
}


از RCداخلی با فرکانس 8 مگا هرتز استفاده کردم.

agape
13-11-2012, 20:50
سلام دایی جان برنامه که خیلی ساده هست و نباید تو کارکردش اختلالی به جود بیاد - ولی احتمال میره که کار نوسان ساز داخلی با مشکل مواجه بشه - شاید به دلیل حرارت و... شما همین برنامه رو با اوسیلاتور خارجی آزمایش کنید ببینید چطور میشه

mehdimki1
13-11-2012, 21:36
من از ترانزیستور tip41استفاده کردم احتمالا از ترانزیستور نیست؟

agape
13-11-2012, 23:04
نه نمیتونه از ترانزیستور باشه !

abolfazld
14-11-2012, 00:18
سلام وقفه ات بخاطر اینه که حلقه forرو بستی بعد 2 تا 2 ثانیه الافی داری .فکر میکنی وقفه داری در صورتی که میکرو داره کارشو میکنه.خطهای بعد از بستن حلقه رو حذف کن

vahidasm
14-11-2012, 17:50
سلام وقفه ات بخاطر اینه که حلقه forرو بستی بعد 2 تا 2 ثانیه الافی داری .فکر میکنی وقفه داری در صورتی که میکرو داره کارشو میکنه.خطهای بعد از بستن حلقه رو حذف کن

خب دوست عزیز ایشون با علم به اینکه دستور delay تاخیر میندازه این سوال رو پرسیدن مگه اینکه کار این دستور رو ندونن که اونموقع باید از ایشون پرسید که این برنامه رو خودشون نوشتن یانه
در هر صورت اگه وقفه ای که رخ میده از همین 4 ثانیه باشه که مطمعنا میکرو درست کار میکنه و حق با جناب abolfazld هست که در اون صورت دوست عزیز جناب mehdimki1 این برنامه رو امتحان کنید :


#include <mega8.h>
#include <delay.h>
char i;
void main()
{

DDRC.3=1;
while(1)
{
for (i=0;i<10;i++){
PORTC.3=1;
delay_ms(100);
PORTC.3=0;
delay_ms(100);
}
}
}