اطلاعیه

Collapse
No announcement yet.

مشکل عدم اجرای صحیح برنامه روی میکروatmega128a

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

    مشکل عدم اجرای صحیح برنامه روی میکروatmega128a

    سلام
    دوستان بنده درحال کدنویسی برنامه ای بدم به مشکل عجیب غریب برخوردم
    1-بعد پروگرام برنامه روی میکرو هنگام اجرا،کار صحیح روانجام نمد دهد شکل های عجیب غریب رود glcd نمایش داده میشه با سه میکرو تست کردم همه همین مشکل دارن
    2-چندین فایل hexمختلف رو تست زدم همه همین مشکل رو دارن درحالی در پرتیوس برنامه راحت اجرا میشه فیوز بیت چک کردم روی 128 تنظیم شده
    3-برنامه با کدویژن3.12نوشته شده
    تمام مطالب بالا رو داشتید حالا یه سمپل با بسکام با همون کانفیگ کدویژن روی 128 پروگرام میشه راحت اجرا میشه
    دیگه هنگ هنگ هستم شاید ازتنظیمات stack باشه نمی دونم
    دوستان اینجور مشکلی داشتن :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry:
    :cry2: :cry2: :cry2: :cry2: :cry2: :cry2: :cry2: :cry2: :cry2: :cry2: :cry2: :cry2:
    اشکمو درآورده

    #2
    پاسخ : مشکل عدم اجرای صحیح برنامه روی میکروatmega128a

    کتابخونه ای که برا glcd استفاده میکینی مطمئنی مشکل نداره؟؟
    زیاد تعریف کتابخونه هاش رو نشنینم....اکثرا میگن جالب نیست


    در ضمن یه عکلی کدی چیزی قرار بده......این طوری نیمیشه دقیق گفت....شاید یه ....
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.

    دیدگاه


      #3
      پاسخ : مشکل عدم اجرای صحیح برنامه روی میکروatmega12

      آره سالمه فایل پرتیوس اجرا میشه
      کتابخانه اسامه وخود سایت eca هستش

      #include <mega128.h>


      #include<delay.h>

      #define LCD_PORT PORTC
      #define LCD_RST PORTA.2
      #define LCD_E PORTA.7
      #define LCD_RW PORTA.6
      #define LCD_RS PORTA.5
      #define LCD_CS2 PORTA.3
      #define LCD_CS1 PORTA.4

      flash char picture[]={
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80, 0x00,0x40,0x80,0x00,0x62,0x44,0x08,0x10,0x00,0x80, 0x48,0x84,0x00,0x00,0x60,0x20,0x00,0xC0,0x40,0x00, 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x80,0x10,0x84,0x79,0x04, 0x03,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x18,0x17,0x10,0x00,0x00,0x00,0x20,0x20,0x40,0x80, 0x80,0x01,0x22,0x9C,0x70,0x80,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0xC0,0x00, 0x60,0x40,0x10,0x40,0x60,0x20,0x80,0x40,0x00,0x80, 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x10,0x00,0x00, 0x00,0x04,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x04, 0x04,0x06,0x08,0x10,0x70,0xC0,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x80,0x20,0x00,0x00,0x08,0x01, 0x07,0x06,0x04,0x06,0x04,0x07,0x04,0x04,0x00,0x08, 0x08,0x10,0x70,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0xF0,0x00,0x00,0x7A,0x7A,0x00,0x40,0x00, 0x02,0x00,0x04,0xF8,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x40,0x80,0x00, 0x60,0x80,0x30,0x60,0x18,0x18,0x20,0x0C,0x14,0x12, 0x06,0x0C,0x03,0x07,0x04,0x03,0x03,0x1A,0x01,0x1F, 0x7D,0x3C,0x3C,0x3C,0x7D,0x19,0x06,0x02,0x03,0x05, 0x04,0x02,0x09,0x0C,0x06,0x12,0x0A,0x24,0x30,0x40, 0x60,0x30,0xC0,0xC0,0x20,0xA0,0xC0,0x40,0x10,0x90, 0x00,0x08,0x08,0x04,0x06,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x10,0x10, 0x08,0x0C,0x06,0x03,0x80,0x80,0x80,0x00,0x00,0xC0, 0xC0,0x80,0xFF,0x00,0x00,0x07,0x45,0x08,0xC0,0x87, 0x00,0x00,0x80,0xFF,0x08,0xE0,0xF0,0xF0,0xE0,0xC0, 0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x01,0x01,0x01,0x81,0x01,0x3F,0x21, 0x21,0x21,0x21,0x7B,0x3F,0x25,0x25,0x25,0x3F,0xBB, 0x21,0x21,0x21,0x39,0x25,0x23,0xA3,0x27,0x2F,0x3D, 0x39,0x31,0x21,0x23,0x3F,0x27,0x25,0x2D,0x39,0x39, 0x3F,0x3F,0x21,0x21,0x3B,0x7F,0x3F,0x25,0x25,0x25, 0x2F,0x3B,0x39,0x31,0xE1,0x21,0x21,0x21,0x21,0x3F, 0x21,0x01,0xC0,0x00,0xE0,0x20,0x20,0x00,0x00,0x00, 0x30,0x30,0x20,0x00,0x88,0x98,0x98,0x10,0x80,0x8C, 0x4C,0x48,0x40,0x00,0xC6,0xE6,0x24,0x20,0x00,0x03, 0xE3,0xF2,0x10,0x10,0x01,0x01,0x09,0xF8,0xF8,0x00, 0x00,0x04,0xFF,0x00,0x00,0x8D,0x88,0x98,0x90,0x3D, 0x01,0x00,0xDA,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFE,0xFC,0xFC,0xF8,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00, 0x00,0x00,0x00,0xFF,0x56,0x00,0x00,0x00,0x00,0xFF, 0x00,0x00,0x00,0x00,0xFF,0xFF,0x10,0xAC,0xF4,0x3E, 0x25,0x27,0x23,0x22,0x22,0xE2,0x22,0x22,0x22,0x23, 0x25,0x26,0x3A,0xE4,0xF8,0x00,0xFF,0xFF,0x00,0x00, 0x00,0xFF,0xFF,0x00,0x00,0xFF,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x7F,0x41, 0x41,0x00,0x3F,0x3F,0x00,0x00,0x20,0x20,0x3F,0x3F, 0x00,0x80,0x80,0x80,0x9F,0x9F,0x90,0x90,0x80,0x80, 0x8F,0x8F,0x88,0x08,0x48,0x48,0x40,0xC7,0x47,0xC0, 0xC0,0x04,0x0F,0x00,0x10,0x05,0x21,0x22,0x26,0x20, 0x30,0x00,0x0F,0x06,0x00,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x7F,0x40, 0x40,0x40,0x40,0x7F,0x6B,0x40,0x40,0x40,0x40,0x7F, 0x40,0x40,0x40,0x40,0x7F,0x7F,0x40,0x54,0x7F,0x40, 0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40, 0x40,0x40,0x40,0x7F,0x7F,0x40,0x7F,0x7F,0x40,0x40, 0x40,0x7F,0x7F,0x40,0x40,0x7F,0x40,0x40,0x40,0x40, 0x40,0x40,0x40,0xF0,0xFF,0x00,0x00,0x00,0x00,0x01, 0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0xFF,0x40,0xFF,0xFF,0x00, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xFF,0x00,0xFF, 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0xFF,0x3F,0xFF,0x0F,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x06, 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00, 0x00,0x00,0x00,0x3F,0x2B,0x28,0x28,0x28,0x28,0x28, 0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28, 0x28,0x28,0x28,0x28,0x28,0x2F,0x20,0x3F,0x3F,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x2F, 0x2F,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28, 0x28,0x28,0x28,0x28,0x28,0x3F,0x20,0x20,0x20,0x2F, 0x3F,0x2F,0x2F,0x3F,0x3F,0x3F,0x3F,0x3F
      };



      void write_lcd(char columns,char page,char data);
      void LatchLCD();
      void shiftup();
      void shiftdown();

      void main()
      {
      unsigned int i,x,y;
      PORTA=0x00;
      DDRA=0xFF;
      PORTB=0;
      DDRB=0xFF;
      LCD_E=0;
      LCD_RW=0;
      LCD_RST=1;
      for(i=0;i<1024;i++){
      if(x>=128){
      x=0;
      y++;
      }
      write_lcd(x,y,picture[i]);
      x++;
      }
      shiftup();
      shiftdown();
      while(1);

      }
      //---------------------------
      void write_lcd(char columns,char page,char data)
      {
      if(columns >= 64){
      LCD_CS1=0;
      LCD_CS2=1;
      }else{
      LCD_CS1=1;
      LCD_CS2=0;
      }

      LCD_RS=0;
      LCD_RW=0;
      LCD_PORT=0xB8 | page;
      LatchLCD();

      LCD_RS=0;
      LCD_RW=0;
      LCD_PORT=0x40 | columns;
      LatchLCD();

      LCD_RS=1;
      LCD_RW=0;
      LCD_PORT=data;
      LatchLCD();

      }
      //-----------------------
      void shiftdown()
      { char i,j;
      for(i=64;i>0;i--){
      for(j=0;j<2;j++){
      LCD_CS1=~LCD_CS1;
      LCD_CS2=~LCD_CS1;
      LCD_RS=0;
      LCD_RW=0;
      LCD_PORT=0xC0 | i;
      LatchLCD();
      }
      delay_ms(50);
      }
      }
      //-----------------------
      void shiftup()
      { char i,j;
      for(i=0;i<64;i++){
      for(j=0;j<2;j++){
      LCD_CS1=~LCD_CS1;
      LCD_CS2=~LCD_CS1;
      LCD_RS=0;
      LCD_RW=0;
      LCD_PORT=0xC0 | i;
      LatchLCD();
      }
      delay_ms(50);
      }
      }

      //-----------------------
      void LatchLCD()
      {
      delay_us(7);
      LCD_E=1;
      delay_us(7);
      LCD_E=0;
      }

      دیدگاه


        #4
        پاسخ : مشکل عدم اجرای صحیح برنامه روی میکروatmega128a

        هیچ کس نظری نداره

        دیدگاه


          #5
          پاسخ : مشکل عدم اجرای صحیح برنامه روی میکروatmega128a

          البته برای اظهار نظر اطلاعات کمه اما به نظر من اگر صرفا با atmega128 این مشکل رو دارید ممکنه از فیوز بیت های میکروکنترلر باشه . atmega128 فیوزبیت هایی مانند M103 , Jtag و ... رو چک کنید که مقدارشون 0 باشه و فیوزبیت کلاک میکرو هم چک کنید.

          دیدگاه


            #6
            پاسخ : مشکل عدم اجرای صحیح برنامه روی میکروatmega128a

            باکامپیلر کدویژن1.25.8و3.12 تست زدم
            با کاپیلر بسکام
            با میکرو c
            و...
            فویزبیت دیفالت هستش
            m103 غیر فعال

            دیدگاه

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