📄 lcd_init.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 + -