ايران ويج

نسخه‌ی کامل: کار نکردن میکرو بعد از پروگرام کردن آن
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3
سلام من میخوام یه میکرو 32 رو پروگرام کنم ولی بعد از اینکه فیوز بیت اسیلاتور رو برنامه نویسی میکنم دیگه میکرو کار نمیکنه.چیکار کنم؟این برای چیه؟
اسیلاتور رو از کار میندازی
احتمالا مثلا کریستال گذاشتی روی RC خارجی تنظیمش می کنی دقیقا ببین روی چی تنظیم میکنی نات بودن بیت ها رو هم فراموش نکن
درسته .مشکلم همین بود و چون پروگرمرم هم همون بود که توی کتابش کشیده و اسیلاتور نداشت کار نمیکرد.من هم از پشت بردم یه کریستال و دو تا خازن به اون لحیم کردم و درست شد.
با سلام...
من تازه کار با میکرو را شروع کردم.تقریبا برای اولین کارم هم اومدم یه مقاله خوندم که با یک مثال ساده شروع کرده بود( چشمک زدن ال ای دی) اما بعد از اینکه میکرو را پروگرم کردم (با پروگرومر ای وی ار مال نواوران الکترونیک) .دیدم کار نمی کنه یعنی اصلا چشمک نمی زنه که هیچی حتی با اینکه تو برنامه مشخص کرده بودم که پورت ا ال ای دی ها را که بهش وصل میکنم روشن خاموش کنه وقتی تو پورت های دیگه هم میذارم روشن میشه ال ای دی ولی با نور کمتر.این با مگا 16 بود با مگا 8 هم امتحان کرده بودم قبلا همین مشکل بود. اگه راهنماییم کنید ممنون میشم.
مدارشم این طوری بود که از + از رگولاتور به 10 رفته و - هم به 11 و از + ال ای دی به 40 که 1 پورت ا هست وصل می شه و - اون هم به یه سیم که از - اومده وصل می شه... :(
سلام

فكر كنم مشكل به ورودي و خروجي تعريف شدن ميتونه باشه.شما اين مورد رو چك كن.

با كمال سپاس
S.Mahdizadeh
شما دوباره میتونی پروگرامش کنی؟
برنامه رو خودت نوشتی یا از یه برنامه نوشته شده تست شده استفاده کردی؟
ورودی و رخوجی رو درست تعریف کردی؟
از یک برنامه که تو یک مقاله بود استفاده کردم.به زبون سی بود.
PORTA = 0xff;
delay_ms)20);
PORTA=0X00;
delay_ms)20);
البته ترتیب کاراکتر ها اینجا بهم ریخت مثکه...من اینهارو تو حلقه وایل تو کدویزن نوشتم. و هدر #include<delay.h> این هم به هم ریخت... بعد پروگرم کامپایل کردم و بعد هم میکرو را پاک کردم و بعد پروگرم کردم البته وقتی پاک کردنش تموم شد (100%) شد اون کادر بسته نشد و دیگه همونطوری موند من هم محل ندادم چون هر دفعه اینطوری شد من دیگه محل ندادم و پروگرم کردم .
الان هم که به هرکدوم از پین ها که ال ای دی وصل می شه روشن می شه و حتی برای امتحان جای مثبت و منفی را به چند تا پین دیگه هم وصل کردم که روی بعضی هاش باز هم لامپ روشن میشد...
به نظرتون میکروم خرابه؟ یا اخه چه مشکلی می تونه داشته باشه ؟
اگه سوخته باشه این اتفاق نمی افته به نظرتون؟(من مبتدیم...)
:?:
ممنون
راستی...بله کل پورت ا را به عنوان خروجی تعریف کردم تو اون ویزارد خود کدویزن...
با یک میکرو مگا 8 هم که اصلا برای این برنامه پروگرم نشده هم امتحان کردم باز همین مسایل وجود داره... :roll:
شاید درست پروگرام نکردی نیاز به پاک کردن نیست وقتی پروگرام رو می زنی خودش پاک می کنه شما وری فای کن ببین درست ریخته شده یا نه اگه وریفای ok بده یعنی همه چیز درست پروگرام شده اگه بازمکار نکرد شاید میکرو راه اندازی نمی شه یعنی مثلا تو حالت ریست مونده که می تونه به خاطر در نیاوردن پروگرامر باشه
اولا ممنون که دارید کمک می کنید...
این کار که گفتین را کردم یعنی موقع پروگرم کردن اول یک 100% پر میشه بعدا هم وریفای میاد 100 میشه تموم می شه میره ولی اوکی نمیده...باید منتظر شم ؟؟؟
این خود برنامه است:
/*********************************************
This program was produced by the
CodeWizardAVR V1.23.8c Standard
Automatic Program Generator
© Copyright 1998-2003 HP InfoTech s.r.l.
http://www.hpinfotech.ro
e-mail:office@hpinfotech.ro

Project :
Version :
Date : 9/7/2006
Author :
Company :
Comments:


Chip type : ATmega16
Program type : Application
Clock frequency : 8.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*********************************************/

#include <mega16.h>
#include <delay.h>
// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func0=Out Func1=Out Func2=Out Func3=Out Func4=Out Func5=Out Func6=Out Func7=Out
// State0=0 State1=0 State2=0 State3=0 State4=0 State5=0 State6=0 State7=0
PORTA=0x00;
DDRA=0xFF;

// Port B initialization
// Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In
// State0=T State1=T State2=T State3=T State4=T State5=T State6=T State7=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In
// State0=T State1=T State2=T State3=T State4=T State5=T State6=T State7=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In
// State0=T State1=T State2=T State3=T State4=T State5=T State6=T State7=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
GICR|=0x00;
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
// Analog Comparator Output: Off
ACSR=0x80;
SFIOR=0x00;

while (1)
{
PORTA=0xff; //port A='1'
delay_ms(100);
PORTA=0x00; //port A='0'
delay_ms(100);

};
}

بعد از کامپایل کردن اوکی میده ولی تو قسمت اسمبلرش تو اخر می نویسه کامپایل شد ولی با یک ارور ... با این حال میشه پروگرمش کرد اگه برنامه مشکل داره یا چیزی دیگه نمی دونم ...نظر شما چیه؟
یک نکته دیگه هم اینکه شما فرمودین ورودی خروجی را درست تعریف نکردم . این را باید از جای خاصی تعریف کنم یا اینکه از تو همون ویزارد خود کدویزن باید پین های پورت را اوت کنم؟
صفحه‌ها: 1 2 3