اطلاعیه

Collapse
No announcement yet.

مشکل با کار نکردن atmega128

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با کار نکردن atmega128

    سلام دوستان
    من میکرو atmega128a smd دارم ولی وقتی پروگرام می کنم پروگرام میشه ولی هیچ کاری نمی کنه مثلا برنامه نوشت که روی ال سی دی یه چیزی نشون بده که نشون نداد حتی نوشتم یه دونه pin.a.0 ریست بشه که فقط 0.43 برق داد

    #2
    پاسخ : مشکل با کار نکردن atmega128

    بریا شروع ابتدا چند تا از پورتهای میکرو رو بصورت خروجی تعریف کن و انها رو یکی در میون صفر و یک قرار بده تا مطمئن شی که اصلا میکرو کار میکنه یا (ترجیحا پورتی که به jtag وصل هست رو فعلا بی خیال شو!)
    بعد اگه کار کرد یه برنامه بنویس که همون صفر و یک ها رو هر 1000ms برعکس کنه تا مطمئن بشی که تنظیم کلاکت هم درستته و اگه به این جا رسیدی مطمئن باش میکرو درست کار میکنه اما برنامه شما یه مشکلاتی داره

    دیدگاه


      #3
      پاسخ : مشکل با کار نکردن atmega128

      نوشته اصلی توسط mojalan
      بریا شروع ابتدا چند تا از پورتهای میکرو رو بصورت خروجی تعریف کن و انها رو یکی در میون صفر و یک قرار بده تا مطمئن شی که اصلا میکرو کار میکنه یا (ترجیحا پورتی که به jtag وصل هست رو فعلا بی خیال شو!)
      بعد اگه کار کرد یه برنامه بنویس که همون صفر و یک ها رو هر 1000ms برعکس کنه تا مطمئن بشی که تنظیم کلاکت هم درستته و اگه به این جا رسیدی مطمئن باش میکرو درست کار میکنه اما برنامه شما یه مشکلاتی داره
      سلام
      با تشکر از پاسختن
      پورت هام 1و0 میشه ولی وقتی نوشتم
      $regfile = "m128def.dat"
      $crystal = 8000000
      Config Portb = Output
      Dim A As Byte
      Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 1
      Do
      Incr A
      Pwm1a = A
      If A = 200 Then
      A = 0
      End If
      Waitms 10
      Loop
      End
      انگار توی waitma 10 گیر میکنه

      دیدگاه


        #4
        پاسخ : مشکل با کار نکردن atmega128

        فیوز بیت M103 رو عوض کردی؟
        ;()((void (*)(void))0x0000))

        دیدگاه


          #5
          پاسخ : مشکل با کار نکردن atmega128

          بنده هم دو تا میکرو 128 دارم که بعد از یک ربع کار کردن دیگه پروگرمر قادر به شناسایی اونا نیست. کسی میتونه راهنمایی کنه؟ ممنون از لطفتون.
          بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
          موفقيت پيش رفتن است نه به نقطه ي پايان رسيدن
          نلسون ماندلا

          دیدگاه


            #6
            پاسخ : مشکل با کار نکردن atmega128

            سلام دوستان
            نوشته اصلی توسط SAJAD-G
            فیوز بیت M103 رو عوض کردی؟
            این فیوز بیت قبلا 0 بود کردمش 1 مشکلم حل شد
            با تشکر
            نوشته اصلی توسط رضا بابایی
            بنده هم دو تا میکرو 128 دارم که بعد از یک ربع کار کردن دیگه پروگرمر قادر به شناسایی اونا نیست. کسی میتونه راهنمایی کنه؟ ممنون از لطفتون.
            پایه های mosi و miso به کجا وصل کردی
            شاید میکروت سوخته باشه برقت میزون 5ولت بود

            دیدگاه


              #7
              پاسخ : مشکل عجیب با میکرو atmega128a

              زمانی که برد رو روشن میکنم بعد از 5 دقیه کار کردن پایه های Vcc و GND که کنار هم هستند شروع به جرقه زدن و دود کردن میکنند و میکرو میسوزه.
              تا حالا 4 تا mega64a و mega128a که با 3.3 ولت راه اندازی کردم سوختن. دوستان تا به حال کسی با این مشکل برنخورده؟ کلافه شدم.
              ممنون.
              بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
              موفقيت پيش رفتن است نه به نقطه ي پايان رسيدن
              نلسون ماندلا

              دیدگاه


                #8
                پاسخ : مشکل با کار نکردن atmega128

                سلام
                من یه پروگرام داشتم که یه جا پایه هاش تقریبن به هم وصل شده بود برقش هم با برق usb کامپیوتر بود جرقه میزد بعد دود می کرد تیغ برداشتم اون جارو با تیق هی سایدم درست شود
                برای شما اوجا روغن لحیم داره؟ اگه داره پاکش کن
                برقت چند امپر هست؟

                دیدگاه


                  #9
                  پاسخ : مشکل با کار نکردن atmega128

                  نوشته اصلی توسط SAJAD-G
                  فیوز بیت M103 رو عوض کردی؟
                  منم همین مشکل رو داشتم بصورتی که میکرو پروگ میشد ولحظه اول پورتها مقداردهی میشدن ولی دیگه کاری انجام نمیشد.با 1 کردن این فیوز بیت مشکل حل شد
                  { خلاف قوانین - پاک شد - در صورت تکرار آدرس وب سایت فیلتر خواهد شد }

                  دیدگاه


                    #10
                    پاسخ : مشکل با کار نکردن atmega128

                    سلام دوستان
                    من با میکرو مگا64 کار می کنم
                    مشکلی که در مگا128 دارید رو من در مگا 64 دارم یعنی یکرو پروگ میشد ولحظه اول پورتها مقداردهی میشدن ولی دیگه کاری انجام نمیشد
                    کلا یعنی این که پروگرم میشه ولی وقتی میزنم میکرو کار کنه حتی روشن و خاموش کردن ال ای دی دیگه کاری انجام نمیده
                    آیا از فیوزبیتش هست؟
                    ممنون

                    دیدگاه


                      #11
                      پاسخ : مشکل با کار نکردن atmega128

                      نوشته اصلی توسط رضا بابایی
                      زمانی که برد رو روشن میکنم بعد از 5 دقیه کار کردن پایه های Vcc و GND که کنار هم هستند شروع به جرقه زدن و دود کردن میکنند و میکرو میسوزه.
                      تا حالا 4 تا mega64a و mega128a که با 3.3 ولت راه اندازی کردم سوختن. دوستان تا به حال کسی با این مشکل برنخورده؟ کلافه شدم.
                      ممنون.
                      جسارته ولی شما احیانا زمانی که میکرو رو لحیم می کنید از روغن لحیم استفاده کردین ؟ بعد از لحیم کاری پایه های میکرو رو با اسپری کنتاکت شور یا تینر فوری 20000 شستوشو می کنید ؟
                      خداوند بی نهایت است اما به قدر نیاز تو فرود می آید ، به قدر آرزوی تو گسترده می شود و به قدر ایمان تو کارگشاست.
                      [hr]

                      دیدگاه


                        #12
                        پاسخ : مشکل با کار نکردن atmega128

                        من یک atmega128a خردیم وقتی میخوام پروگرم کنم میگه میکرویی به پروگرمر وصل نیست
                        بایه mosi را به RX و miso را به TX وصل کردم اما درست نشد :cry2:
                        معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.

                        دیدگاه


                          #13
                          پاسخ : مشکل با کار نکردن atmega128

                          سلام
                          من یه برنامه با مگا 128 با استفاده از ویزارد کدویژن نوشتم که میخام با استفاده از RS232 یه فرکانسی رو بر روی پایه های میکرو ایجاد کنم، یوزارت 1 رو فعال کردم و با یه برنامه ساده دیدم ارتباط دارم (یعنی یه کاراکتر از ویژوال بیسیک فرستادم و توی خودش دوباره دریافت کردم) ولی حالا هرچی رجیسترهای تایمر یک رو تغییر میدم فرکانس ندارم..چرا؟ کسی میتونه کمکم کنه؟
                          کد:
                          *****************************************************/
                          
                          #include <mega128a.h>
                          #include <stdio.h>
                          #include <delay.h>
                          
                          #ifndef RXB8
                          #define RXB8 1
                          #endif
                          
                          #ifndef TXB8
                          #define TXB8 0
                          #endif
                          
                          #ifndef UPE
                          #define UPE 2
                          #endif
                          
                          #ifndef DOR
                          #define DOR 3
                          #endif
                          
                          #ifndef FE
                          #define FE 4
                          #endif
                          
                          #ifndef UDRE
                          #define UDRE 5
                          #endif
                          
                          #ifndef RXC
                          #define RXC 7
                          #endif
                          
                          #define FRAMING_ERROR (1<<FE)
                          #define PARITY_ERROR (1<<UPE)
                          #define DATA_OVERRUN (1<<DOR)
                          #define DATA_REGISTER_EMPTY (1<<UDRE)
                          #define RX_COMPLETE (1<<RXC)
                          
                          // Get a character from the USART1 Receiver
                          #pragma used+
                          
                          // Timer 0 overflow interrupt service routine
                          
                          
                          interrupt [TIM0_OVF] void timer0_ovf_isr(void)
                          {
                          // Place your code here
                          
                          }
                          
                          // Timer1 overflow interrupt service routine
                          interrupt [TIM1_OVF] void timer1_ovf_isr(void)
                          {
                          // Place your code here
                          
                          }
                          
                          
                          char getchar1(void)
                          {
                          char status,data;
                          while (1)
                             {
                             while (((status=UCSR1A) & RX_COMPLETE)==0);
                             data=UDR1;
                             if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
                               return data;
                             }
                          }
                          #pragma used-
                          
                          // Write a character to the USART1 Transmitter
                          #pragma used+
                          void putchar1(char c)
                          {
                          while ((UCSR1A & DATA_REGISTER_EMPTY)==0);
                          UDR1=c;
                          }
                          #pragma used-
                          
                          // Declare your global variables here
                          
                          void main(void)
                          {
                          char a=0;
                          // Declare your local variables here
                          
                          //-----------------------------------------------------------------------------------------Ports
                          // Input/Output Ports initialization
                          // Port A initialization
                          // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                          // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
                          PORTA=0x00;
                          DDRA=0x00;
                          
                          // Port B initialization
                          // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                          // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
                          PORTB=0x00;
                          DDRB=0x10;
                          
                          // Port C initialization
                          // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                          // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
                          PORTC=0x00;
                          DDRC=0xff;
                          
                          // Port D initialization
                          // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                          // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
                          PORTD=0x00;
                          DDRD=0x00;
                          
                          // Port E initialization
                          // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                          // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
                          PORTE=0x00;
                          DDRE=0x00;
                          
                          // Port F initialization
                          // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                          // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
                          PORTF=0x00;
                          DDRF=0x00;
                          
                          // Port G initialization
                          // Func4=In Func3=In Func2=In Func1=In Func0=In 
                          // State4=T State3=T State2=T State1=T State0=T 
                          PORTG=0x00;
                          DDRG=0x00;
                          //-------------------------------------------------------------------------------------------Usart1
                          // USART1 initialization
                          // Communication Parameters: 8 Data, 1 Stop, No Parity
                          // USART1 Receiver: On
                          // USART1 Transmitter: On
                          // USART1 Mode: Asynchronous
                          // USART1 Baud Rate: 9600
                          UCSR1A=0x00;
                          UCSR1B=0x18;
                          UCSR1C=0x06;
                          UBRR1H=0x00;
                          UBRR1L=0x19;
                          
                          
                          //-----------------------------------------------------------------------------------------Timer0
                          // Timer/Counter 0 initialization
                          // Clock source: System Clock
                          // Clock value: 4000.000 kHz
                          // Mode: Normal top=0xFF
                          // OC0 output: Set on compare match
                          ASSR=0x00;
                          TCCR0=0x31;
                          TCNT0=0x00;
                          OCR0=0x00;
                          
                          //------------------------------------------------------------------------------------------Timer1
                          // Timer/Counter 1 initialization
                          // Clock source: System Clock
                          // Clock value: 4000.000 kHz
                          // Mode: Normal top=0xFFFF
                          // OC1A output: Set
                          // OC1B output: Set
                          // OC1C output: Discon.
                          // Noise Canceler: Off
                          // Input Capture on Falling Edge
                          // Timer1 Overflow Interrupt: On
                          // Input Capture Interrupt: Off
                          // Compare A Match Interrupt: Off
                          // Compare B Match Interrupt: Off
                          // Compare C Match Interrupt: Off
                          TCCR1A=0x00;
                          TCCR1B=0x00;
                          TCNT1H=0x00;
                          TCNT1L=0x00;
                          ICR1H=0x00;
                          ICR1L=0x00;
                          OCR1AH=0x00;
                          OCR1AL=0x00;
                          OCR1BH=0x00;
                          OCR1BL=0x00;
                          OCR1CH=0x00;
                          OCR1CL=0x00;
                          
                          //-----------------------------------------------------------------------------------------------Interrup
                          // Timer(s)/Counter(s) Interrupt(s) initialization
                          TIMSK=0x05;
                          
                          // Global enable interrupts
                          #asm("sei")
                          //-----------------------------------------------------------------------------------------------------
                          while (1)
                             { 
                             
                             
                             PORTB.4=0;
                             delay_ms(50);
                          
                             PORTB.4=1;
                             delay_ms(1000);
                             
                             
                              a=getchar1(); 
                              
                              
                              if (a=='p')
                             {
                              putchar1('T');
                                
                              } 
                              
                               if (a=='y')
                             {
                              putchar1('A');
                                
                              }      
                          
                           
                            if (a=='a')
                             {
                              PORTC.1=1;
                              }
                          
                          
                            if (a=='b')
                             {
                              PORTC.2=1;
                              }   
                          
                            if (a=='q')
                             {
                              PORTC.1=0;
                              }
                                
                            if (a=='r')
                             {
                              PORTC.2=0;
                              }  
                             
                            if (a=='j')
                            { 
                            TCCR1A=0xFC;  
                            TCCR1B=0x10;  
                            TCNT1H=0x00;  
                            TCNT1L=0x00;  
                            ICR1H=0x00;  
                            ICR1L=0xFF;  
                            OCR1AH=0x00;  
                            OCR1AL=0x7F;  
                            OCR1BH=0x00;  
                            OCR1BL=0x7F;  
                            OCR1CH=0x00;  
                            OCR1CL=0x7F; 
                           
                            }  
                          
                           }  
                          }

                          اضافه شده در تاریخ :
                          کسی چیزی نمیدونه؟

                          دیدگاه


                            #14
                            پاسخ : مشکل با کار نکردن atmega128

                            من این مشکل را دارم با کدویژن و بسکام نشد ولی با میکرو سی شد

                            دیدگاه

                            لطفا صبر کنید...
                            X