⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_init.c

📁 ili9235 驱动芯片的LCD 初始化代码
💻 C
字号:
#include "lcd_init.h"



#define uint volatile int

void dely(uint n)
{
    uint i;
    for(i=0;i<n;i++);
}

void delys(uint n)
{

	uint i;
    for(i=0;i<n;i++)
    dely(5000);
}


delay(int n)
{
  int i,j;
  for(i=0;i<n;i++)
    {
       for(j=0;j<50;j++);
    }
}

void SPI_Write16(uint Addr,uint Data1)
{
    uchar i;
    uchar j;
    CS_High;
    SCLK_High;
    dely(30);
    CS_Low;
    
    //SEND INDEX
    dely(5);
     for(j=0;j<8;j++)
     {
          SCLK_Low;

          if( (Addr<<j)&0x80 )    
             SDI_High;
          else          
             SDI_Low;

                           dely(5);
          SCLK_High;
          dely(5);
     }
     SCLK_High;
     SDI_High;
     dely(5);
    
    //SEND DATA1
     for(j=0;j<16;j++)
     {
          SCLK_Low;
          if( (Data1<<j)&0x8000 )   
             SDI_High;
          else        
             SDI_Low;
             
          dely(5);
          SCLK_High;
          dely(5);
     }
     SCLK_High;
     SDI_High;
     CS_High;
}


