اطلاعیه

Collapse
No announcement yet.

N96 LCD

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #76
    پاسخ : N96 LCD

    با سلام خدمت مسئولین ECA
    من یه 1 سال پیش از سایت یه LCDN96 خریدم که نمونه سبز رنگ اون بود که اول به بازار ارئه شد حالا من این LCD رو تو مد 16 بیت راش انداختم حالا می خوام تو 8 بیت راش بندازم ولی مقاومت هاشو دستکاری می کنم هیچ فرقی نمی کنه .
    حالا از مسئولین می خوام من رو در این مورد راهنمایی کنن که ایا این ورژن LCD تو مد 8 بیت میشه راش انداخت یا نه ؟؟؟؟؟

    دیدگاه


      #77
      پاسخ : N96 LCD

      سلام
      یه مشکل تو کار کرد هدر های این lcdکه داده اید دارم من errorهایی در زمینه ناشناس بودن متغییر ها مربوط به lcd v, به من میده که تعریف شده واین error ها مربوط به
      لایبرری tft-lcd.c که گذاشتید هست در ضمن من با برنامه iar برنامه منویسم ممنون میشم اگه کمکم کنید

      دیدگاه


        #78
        پاسخ : N96 LCD

        سلام تابع tftlcd_write_pic_high رو به هدر tftlcd رو اضافه کردم
        چون برای تازه واردین (از جمله خودم تا ساعاتی پیش) استفاده از تابع tftlcd_init_hispeed و نوشتن کد اضافی برای نمایش تصویر کمی مشکل و وقت گیر هستش و در مواردی به مشکل می خوردند این رو به صورت تابعی در آوردم
        فقط کافیه هدری که قرار دادم رو به برنامه اضافه کنید و طول و عرض عکس رو مثل قبل در ابتدای فایل عکس وارد کنید (اول طول بعد عرض) سپس با استفاده از تابع زیر عکس رو در محل مورد نظر نمایش بدید
        tftlcd_write_pic_high(x,y,picture);
        x شروع مختصات عرض تصویر
        y شروع مختصات طول تصویر
        picture همون عکس هست

        http://eiliya-abedini.persiangig.com/Electronic/ARM/headers/tftlcd_functions.zip

        دیدگاه


          #79
          پاسخ : N96 LCD

          سلام دوستان... من میخوام یه عکس رو رو lcd نشون بدم... همش error میده.. من نمیدونم چجوری حللش کنم!؟
          :angry: :angry:error: L6047U: The size of this image (160572 bytes) exceeds the maximum allowed for this version of the linker
          کسی میتونه راهنماییم کنه؟

          دیدگاه


            #80
            پاسخ : N96 LCD

            مشکل از لایسنس برنامه هست.
            جوابش تو این لینکه
            http://www.eca.ir/forum2/index.php?topic=61250.msg344518#msg344518

            دیدگاه


              #81
              پاسخ : N96 LCD

              من یه بار برای کار کردن با میکرو avr به این ال سی دی n96 5ولت دادم آیا خراب شده؟قبلا ازش جواب نگرفتم

              برد تنهای آماده این ال سی دی تو بازار هست ؟ ال سی دی شو دارم یه برد هم خودم زدم زیاد خوشم نمیاد ازش
              مدت هاست نیستم

              دیدگاه


                #82
                پاسخ : N96 LCD

                این ماژول های eca یکم نافرم پایه چینده برای lcd هاش اگه قرار باشه پایه های پایینی رو هم به کار بگیریم که اونوقت تو برد برد دیگه نمیشه استفاده کرد
                کسی عکس کامل از این ال سی دی داره؟
                روی برد برد راه میوفته؟
                مدت هاست نیستم

                دیدگاه


                  #83
                  پاسخ : N96 LCD

                  سلام دوستان
                  آیا کسی هست که تونسته باشه این ال سی دی رو با بیسیک راه بندازه ؟
                  اگه کسی هست یه کمکی هم به ما کنه
                  من تازه میخوام راه اندازیش رو شروع کنم
                  ممنون میشم کسی باشه که از صفر راهنماییم کنه
                  بازم ممنونم
                  مهم نیست که چه مدرکی دارید ، مهم این است که چه درکی دارید ...

                  دیدگاه


                    #84
                    پاسخ : N96 LCD

                    سلام دوستان
                    کسی فایل هدر این lcd رو واسه sam7s نداره؟
                    این فایلی که اینجا هست واسه سری X هست برا S جواب نمیده :angry: :cry2: :cry2: هر چی تغییرش میدم بازم جواب نمیده.کسی میتونه کمک کنه؟؟؟

                    دیدگاه


                      #85
                      پاسخ : N96 LCD

                      سلام
                      این هدر برای lpc هست ولی مچ کردنش با atmel کاری نداره و فقط 6 تا دیفاین رو باید عوض کنید.
                      در ضمن هدر فقط به صورت 8 بیتی کار میکنه گفتم شاید به کارتون بیاد.خودم تست کردم و جواب میده.
                      کد:
                      #ifndef _TFTLCD_INCLUDED_
                      #define _TFTLCD_INCLUDED_
                      
                      #define LCD_ALIGNMENT_Vertical
                      
                      #ifndef LCD_ALIGNMENT_Horizontal
                       #ifndef LCD_ALIGNMENT_Vertical
                        #define LCD_ALIGNMENT_Vertical
                       #endif
                      #endif
                      //*******************************define pin for lcd*************************************
                      #define LCD LPC_GPIO2->MASKED_ACCESS[0xff]
                      #define LCD_RS(x)   LPC_GPIO0->MASKED_ACCESS[1<<7]=x<<7
                      #define LCD_CS(x)   LPC_GPIO2->MASKED_ACCESS[1<<9]=x<<9
                      #define LCD_WR(x)   LPC_GPIO0->MASKED_ACCESS[1<<6]=x<<6
                      #define LCD_RD(x)   LPC_GPIO3->MASKED_ACCESS[1<<5]=x<<5
                      #define LCD_RESET(x) LPC_GPIO3->MASKED_ACCESS[1<<4]=x<<4
                      #define LCD_RS_LO LCD_RS(0)
                      #define LCD_RS_HI LCD_RS(1)
                      #define LCD_CS_LO LCD_CS(0)
                      #define LCD_CS_HI LCD_CS(1)
                      #define LCD_WR_LO LCD_WR(0)
                      #define LCD_WR_HI LCD_WR(1)
                      #define LCD_RD_LO LCD_RD(0)
                      #define LCD_RD_HI LCD_RD(1)
                      #define LCD_RESET_LO LCD_RESET(0)
                      #define LCD_RESET_HI LCD_RESET(1)
                      //***************************public variable and font 8x16******************************
                      int x_text=0,y_text=0;
                      const char font8x16[97][16]={
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // space 0x20
                      0x00,0x00,0x18,0x3C,0x3C,0x3C,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00, // !
                      0x00,0x63,0x63,0x63,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // "
                      0x00,0x00,0x00,0x36,0x36,0x7F,0x36,0x36,0x36,0x7F,0x36,0x36,0x00,0x00,0x00,0x00, // #
                      0x0C,0x0C,0x3E,0x63,0x61,0x60,0x3E,0x03,0x03,0x43,0x63,0x3E,0x0C,0x0C,0x00,0x00, // $
                      0x00,0x00,0x00,0x00,0x00,0x61,0x63,0x06,0x0C,0x18,0x33,0x63,0x00,0x00,0x00,0x00, // %
                      0x00,0x00,0x00,0x1C,0x36,0x36,0x1C,0x3B,0x6E,0x66,0x66,0x3B,0x00,0x00,0x00,0x00, // &
                      0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // '
                      0x00,0x00,0x0C,0x18,0x18,0x30,0x30,0x30,0x30,0x18,0x18,0x0C,0x00,0x00,0x00,0x00, // (
                      0x00,0x00,0x18,0x0C,0x0C,0x06,0x06,0x06,0x06,0x0C,0x0C,0x18,0x00,0x00,0x00,0x00, // )
                      0x00,0x00,0x00,0x00,0x42,0x66,0x3C,0xFF,0x3C,0x66,0x42,0x00,0x00,0x00,0x00,0x00, // *
                      0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xFF,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00, // +
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00, // ,
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00, // .
                      0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00, // / (forward slash)
                      0x00,0x00,0x3E,0x63,0x63,0x63,0x6B,0x6B,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00, // 0 0x30
                      0x00,0x00,0x0C,0x1C,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3F,0x00,0x00,0x00,0x00, // 1
                      0x00,0x00,0x3E,0x63,0x03,0x06,0x0C,0x18,0x30,0x61,0x63,0x7F,0x00,0x00,0x00,0x00, // 2
                      0x00,0x00,0x3E,0x63,0x03,0x03,0x1E,0x03,0x03,0x03,0x63,0x3E,0x00,0x00,0x00,0x00, // 3
                      0x00,0x00,0x06,0x0E,0x1E,0x36,0x66,0x66,0x7F,0x06,0x06,0x0F,0x00,0x00,0x00,0x00, // 4
                      0x00,0x00,0x7F,0x60,0x60,0x60,0x7E,0x03,0x03,0x63,0x73,0x3E,0x00,0x00,0x00,0x00, // 5
                      0x00,0x00,0x1C,0x30,0x60,0x60,0x7E,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00, // 6
                      0x00,0x00,0x7F,0x63,0x03,0x06,0x06,0x0C,0x0C,0x18,0x18,0x18,0x00,0x00,0x00,0x00, // 7
                      0x00,0x00,0x3E,0x63,0x63,0x63,0x3E,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00, // 8
                      0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x3F,0x03,0x03,0x06,0x3C,0x00,0x00,0x00,0x00, // 9
                      0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00, // :
                      0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00, // ;
                      0x00,0x00,0x00,0x06,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x06,0x00,0x00,0x00,0x00, // <
                      0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00, // =
                      0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x60,0x00,0x00,0x00,0x00, // >
                      0x00,0x00,0x3E,0x63,0x63,0x06,0x0C,0x0C,0x0C,0x00,0x0C,0x0C,0x00,0x00,0x00,0x00, // ?
                      0x00,0x00,0x3E,0x63,0x63,0x6F,0x6B,0x6B,0x6E,0x60,0x60,0x3E,0x00,0x00,0x00,0x00, // @ 0x40
                      0x00,0x00,0x08,0x1C,0x36,0x63,0x63,0x63,0x7F,0x63,0x63,0x63,0x00,0x00,0x00,0x00, // A
                      0x00,0x00,0x7E,0x33,0x33,0x33,0x3E,0x33,0x33,0x33,0x33,0x7E,0x00,0x00,0x00,0x00, // B
                      0x00,0x00,0x1E,0x33,0x61,0x60,0x60,0x60,0x60,0x61,0x33,0x1E,0x00,0x00,0x00,0x00, // C
                      0x00,0x00,0x7C,0x36,0x33,0x33,0x33,0x33,0x33,0x33,0x36,0x7C,0x00,0x00,0x00,0x00, // D
                      0x00,0x00,0x7F,0x33,0x31,0x34,0x3C,0x34,0x30,0x31,0x33,0x7F,0x00,0x00,0x00,0x00, // E
                      0x00,0x00,0x7F,0x33,0x31,0x34,0x3C,0x34,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00, // F
                      0x00,0x00,0x1E,0x33,0x61,0x60,0x60,0x6F,0x63,0x63,0x37,0x1D,0x00,0x00,0x00,0x00, // G
                      0x00,0x00,0x63,0x63,0x63,0x63,0x7F,0x63,0x63,0x63,0x63,0x63,0x00,0x00,0x00,0x00, // H
                      0x00,0x00,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00, // I
                      0x00,0x00,0x0F,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00,0x00,0x00,0x00, // J
                      0x00,0x00,0x73,0x33,0x36,0x36,0x3C,0x36,0x36,0x33,0x33,0x73,0x00,0x00,0x00,0x00, // K
                      0x00,0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x33,0x7F,0x00,0x00,0x00,0x00, // L
                      0x00,0x00,0x63,0x77,0x7F,0x6B,0x63,0x63,0x63,0x63,0x63,0x63,0x00,0x00,0x00,0x00, // M
                      0x00,0x00,0x63,0x63,0x73,0x7B,0x7F,0x6F,0x67,0x63,0x63,0x63,0x00,0x00,0x00,0x00, // N
                      0x00,0x00,0x1C,0x36,0x63,0x63,0x63,0x63,0x63,0x63,0x36,0x1C,0x00,0x00,0x00,0x00, // O
                      0x00,0x00,0x7E,0x33,0x33,0x33,0x3E,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00, // P 0x50
                      0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x63,0x63,0x6B,0x6F,0x3E,0x06,0x07,0x00,0x00, // Q
                      0x00,0x00,0x7E,0x33,0x33,0x33,0x3E,0x36,0x36,0x33,0x33,0x73,0x00,0x00,0x00,0x00, // R
                      0x00,0x00,0x3E,0x63,0x63,0x30,0x1C,0x06,0x03,0x63,0x63,0x3E,0x00,0x00,0x00,0x00, // S
                      0x00,0x00,0xFF,0xDB,0x99,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00, // T
                      0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00, // U
                      0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x36,0x1C,0x08,0x00,0x00,0x00,0x00, // V
                      0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x6B,0x6B,0x7F,0x36,0x36,0x00,0x00,0x00,0x00, // W
                      0x00,0x00,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x3C,0x66,0xC3,0xC3,0x00,0x00,0x00,0x00, // X
                      0x00,0x00,0xC3,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00, // Y
                      0x00,0x00,0x7F,0x63,0x43,0x06,0x0C,0x18,0x30,0x61,0x63,0x7F,0x00,0x00,0x00,0x00, // Z
                      0x00,0x00,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x00,0x00,0x00,0x00, // [
                      0x00,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x07,0x03,0x01,0x00,0x00,0x00,0x00, // \ (back slash)
                      0x00,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00,0x00,0x00,0x00, // ]
                      0x08,0x1C,0x36,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00, // _
                      0x18,0x18,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` 0x60
                      0x00,0x00,0x00,0x00,0x00,0x3C,0x46,0x06,0x3E,0x66,0x66,0x3B,0x00,0x00,0x00,0x00, // a
                      0x00,0x00,0x70,0x30,0x30,0x3C,0x36,0x33,0x33,0x33,0x33,0x6E,0x00,0x00,0x00,0x00, // b
                      0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x60,0x60,0x60,0x63,0x3E,0x00,0x00,0x00,0x00, // c
                      0x00,0x00,0x0E,0x06,0x06,0x1E,0x36,0x66,0x66,0x66,0x66,0x3B,0x00,0x00,0x00,0x00, // d
                      0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x7E,0x60,0x63,0x3E,0x00,0x00,0x00,0x00, // e
                      0x00,0x00,0x1C,0x36,0x32,0x30,0x7C,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00, // f
                      0x00,0x00,0x00,0x00,0x00,0x3B,0x66,0x66,0x66,0x66,0x3E,0x06,0x66,0x3C,0x00,0x00, // g
                      0x00,0x00,0x70,0x30,0x30,0x36,0x3B,0x33,0x33,0x33,0x33,0x73,0x00,0x00,0x00,0x00, // h
                      0x00,0x00,0x0C,0x0C,0x00,0x1C,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00,0x00, // i
                      0x00,0x00,0x06,0x06,0x00,0x0E,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00,0x00, // j
                      0x00,0x00,0x70,0x30,0x30,0x33,0x33,0x36,0x3C,0x36,0x33,0x73,0x00,0x00,0x00,0x00, // k
                      0x00,0x00,0x1C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00,0x00, // l
                      0x00,0x00,0x00,0x00,0x00,0x6E,0x7F,0x6B,0x6B,0x6B,0x6B,0x6B,0x00,0x00,0x00,0x00, // m
                      0x00,0x00,0x00,0x00,0x00,0x6E,0x33,0x33,0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x00, // n
                      0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00, // o
                      0x00,0x00,0x00,0x00,0x00,0x6E,0x33,0x33,0x33,0x33,0x3E,0x30,0x30,0x78,0x00,0x00, // p 0x70
                      0x00,0x00,0x00,0x00,0x00,0x3B,0x66,0x66,0x66,0x66,0x3E,0x06,0x06,0x0F,0x00,0x00, // q
                      0x00,0x00,0x00,0x00,0x00,0x6E,0x3B,0x33,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00, // r
                      0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x38,0x0E,0x03,0x63,0x3E,0x00,0x00,0x00,0x00, // s
                      0x00,0x00,0x08,0x18,0x18,0x7E,0x18,0x18,0x18,0x18,0x1B,0x0E,0x00,0x00,0x00,0x00, // t
                      0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3B,0x00,0x00,0x00,0x00, // u
                      0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x36,0x36,0x1C,0x1C,0x08,0x00,0x00,0x00,0x00, // v
                      0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x6B,0x6B,0x7F,0x36,0x00,0x00,0x00,0x00, // w
                      0x00,0x00,0x00,0x00,0x00,0x63,0x36,0x1C,0x1C,0x1C,0x36,0x63,0x00,0x00,0x00,0x00, // x
                      0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x3F,0x03,0x06,0x3C,0x00,0x00, // y
                      0x00,0x00,0x00,0x00,0x00,0x7F,0x66,0x0C,0x18,0x30,0x63,0x7F,0x00,0x00,0x00,0x00, // z
                      0x00,0x00,0x0E,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0E,0x00,0x00,0x00,0x00, // {
                      0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00, // |
                      0x00,0x00,0x70,0x18,0x18,0x18,0x0E,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00,0x00, // }
                      0x00,0x00,0x3B,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~
                      0x00,0x70,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // DEL
                      };
                      //*************************************************************************************
                      void LCD_WriteIndex(unsigned char Index) {
                       LCD_RS_LO;
                       LCD_WR_LO;
                       LCD_WR_HI;
                       LCD = Index;
                       LCD_WR_LO;
                       LCD_WR_HI;}
                      //*************************************************************************************
                      void LCD_WriteData(unsigned int Data) {
                       LCD_RS_HI;
                       LCD =(Data>>8)&0xff;
                       LCD_WR_LO;
                       LCD_WR_HI;
                       LCD =Data&0xff;
                       LCD_WR_LO;
                       LCD_WR_HI;}
                      //*************************************************************************************
                      void LCD_WriteReg(unsigned char Index,unsigned int Data) {
                       LCD_WriteIndex(Index);
                       LCD_WriteData(Data);}
                      //*************************************************************************************
                      void TFT_Set_XY(int X,int Y) {
                      
                       #ifdef LCD_ALIGNMENT_Vertical
                        LCD_WriteReg(0x20, X);
                        LCD_WriteReg(0x21, Y);
                       #else
                        LCD_WriteReg(0x20, 240-Y);
                        LCD_WriteReg(0x21, X);
                       #endif
                      }
                      //*************************************************************************************
                      void LCD_SolidFill(long int Count,unsigned int Color) {
                       LCD_WriteIndex(0x22);
                       LCD_WriteData(Color);
                      
                       for (Count;Count>0;Count--){
                        LCD =(Color>>8)&0xff;
                        LCD_WR_LO;
                        LCD_WR_HI;
                        LCD =(Color>>8)&0xff;
                        LCD_WR_LO;
                        LCD_WR_HI;}
                      }
                      //*************************************************************************************
                      int TFT_Sqr(unsigned int S) {
                        int Ring;
                      
                       for(Ring=0;1;Ring++) {
                        if((Ring*Ring)==S) return(Ring);
                        else if((Ring*Ring)>S) return(Ring-1);  }}
                      //*************************************************************************************
                      void TFT_Clear(unsigned int Color) {
                       TFT_Set_XY(0,0);
                       LCD_WriteIndex(0x22);
                       LCD_SolidFill(76800, Color); }
                      //*************************************************************************************
                      void TFT_Put_Pixel(int X,int Y,unsigned int Color) {
                      
                      if(X>=0 && X<240 && Y>=0 && Y<320) {
                        TFT_Set_XY(X,Y);
                        LCD_WriteIndex(0x22);
                        LCD_WriteData(Color); }
                      }
                      //*************************************************************************************
                      void TFT_Draw_Line(int X0,int Y0,int X1,int Y1,unsigned int Color) {
                        signed int Dy;
                        signed int Dx;
                        signed int Fraction;
                        unsigned int StepX,StepY;
                      
                       Dy=Y1-Y0;
                       Dx=X1-X0;
                      
                       if(Dy<0) {Dy=-Dy;StepY=-1;} else {StepY=1;}
                       if(Dx<0) {Dx=-Dx;StepX=-1;} else {StepX=1;}
                      
                       Dy<<=1;
                       Dx<<=1;
                      
                       TFT_Put_Pixel(X0,Y0,Color);
                      
                       if(Dx>Dy) {
                      
                        Fraction=Dy-(Dx>>1);
                      
                        while(X0!=X1) {
                      
                         if(Fraction>=0) {
                      
                          Y0+=StepY;
                          Fraction-=Dx;
                         }
                         X0+=StepX;
                         Fraction+=Dy;
                         TFT_Put_Pixel(X0,Y0,Color);
                        }
                       }else {
                      
                        Fraction=Dx-(Dy>>1);
                      
                        while (Y0!=Y1) {
                      
                         if(Fraction>=0) {
                      
                          X0+=StepX;
                          Fraction-=Dy;
                         }
                         Y0+=StepY;
                         Fraction+=Dx;
                         TFT_Put_Pixel(X0,Y0,Color);
                        }
                       }
                      }
                      //*************************************************************************************
                      void TFT_Draw_Rectangle(int X0,int Y0,int X1,int Y1,char Fill,unsigned int Color) {
                      
                       if(Fill) {
                        for(Y0;Y0<=Y1;Y0++)
                         TFT_Draw_Line(X0,Y0,X1,Y0,Color);}
                       else {
                        TFT_Draw_Line(X0,Y0,X1,Y0,Color);
                        TFT_Draw_Line(X1,Y0,X1,Y1,Color);
                        TFT_Draw_Line(X1,Y1,X0,Y1,Color);
                        TFT_Draw_Line(X0,Y1,X0,Y0,Color);
                       }}
                      //*************************************************************************************
                      void TFT_Draw_Circle(int X,int Y,int R,char Fill,unsigned int Color) {
                      
                        int Rx,Ry;
                      
                       if(Fill) {
                      
                        for(Rx=0;Rx<=R;Rx++) {
                      
                         Ry = TFT_Sqr((R*R)-(Rx*Rx));
                      
                         TFT_Draw_Line(X+Ry,Y+Rx,X-Ry,Y+Rx,Color);
                         TFT_Draw_Line(X+Ry,Y-Rx,X-Ry,Y-Rx,Color);
                        }
                       }else {
                      
                        for(Rx=0;Rx<=R;Rx++) {
                      
                         Ry = TFT_Sqr((R*R)-(Rx*Rx));
                      
                         TFT_Put_Pixel(Rx+X,Ry+Y,Color);
                         TFT_Put_Pixel(Ry+X,Rx+Y,Color);
                         TFT_Put_Pixel((Rx*-1)+X,Ry+Y,Color);
                         TFT_Put_Pixel(Ry+X,(Rx*-1)+Y,Color);
                         TFT_Put_Pixel(Rx+X,(Ry*-1)+Y,Color);
                         TFT_Put_Pixel((Ry*-1)+X,Rx+Y,Color);
                         TFT_Put_Pixel((Rx*-1)+X,(Ry*-1)+Y,Color);
                         TFT_Put_Pixel((Ry*-1)+X,(Rx*-1)+Y,Color);
                        }
                       }
                      }
                      //*************************************************************************************
                      void ILI9320_Init(void) {
                      
                       LCD_CS_HI;
                       LCD_RS_LO;
                       LCD_RD_HI;
                       LCD_WR_HI;
                      
                      //Reset Controller
                       LCD_RESET_LO;
                       delay_ms(100);
                       LCD_RESET_HI;
                       delay_ms(100);
                      
                      //Setup display For ILI9320 driver IC
                       LCD_CS_LO;
                       LCD_WriteReg(0xE5, 0x8000);      //Start Oscillator
                       LCD_WriteReg(0x00, 0x0001);
                       delay_ms(100);
                       LCD_WriteReg(0xA4, 0x0001);
                       LCD_WriteReg(0x07, 0x0000);      //Display Control 1
                       delay_ms(100);
                      
                      //Display Setting
                       LCD_WriteReg(0x01, 0x0100);      //Driver Output Control 1
                       LCD_WriteReg(0x02, 0x0700);      //LCD Driving Wave Control
                      
                       #ifdef LCD_ALIGNMENT_Vertical
                        LCD_WriteReg(0x03, 0x1030);     //Entry Mode
                       #else
                        LCD_WriteReg(0x03, 0x1028);     //Entry Mode
                       #endif
                      
                       LCD_WriteReg(0x04, 0x0000);      //Resizing Control Register
                       LCD_WriteReg(0x08, 0x0202);      //Display Control 2
                       LCD_WriteReg(0x09, 0x0000);      //Display control 3
                      
                      //Power Control
                       LCD_WriteReg(0x07, 0x0101);
                       LCD_WriteReg(0x17, 0x0001);
                       LCD_WriteReg(0x10, 0x0000);      //Power Control 1
                       LCD_WriteReg(0x11, 0x0007);      //Power Control 2
                       LCD_WriteReg(0x12, 0x0000);      //Power Control 3
                       LCD_WriteReg(0x12, 0x0000);      //Power Control 3
                       LCD_WriteReg(0x13, 0x0000);      //Power Control 4
                       delay_ms(200);
                      
                       LCD_WriteReg(0x2B, 0x000E);      //Frame Rate and Color Control
                      
                       LCD_WriteReg(0x10, 0x16B0);      //Power Control 1 BT,AP
                       LCD_WriteReg(0x11, 0x0037);      //Power Control 2 DC,VC
                       delay_ms(100);
                       LCD_WriteReg(0x12, 0x013E);      //Power Control 3 VRH
                       delay_ms(100);
                       LCD_WriteReg(0x13, 0x1A00);      //Power Control 4 vcom amplitude
                       LCD_WriteReg(0x29, 0x000F);      //Power Control 7 VCOMH
                       delay_ms(100);
                       LCD_WriteReg(0x20, 0x0000);       //Horizontal GRAM Address Set
                       LCD_WriteReg(0x21, 0x0000);       //Vertical GRAM Address Set
                      
                       LCD_WriteReg(0x50, 0x0000);       //Horizontal Address Start Position
                       LCD_WriteReg(0x51, 0x00EF);       //Horizontal Address end Position(239)
                       LCD_WriteReg(0x52, 0x0000);       //Vertical Address Start Position
                       LCD_WriteReg(0x53, 0x013F);       //Vertical Address end Position(319)
                      
                       LCD_WriteReg(0x60, 0x2700);       //Driver Output Control 2
                      
                       LCD_WriteReg(0x61, 0x0003);       //Base Image Display Control
                       LCD_WriteReg(0x6a, 0x0000);       //Base Image Display Control
                      
                       LCD_WriteReg(0x90, 0x0010);       //Panel Interface Control 1
                       LCD_WriteReg(0x92, 0x0000);       //Panel Interface Control 2
                       LCD_WriteReg(0x93, 0x0000);       //Panel Interface Control 3
                      
                      //GAMMA Control
                       LCD_WriteReg(0x30, 0x0007);
                       LCD_WriteReg(0x31, 0x0403);
                       LCD_WriteReg(0x32, 0x0404);
                       LCD_WriteReg(0x35, 0x0002);
                       LCD_WriteReg(0x36, 0x0707);
                       LCD_WriteReg(0x37, 0x0606);
                       LCD_WriteReg(0x38, 0x0106);
                       LCD_WriteReg(0x39, 0x0007);
                       LCD_WriteReg(0x3c, 0x0700);
                       LCD_WriteReg(0x3d, 0x0707);
                      
                       LCD_WriteReg(0x07, 0x0173);
                       delay_ms(100);
                      }
                      //*************************************************************************************
                      void tftlcd_write_pic(int x0,int y0,int s){
                      	int xx,yy;
                      	unsigned int a,p=7;
                      	mmc_read(s);
                      	xx=((mmc_sector_data[1]-0x30)*100)+((mmc_sector_data[2]-0x30)*10)+((mmc_sector_data[3]-0x30));
                      	yy=((mmc_sector_data[4]-0x30)*100)+((mmc_sector_data[5]-0x30)*10)+((mmc_sector_data[6]-0x30));
                      	int x1 = x0 + xx, y1 = y0 + yy,counter_x,counter_y;
                      
                      	 if(x0 < 0) x0 = 0;
                      	 if(y0 < 0) y0 = 0;
                      	 mmc_read(s);
                      	 for(counter_y = y0;counter_y < y1;counter_y++){
                      		for(counter_x = x0;counter_x < x1;counter_x++){
                      			a=(mmc_sector_data[p+1]*0x100)+mmc_sector_data[p];
                      			TFT_Put_Pixel(counter_x,319-counter_y,a);
                      
                      			p++;p++;
                      		if(p>=512){s++;mmc_read(s);p=0;}}
                      		}
                         }
                      //*************************************************************************************
                      void tftlcd_gotoxy(int x,int y){
                        if(x>40 || y>15)
                          {
                          y+=x/40;
                          x%=40;
                          }
                        x_text=x;
                        y_text=y;
                        }
                      //*************************************************************************************
                      void tftlcd_putchar(char character,int forground_color,int background_color,int transparent_mode){
                        int width_counter,length_counter;
                        int character_segment_data;
                      
                        for(length_counter=0;length_counter<16;length_counter++)
                          {
                          character_segment_data=font8x16[character-0x20][length_counter];
                          for(width_counter=0;width_counter<8;width_counter++)
                            {
                            if(character_segment_data & (0x80>>width_counter))
                            	TFT_Put_Pixel(((x_text*8)+width_counter),320-((y_text*16)+length_counter),forground_color);
                      			};
                          };
                      
                        if(++x_text>40)
                          {
                          x_text=0;
                          if(++y_text>15) y_text=0;
                          };}
                      //*************************************************************************************
                      void tftlcd_putsf(const char *string,int forground_color,int background_color,int transparent_mode)
                        {
                        while(*string)
                         tftlcd_putchar(*string++,forground_color,background_color,transparent_mode);
                        }
                      #endif
                      //*************************************************************************************
                      تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                      دیدگاه


                        #86
                        پاسخ : N96 LCD

                        سلام همین هیدر برای 7s هم جواب میده فقط نباید از پورت b توی تعریفش استفاده کنید.خودم کلی با همین هیدر کار کردم.مشکل رو توی سخت افزار و یا برنامه نویسیتون چک کنید

                        دیدگاه


                          #87
                          پاسخ : N96 LCD

                          سلام ، مشکل حل شد هدر مشکلی نداشت اشکال از پروژه ای که تو keil درست کرده بودم بود.نمی دونم اشکالش کجا بود ولی پروژه جدید ایجاد کردم همون برنامه رو نوشتم کار کرد ممنون

                          دیدگاه


                            #88
                            پاسخ : N96 LCD

                            برای راه اندازی تاچ این کد درسته؟ اعداد پرتی را نشون میده نمیدونم درست Hi-z کردم یا نه ممنون می شم کمک کنید

                            کد:
                            	config_adc(0x04);
                            	*AT91C_PIOA_PER = 0xF0000;  // Set in PIO mode PA17,PA18,PA19,PA20
                             	*AT91C_PIOA_OER = 0xA0000; //Set Output PA18,PA20
                            	*AT91C_PIOA_ODR= 0x50000;  //set input PA17,PA19
                            	*AT91C_PIOA_PPUDR=0x50000;	//pull_up disable PA17,PA19
                            	*AT91C_PIOA_SODR = 0x80000; //SetOutput PA20
                            	*AT91C_PIOA_CODR = 0x20000; //ClearOutput PA18 
                            	start_adc();
                            	b = read_adc(2);
                            	delay_us(100);
                            
                            	config_adc(0x02);
                            	*AT91C_PIOA_PER = 0xF0000;	// Set in PIO mode PA17,PA18,PA19,PA20
                            	*AT91C_PIOA_OER = 0x50000;	//Set Output PA17,PA19
                            	*AT91C_PIOA_ODR= 0xA0000;	//set input PA18,PA20
                            	*AT91C_PIOA_PPUDR=0xA0000;	//pull_up disable PA18,PA20
                            	*AT91C_PIOA_SODR = 0x40000;	//SetOutput PA19
                            	*AT91C_PIOA_CODR = 0x10000;	//ClearOutput PA17 
                            	a = read_adc(1);

                            دیدگاه


                              #89
                              پاسخ : راه اندازی تاچ lcd n96

                              نوشته اصلی توسط ahadgd
                              برای راه اندازی تاچ این کد درسته؟ اعداد پرتی را نشون میده نمیدونم درست Hi-z کردم یا نه ممنون می شم کمک کنید

                              کد:
                              	config_adc(0x04);
                              	*AT91C_PIOA_PER = 0xF0000;  // Set in PIO mode PA17,PA18,PA19,PA20
                               	*AT91C_PIOA_OER = 0xA0000; //Set Output PA18,PA20
                              	*AT91C_PIOA_ODR= 0x50000;  //set input PA17,PA19
                              	*AT91C_PIOA_PPUDR=0x50000;	//pull_up disable PA17,PA19
                              	*AT91C_PIOA_SODR = 0x80000; //SetOutput PA20
                              	*AT91C_PIOA_CODR = 0x20000; //ClearOutput PA18 
                              	start_adc();
                              	b = read_adc(2);
                              	delay_us(100);
                              
                              	config_adc(0x02);
                              	*AT91C_PIOA_PER = 0xF0000;	// Set in PIO mode PA17,PA18,PA19,PA20
                              	*AT91C_PIOA_OER = 0x50000;	//Set Output PA17,PA19
                              	*AT91C_PIOA_ODR= 0xA0000;	//set input PA18,PA20
                              	*AT91C_PIOA_PPUDR=0xA0000;	//pull_up disable PA18,PA20
                              	*AT91C_PIOA_SODR = 0x40000;	//SetOutput PA19
                              	*AT91C_PIOA_CODR = 0x10000;	//ClearOutput PA17 
                              	a = read_adc(1);
                              این طوری تغییرش دادم درست شد برای At91sam7s256 :
                              کد:
                              *AT91C_PIOA_PER = (1 << 17)|(1 << 18)|(1 << 19)|(1 << 20);  // Set in PIO mode PA17,PA18,PA19,PA20
                              	config_adc(0x04);
                               	*AT91C_PIOA_OER = (1 << 18)|(1 << 20); //Set Output PA18,PA20
                              	*AT91C_PIOA_ODR= (1 << 17)|(1 << 19);  //set input PA17,PA19
                              	*AT91C_PIOA_PPUDR=(1 << 17)|(1 << 18);	//pull_up disable PA17,PA19
                              	*AT91C_PIOA_SODR = (1 << 20); //SetOutput PA20
                              	*AT91C_PIOA_CODR = (1 << 18); //ClearOutput PA18 
                              	for (tochI=0;tochI<=3;tochI++){
                              	start_adc();
                              	b = read_adc(2);
                              	delay_us(10);
                              	}
                              	
                              	 config_adc(0x02);
                               	*AT91C_PIOA_OER = (1 << 17)|(1 << 19); //Set Output PA18,PA20
                              	*AT91C_PIOA_ODR= (1 << 18)|(1 << 20);  //set input PA17,PA19
                              	*AT91C_PIOA_PPUDR=(1 << 17)|(1 << 20);	//pull_up disable PA17,PA19
                              	*AT91C_PIOA_SODR = (1 << 17); //SetOutput PA20
                              	*AT91C_PIOA_CODR = (1 << 19); //ClearOutput PA18 
                              	for (tochI=0;tochI<=3;tochI++){
                              	start_adc();
                              	a = read_adc(1);
                              	delay_us(10);
                              	}

                              دیدگاه


                                #90
                                پاسخ : N96 LCD

                                سلام
                                از دوستان کسی نرم افزاری برای این LCD میشناسه که فیلم رو تبدیل به فایل باینری کنه؟
                                نمیخام درگیر توابع دیکد بشم.
                                ممنون.
                                تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                                دیدگاه

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