اطلاعیه

Collapse
No announcement yet.

تنظیم LCD N96 به مد 8 بیتی و یا SPI

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

    تنظیم LCD N96 به مد 8 بیتی و یا SPI

    بچه ها کسی LCDN96 تو مد 8 بیتی راه انداخته؟ تو اینترنت دیدم که حتی میشه تو مد SPI هم راه اندازیش کرد. تو قسمت پشتیبانی فروشگاه زده که با لحیم کاری یا با پایه IM0 میشه به مد 8 بیتی تغییرش داد. کسی کار کرده؟ میتونید راهنمایی کنید ؟

    #2
    پاسخ : تنظیم LCD N96 به مد 8 بیتی و یا SPI

    سلام.
    http://www.iran
    micro.ir/forum/showthread.php?t=8687
    ببینید از این توضیحات چیزی دستگیرتون میشه.
    تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

    دیدگاه


      #3
      پاسخ : تنظیم LCD N96 به مد 8 بیتی و یا SPI

      یعنی نمیشه فقط با پایه IM0 مد LCD تغییر داد ؟ یا حتما نیاز به محیم کاری داره؟
      تو مد 8 بیتی اول بایت اول بعد بایت دوم ؟؟؟

      شما برنامه برای مد 8 بیتی ندارین ؟

      دیدگاه


        #4
        پاسخ : تنظیم LCD N96 به مد 8 بیتی و یا SPI

        سلام.
        باید طبق همون توضیحات لحیم کاری رو انجام بدید.

        این هم کتابخونه واسه مد 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      PORTD
        #define LCD_RS(x)   PORTCbits.RC6=x
        #define LCD_CS(x)   PORTCbits.RC3=x
        #define LCD_WR(x)   PORTCbits.RC5=x
        #define LCD_RD(x)   PORTCbits.RC4=x
        #define LCD_RESET(x) PORTCbits.RC7=x
        
        #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)
        
        
        int x_text=0,y_text=0;
        #pragma romdata const_table
        const rom 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)&0xff;
          LCD_WR_LO;
          LCD_WR_HI;}
        }
        //*************************************************************************************
        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 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, 0x1018);     //Entry Mode
         #else
          LCD_WriteReg(0x03, 0x1030);     //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_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 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);
        			else
        				TFT_Put_Pixel(((x_text*8)+width_counter),320-((y_text*16)+length_counter),background_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)
          {
          while(*string)
           tftlcd_putchar(*string++,forground_color,background_color);
          }
        //**************************************************************************************
        void tftlcd_write_pic(int x0,int y0,rom unsigned int *pointer)
           {
        	 int x1 = x0 + 100, y1 = y0 + 82,counter_x,counter_y;
        	 					 
        	 if(x0 < 0) x0 = 0;
        	 if(y0 < 0) y0 = 0;
        	 
        	 for(counter_y = y0;counter_y < y1;counter_y++)
        	 	{
        		for(counter_x = x0;counter_x < x1;counter_x++)
        			TFT_Put_Pixel(counter_x,counter_y,*pointer++);
        		} 
           }
        #endif
        تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

        دیدگاه


          #5
          پاسخ : تنظیم LCD N96 به مد 8 بیتی و یا SPI

          یعنی اول لحیم کردن R2 به جای R1
          بعد اتصال پایه IM0 به Vcc
          بعد استفاده از این کتابخونه :question: :question:

          دیدگاه

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