void ILI9325_init()
{

  //----------Start initial Sequence
      SPI_Write16(0x70,0x00E3);//R1
    SPI_Write16(0x72,0x3008); //CHANGE BY Ljy //6300 as normal but 4300 for inverse

    SPI_Write16(0x70,0x00E7);//R2
    SPI_Write16(0x72,0x0012);

    SPI_Write16(0x70,0x00EF);//R3
    SPI_Write16(0x72,0x1231);

    SPI_Write16(0x70,0x0000);//R4
    SPI_Write16(0x72,0x0001);//CHANGE BY Ljy
   dely(300);
		
    SPI_Write16(0x70,0x0001);//R5
    SPI_Write16(0x72,0x0100);//CHANGE BY Ljy

    SPI_Write16(0x70,0x0002);//R0A
    SPI_Write16(0x72,0x0700);

    SPI_Write16(0x70,0x0003);//R0B
    SPI_Write16(0x72,0x1030);

    SPI_Write16(0x70,0x0004);//R0D
    SPI_Write16(0x72,0x0000);

    SPI_Write16(0x70,0x0008);//R0E
    SPI_Write16(0x72,0x0202);

    SPI_Write16(0x70,0x0009);//R0F
    SPI_Write16(0x72,0x0000);

    SPI_Write16(0x70,0x000A);//R16
    SPI_Write16(0x72,0x0008);

  SPI_Write16(0x70,0x000c);//R0E
    SPI_Write16(0x72,0x0110);

    SPI_Write16(0x70,0x000d);//R0F
    SPI_Write16(0x72,0x0000);

    SPI_Write16(0x70,0x000f);//R16
    SPI_Write16(0x72,0x0002);

	//***************************Power on sequence******************************//

    SPI_Write16(0x70,0x0010);//R17
    SPI_Write16(0x72,0x0000);///CHANGE BY LJY

    SPI_Write16(0x70,0x0011);//R1E
    SPI_Write16(0x72,0x0007);//CHANGE BY LJY

    SPI_Write16(0x70,0x0012);//R30
    SPI_Write16(0x72,0x0000);

    SPI_Write16(0x70,0x0013);//31
    SPI_Write16(0x72,0x0000);
	dely(300);

    SPI_Write16(0x70,0x0010);//R32
    SPI_Write16(0x72,0x1590);

    SPI_Write16(0x70,0x0011);//R33
    SPI_Write16(0x72,0x0227);

    SPI_Write16(0x70,0x0012);//R34
    SPI_Write16(0x72,0x009f);
dely(300);

    SPI_Write16(0x70,0x0013);//R35-----------------------------------------------------VCOM 调节
    SPI_Write16(0x72,0x1000);

    SPI_Write16(0x70,0x0029);//R36-----------------------------------------------------VCOMH 调?    SPI_Write16(0x72,0x0021);

    SPI_Write16(0x70,0x002B);//R37
    SPI_Write16(0x72,0x000b);

//*************************Adjust the Gamma Curve****************************// 



    SPI_Write16(0x70,0x0030);//R3A
    SPI_Write16(0x72,0x0000);

    SPI_Write16(0x70,0x0031);//R3B
    SPI_Write16(0x72,0x0507);       

 SPI_Write16(0x70,0x0032);//R3A
    SPI_Write16(0x72,0x0303);

    SPI_Write16(0x70,0x0035);//R3B
    SPI_Write16(0x72,0x0103);    

	 SPI_Write16(0x70,0x0036);//R3A
    SPI_Write16(0x72,0x1400);

    SPI_Write16(0x70,0x0037);//R3B
    SPI_Write16(0x72,0x0105);    

	 SPI_Write16(0x70,0x0038);//R3A
    SPI_Write16(0x72,0x0000);

    SPI_Write16(0x70,0x0039);//R3B
    SPI_Write16(0x72,0x0707);    

	 SPI_Write16(0x70,0x003c);//R3A
    SPI_Write16(0x72,0x00301);

    SPI_Write16(0x70,0x003d);//R3B
    SPI_Write16(0x72,0x020a);    
//*****************************Set GRAM Area*********************************//
 SPI_Write16(0x70,0x0050);//R3A
    SPI_Write16(0x72,0x0000);

    SPI_Write16(0x70,0x0051);//R3B
    SPI_Write16(0x72,0x00ef);    

    SPI_Write16(0x70,0x0052);//R3A
    SPI_Write16(0x72,0x0000);

    SPI_Write16(0x70,0x0053);//R3B
    SPI_Write16(0x72,0x013f);    

    SPI_Write16(0x70,0x0060);//R3A
    SPI_Write16(0x72,0xa700);

    SPI_Write16(0x70,0x0061);//R3B
    SPI_Write16(0x72,0x0001);  

    SPI_Write16(0x70,0x006a);//R3B
    SPI_Write16(0x72,0x0000);  

//************************Partial Display Control****************************//

SPI_Write16(0x70,0x0080);//R3A
    SPI_Write16(0x72,0x0000);

    SPI_Write16(0x70,0x0081);//R3B
    SPI_Write16(0x72,0x0000);    

	 SPI_Write16(0x70,0x0082);//R3A
    SPI_Write16(0x72,0x0000);

    SPI_Write16(0x70,0x0083);//R3B
    SPI_Write16(0x72,0x0000);    

	 SPI_Write16(0x70,0x0084);//R3A
    SPI_Write16(0x72,0x0000);

    SPI_Write16(0x70,0x0085);//R3B
    SPI_Write16(0x72,0x0000);  

    //****************************Panel Control**********************************//

SPI_Write16(0x70,0x0090);//R3A
    SPI_Write16(0x72,0x0010);

    SPI_Write16(0x70,0x0092);//R3B
    SPI_Write16(0x72,0x0000);    

	 SPI_Write16(0x70,0x0093);//R3A
    SPI_Write16(0x72,0x0003);

    SPI_Write16(0x70,0x0095);//R3B
    SPI_Write16(0x72,0x0110);    

	 SPI_Write16(0x70,0x0097);//R3A
    SPI_Write16(0x72,0x0000);

    SPI_Write16(0x70,0x0098);//R3B
    SPI_Write16(0x72,0x0000);  

//*********Display Tianma Logo******************************//

    SPI_Write16(0x70,0x0007);//R3B
    SPI_Write16(0x72,0x0133); 


     
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -