اطلاعیه

Collapse
No announcement yet.

راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

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

    راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

    با سلام

    من برای راه اندازی این LCD هدر های زیادی را امتحان کرده ام ولی به نتیجه ای نرسیده ، و قصد از ایجاد این تاپیک این بود که هدر های لازم برای این LCD رو که قابلیت کار با AT91SAM7S64 داشته باشند در این تاپیک جمع آوری کنم ، سخت افزار رو مانند پروژه موجود در مجله نویز شماره 7 بسته ام
    چند تا از هدر هایی که نیاز می باشند به شرح زیر است

    *** لطفا دوستان اگر هدر های زیر رو به صورت کامل و بدون نقص در اختیار دارند لطف کنند و پلود کنند تا من و دیگر دوستان بتوانیم از آن ها استفاده کنم البته دوباره ذکر می کنم که با AT91SAM7S64 این هدر ها مطابقت داشته باشند و کامل و بدون نقص باشند ، خیلی خیلی ممنون از لطف شما و تشکر بسیار بسیا فراوان ***

    هدر Delay - هدر lib-AT91SAM7S64 - هدر tftlcd_functions.h - هدر tftlcd_functions.c

    با سپاس
    http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

    #2
    پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

    در مورد lib_AT... شرمندم چون من با IAR کار می کنم و از یه هدر دیگه استفاده می کنم. اما برای اون 3 تای دیگه، توی پیوست همین جا گذاشتم.
    فایل های پیوست شده
    دانش فني تا به عمل تبديل نشده، ذره اي ارزش نداره. اما بعضي وقت ها بايد از دانش براي باز کردن مرزهاي جديدي در علم استفاده کرد، نه اينکه اونها رو صرفاً فقط به عمل تبديل کرد.

    دیدگاه


      #3
      پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

      آیا با AT91SAM7S64 کار میکند و برای Keil است ؟
      http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

      دیدگاه


        #4
        پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

        در مورد سوال اول، بله، هدر خودم هم 64 هست و باهاش کار کردم، و کار هم می کند.

        سوال دوم، باز هم بله. این تابع بر اساس استانداردهای C نوشته شده و فرقی نداره در کدوم یکی از کامپایلرها باهاش کار کنید.
        دانش فني تا به عمل تبديل نشده، ذره اي ارزش نداره. اما بعضي وقت ها بايد از دانش براي باز کردن مرزهاي جديدي در علم استفاده کرد، نه اينکه اونها رو صرفاً فقط به عمل تبديل کرد.

        دیدگاه


          #5
          پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

          با سلام

          من یرنامه زیر رو نوشته ام ولی تاکنون جوابی نگرفته ام ، آیا اشکال از فرکانس میکرو یا هدر ها نیست ؟

          برنامه :

          #include <AT91SAM7S64.h>
          #include "delay.h"

          #define PORTRAIT
          #define TFTLCD_DATAPORT_A
          #define TFTLCD_DATAPORT_OFFSET 0
          #define TFTLCD_CONTROLPORT_A
          #define TFTLCD_RST 20
          #define TFTLCD_RS 21
          #define TFTLCD_CS 22
          #define TFTLCD_WR 23
          #define TFTLCD_RD 24
          #include "tftlcd_functions.c"

          int main (viod)
          {
          tftlcd_init();

          tftlcd_draw_line(5,5,180,120,RED);
          tftlcd_draw_line(10,5,185,120,GREEN);
          tftlcd_draw_line(15,5,190,120,BLUE);

          tftlcd_draw_rectangle(160,20,250,120,0,YELLOW);
          tftlcd_draw_rectangle(165,25,245,115,0,PURPLE);
          tftlcd_draw_rectangle(170,30,240,110,1,BLUE);

          tftlcd_draw_circle(70,150,50,0,GREEN);
          tftlcd_draw_circle(90,150,50,1,PURPLE);

          tftlcd_gotoxy(20,12);
          tftlcd_putsf("...:::HELLO:::...",RED,WHI TE,0);
          tftlcd_gotoxy(2,9);
          tftlcd_putsf("Masood Mohamadi",GREEN,WHITE,0);
          tftlcd_gotoxy(2,10);
          tftlcd_putsf("** Runing ARM Micro **",BLUE,WHITE,1);

          delay_ms(10000);


          while(1)
          {
          tftlcd_draw_rectangle(0,0,319,239,1,RED);
          delay_ms(1000);
          tftlcd_draw_rectangle(0,0,319,239,1,GREEN);
          delay_ms(1000);
          tftlcd_draw_rectangle(0,0,319,239,1,BLUE);
          delay_ms(1000);
          };
          }

          با سپاس
          http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

          دیدگاه


            #6
            پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

            با سلام

            کسی پاسخ نمیدهد ؟؟؟؟؟

            من یرنامه زیر رو نوشته ام و بر روی میکرو بارگزاری کرده ام و سخت افزار نیز کاملا درست می باشد ولی تاکنون جوابی نگرفته ام و صفحه LCD سفید است و ، آیا اشکال از فرکانس میکرو یا هدر ها نیست ؟

            من از هدر های زیر استفاده می کنم
            هدر http://www.keil.com/dd/docs/arm/atmel/sam7s/at91sam7s64.h : AT91SAM7S64
            هدر ها : http://www.eca.ir/forum2/index.php?action=dlattach;topic=51551.0;attach=714 5

            برنامه :

            #include <AT91SAM7S64.h>
            #include "delay.h"

            #define PORTRAIT
            #define TFTLCD_DATAPORT_A
            #define TFTLCD_DATAPORT_OFFSET 0
            #define TFTLCD_CONTROLPORT_A
            #define TFTLCD_RST 20
            #define TFTLCD_RS 21
            #define TFTLCD_CS 22
            #define TFTLCD_WR 23
            #define TFTLCD_RD 24
            #include "tftlcd_functions.c"

            int main (viod)
            {
            tftlcd_init();

            tftlcd_draw_line(5,5,180,120,RED);
            tftlcd_draw_line(10,5,185,120,GREEN);
            tftlcd_draw_line(15,5,190,120,BLUE);

            tftlcd_draw_rectangle(160,20,250,120,0,YELLOW);
            tftlcd_draw_rectangle(165,25,245,115,0,PURPLE);
            tftlcd_draw_rectangle(170,30,240,110,1,BLUE);

            tftlcd_draw_circle(70,150,50,0,GREEN);
            tftlcd_draw_circle(90,150,50,1,PURPLE);

            tftlcd_gotoxy(20,12);
            tftlcd_putsf("...:::HELLO:::...",RED,WHI TE,0);
            tftlcd_gotoxy(2,9);
            tftlcd_putsf("Masood Mohamadi",GREEN,WHITE,0);
            tftlcd_gotoxy(2,10);
            tftlcd_putsf("** Runing ARM Micro **",BLUE,WHITE,1);

            delay_ms(10000);


            while(1)
            {
            tftlcd_draw_rectangle(0,0,319,239,1,RED);
            delay_ms(1000);
            tftlcd_draw_rectangle(0,0,319,239,1,GREEN);
            delay_ms(1000);
            tftlcd_draw_rectangle(0,0,319,239,1,BLUE);
            delay_ms(1000);
            };
            }

            با سپاس
            http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

            دیدگاه


              #7
              پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

              با سلام

              1 - هنگام اضافه کردن تصویر به برنامه با خطا های زیر مواجه می شوم

              Build target 'Target 1'
              assembling SAM7.s...
              compiling test.c...
              linking...
              test.axf: Error: L6406E: No space in execution regions with .ANY selector matching test.o(.constdata).
              test.axf: Error: L6407E: Sections of aggregate size 0x25e14 bytes could not fit into .ANY selector(s).
              Target not created

              2 - پایه ی IM0 رو باید به + یا - وصل کنم ؟

              با سپاس
              http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

              دیدگاه


                #8
                پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

                فکر کنم حجم عکسی که گذاشتی بیشتر از حافظه میکرو هست.
                پایه IM0 رو هم به زمین وصل کن.ولی فرقی نداره.

                اتصالات مدار رو چک کن

                دیدگاه


                  #9
                  پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

                  با سلام

                  تا حالا چندین بار سخت افزار رو چک کردم
                  خودم احتمال می دهم که اشکال از فرکانس میکرو باشد
                  الان 3 روزه که دارم روش کار می کنم ولی هیچ جوابی نگرفته ام
                  آیا نیاز به این جمله نیست #define F_CPU 72000000

                  برنامه :


                  #include <AT91SAM7S64.h>
                  #include "delay.h"

                  #define PORTRAIT
                  #define TFTLCD_DATAPORT_A
                  #define TFTLCD_DATAPORT_OFFSET 0
                  #define TFTLCD_CONTROLPORT_A
                  #define TFTLCD_RST 16
                  #define TFTLCD_RS 17
                  #define TFTLCD_CS 18
                  #define TFTLCD_WR 19
                  #define TFTLCD_RD 20
                  #include "tftlcd_functions.c"

                  int main (viod)
                  {
                  tftlcd_init();

                  tftlcd_draw_line(5,5,180,120,RED);
                  tftlcd_draw_line(10,5,185,120,GREEN);
                  tftlcd_draw_line(15,5,190,120,BLUE);

                  tftlcd_draw_rectangle(160,20,250,120,0,YELLOW);
                  tftlcd_draw_rectangle(165,25,245,115,0,PURPLE);
                  tftlcd_draw_rectangle(170,30,240,110,1,BLUE);

                  tftlcd_draw_circle(70,150,50,0,GREEN);
                  tftlcd_draw_circle(90,150,50,1,PURPLE);

                  tftlcd_gotoxy(20,12);
                  tftlcd_putsf("...:::HELLO:::...",RED,WHI TE,0);
                  tftlcd_gotoxy(2,9);
                  tftlcd_putsf("Masood Mohamadi",GREEN,WHITE,0);
                  tftlcd_gotoxy(2,10);
                  tftlcd_putsf("** Runing ARM Micro **",BLUE,WHITE,1);

                  delay_ms(10000);


                  while(1)
                  {
                  tftlcd_draw_rectangle(0,0,319,239,1,RED);
                  delay_ms(1000);
                  tftlcd_draw_rectangle(0,0,319,239,1,GREEN);
                  delay_ms(1000);
                  tftlcd_draw_rectangle(0,0,319,239,1,BLUE);
                  delay_ms(1000);
                  };
                  }

                  http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                  دیدگاه


                    #10
                    پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

                    سلام.بهتون پیشنهاد میدم توی debug خود نرم افزار keil برنامرو run کنید.اگه که برنامه درست کار کنه . هیدر ها هم درست باشند باید پایه 0 تا 21 به طور متناوب تغییر کنند.ببینید چی میشه

                    دیدگاه


                      #11
                      پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

                      با سلام

                      چگونه در قسمت دیباگ ، نشانگر فعال یا غیر فعال بودن پایه ها رو فعال کنم من با پروگرامر ویگلر کار میکنم و یکی از دیگر مشکل هایم در قسمت دیباگ اینه که گزینه ی پاک کردن میکرو غیر فعال است و با انتخاب گزینه پروگرام هم با خطای syns error مواجه میشوم ولی میکرو با وجود این خطا پروگرام میشود و در قسمت دیباگ با انتخاب گزینه شروع برنامه استارت میشود و با گزینه استپ برنامه می ایستد ولی همچنان مشکل بالا رو شاهد هستم یعنی نشانگر پایه ها
                      http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                      دیدگاه


                        #12
                        پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

                        برای اینکه با خود keil بتونی تغییر پایه هارو چک کنی از منوی peripherals گزینهparallel i/o controller ، pio a همینجا نگاه کن ببین برنامت درسته.
                        در ضمن توی option, debug حتما روی use simolator باشه
                        برای jtag هم ورژنای جدید keil یه تغییری کرده که فقط با jlink,ulink بشه debug کرد اگه ورژن نرم افزار قدیمی هست توی option, debug و rdi interface driver. شما از همین روش استفاده کردید؟

                        دیدگاه


                          #13
                          پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

                          با سلام

                          در قسمت Deboug در واحد Peripherals پایه ها رو چک کردم و همون طور که گفته بودید پایه های مربوطه که من در برنامه کانفیگ کرده بودم فعال و غیر فعال می شدند ولی چرا این امر LCD رو به کار نمی اندازد ؟؟؟؟

                          با سپاس
                          http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                          دیدگاه


                            #14
                            پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

                            پس احتمالا سخت افزارت مشکل داره.اگه lcd درست وصل بود باید لااقل کم یه چیز بی معنی نشون میداد.lcd سفید میمونه؟

                            دیدگاه


                              #15
                              پاسخ : راه اندازی ماژول LCD N96 با AT91SAM7S64 در Keil

                              بله LCD کاملا سفید است
                              سخت افزار رو هم چندین بار چک کردم ولی باز هم جوابی نگرفتم ، امروز سخت افزار رو کامل باز کردم و از پایه 5 شروع به بستن مدار کردم و دستورdefine TFTLCD_DATAPORT_OFFSET رو روی عدد 5 قرار دادم ، من فکر می کنم که اشکال از فرکانس و هدر ها و برنامه نویسی باشد
                              لطفا یک برنامه نمونه و هدر های Delay - هدر lib-AT91SAM7S64 - هدر tftlcd_functions.h - هدر tftlcd_functions.c که آقای حامد پور آزاد لطف کردند و پلود کردند رو چک و بررسی نمایید و برای میکرو AT91SAM7S64 تغییر دهید و یا اگر هدر های مذکور را در اختیار دارید پلود کنید تا من با آن ها هم امتحان کنم
                              قبلا از همکاری دوستان نهایت تشکر و سپاس رو دارم
                              اگر لطف کنید و اعلام کنید که هدر ها با چه فرکانسی نوشته شده اند و من چگونه میکرو رو روی آن فرکانس تنظیم کنم خیلی خیلی ممنون می شوم

                              با سپاس
                              http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                              دیدگاه

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