📄 2.0tft demomain 1.c
字号:
SPI_Send_Data(0x15); SPI_Send_Data(0x83);
SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x00);
SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0xaf);
SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x00);
SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
SPI_Command();
SPI_Send_Data(0x14); SPI_Send_Data(0x00);
SPI_Command();
SPI_Send_Data(0x17); SPI_Send_Data(0x00);
for(i=0;i<178;i++)
{
for(j=0;j<131;j++)
{
SPI_Disp();
SPI_Send_Data(0x00);
SPI_Send_Data(0x1F);
}
}
}
void Display_Checkar()
{
unsigned char idata i;
unsigned int j;
Chip_select_LCD();
LCDREG=0x12; LCDREG=0x0AF;
//VRAM access area setting register(X direction/start and pointer)
LCDREG=0x13; LCDREG=0x0DB;
//VRAM access area setting register(Y direction/start and pointer)
LCDREG=0x15; LCDREG=0x00;
//VRAM access area setting register(X direction/end)
LCDREG=0x16; LCDREG=0x00;
//VRAM access area setting register(Y direction/end)
LCDREG=0x18; LCDREG=0x03;
//Address auto increment setting register
for(i=0;i<110;i++)
{
for(j=0;j<(264);j++)
{SPI_Disp();
SPI_Send_Data(0xff);
SPI_Send_Data(0x00);
// LCDDATA=0xff;
// LCDDATA=0x00;
}
for(j=0;j<264;j++)
{
SPI_Disp();
SPI_Send_Data(0x00);
SPI_Send_Data(0xff);
// LCDDATA=0x00;
// LCDDATA=0xff;
}
}
}
void Display_downloading()
{
unsigned char l;
unsigned char x;
unsigned char y;
// Chip_select_LCD();
Chip_select_LCD();
CS = 1;SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x12);
CS = 1;SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x45);
CS = 1;SPI_Command();
SPI_Send_Data(0x15); SPI_Send_Data(0x71);
CS = 1;SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0x64);
CS = 1;SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
for(y=0;y<32;y++)
{
for(x=0;x<12;x++)
{
for(l=0x80;l>=1;l=l>>1)
{
if((Downloading[(31-y)*12+x+0]&l)!=0)
{
SPI_Disp();
SPI_Send_Data(0x00);
SPI_Disp();
SPI_Send_Data(0x00);
}
else
{
SPI_Disp();
SPI_Send_Data(0xFF);
SPI_Disp();
SPI_Send_Data(0xFF);
}
}
}
}
switch(Block_addr)
{
//=================================================================block 1
case 1: SPI_Command();
CS = 1;SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x14);
CS = 1;SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x55);
CS = 1;SPI_Command();
SPI_Send_Data(0x15); SPI_Send_Data(0x1c);
CS = 1;SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0x5e);
CS = 1;SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
break;
//=====================================================================block 2
case 2:
CS = 1;SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x20);
CS = 1;SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x55);
CS = 1;SPI_Command();
SPI_Send_Data(0x15); SPI_Send_Data(0x28);
CS = 1;SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0x5e);
CS = 1;SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
break;
//=====================================================================block 3
case 3:
CS = 1;SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x2c);
CS = 1;SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x55);
CS = 1;SPI_Command();
SPI_Send_Data(0x15); SPI_Send_Data(0x34);
CS = 1;SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0x5e);
CS = 1;SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
break;
//====================================================================block 4
case 4:
CS = 1;SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x38);
CS = 1;SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x55);
CS = 1;SPI_Command();
SPI_Send_Data(0x15); SPI_Send_Data(0x40);
CS = 1;SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0x5d);
CS = 1;SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
break;
//===============================================================block 5
case 5: CS = 1;SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x44);
CS = 1;SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x55);
CS = 1;SPI_Command();
SPI_Send_Data(0x15); SPI_Send_Data(0x4c);
CS = 1;SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0x5d);
CS = 1;SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
break;
//==============================================================block 6
case 6:
CS = 1;SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x50);
CS = 1;SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x55);
CS = 1;SPI_Command();
SPI_Send_Data(0x15); SPI_Send_Data(0x58);
CS = 1;SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0x5d);
CS = 1;SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
break;
//==============================================================bolck 7
case 7: CS = 1;SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x5c);
CS = 1;SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x55);
CS = 1;SPI_Command();
SPI_Send_Data(0x15); SPI_Send_Data(0x64);
CS = 1;SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0x5d);
CS = 1;SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
break;
//=============================================================block 8
case 8: CS = 1;SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x68);
CS = 1;SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x55);
CS = 1;SPI_Command();
SPI_Send_Data(0x15); SPI_Send_Data(0x70);
CS = 1;SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0x5d);
CS = 1;SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
break;
default: ;}
for(y=0;y<62;y++)
{
CS = 1;SPI_Disp();
SPI_Send_Data(0xFF); SPI_Send_Data(0xFF);
}
Delayms(500);
}
void Display_downloaded()
{
unsigned char l;
unsigned char x;
unsigned char y;
Chip_select_LCD();
CS = 1;SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x12);
CS = 1;SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x50);
CS = 1;SPI_Command();
SPI_Send_Data(0x15); SPI_Send_Data(0x71);
CS = 1;SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0x5f);
CS = 1;SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
/* LCDREG=0x12; LCDREG=0x87;
//VRAM access area setting register(X direction/start and pointer)
LCDREG=0x13; LCDREG=0xDB;
//VRAM access area setting register(Y direction/start and pointer)
LCDREG=0x15; LCDREG=0x28;
//VRAM access area setting register(X direction/end)
LCDREG=0x16; LCDREG=0x00;
//VRAM access area setting register(Y direction/end)
LCDREG=0x18; LCDREG=0x03;
//Address auto increment setting register
LCDREG=0x14; LCDREG=0x87; // X address register
LCDREG=0x17; LCDREG=0x74; // Y address register
*/ for(y=0;y<16;y++)
{
for(x=0;x<12;x++)
{
for(l=0x80;l>=1;l=l>>1)
{
if((Downloaded[(15-y)*12+x]&l)!=0)
{
CS = 1;SPI_Disp();
SPI_Send_Data(0x00); SPI_Send_Data(0x00);
}
else
{
CS = 1;SPI_Disp();
SPI_Send_Data(0xff); SPI_Send_Data(0xff);
}
}
}
}
}
void Display_eraseing()
{
unsigned char l;
unsigned char x;
unsigned char y;
Chip_select_LCD();
CS = 1;SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x12);
CS = 1;SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x50);
CS = 1;SPI_Command();
SPI_Send_Data(0x15); SPI_Send_Data(0x71);
CS = 1;SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0x5f);
CS = 1;SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
for(y=0;y<16;y++)
{
for(x=0;x<12;x++)
{
for(l=0x80;l>=1;l=l>>1)
{
if((Erasing[(15-y)*12+x]&l)!=0)
{
CS = 1;SPI_Disp();
SPI_Send_Data(0x00); SPI_Send_Data(0x00);
}
else
{
CS = 1;SPI_Disp();
SPI_Send_Data(0xff); SPI_Send_Data(0xff);
}
}
}
}
}
void Display_erased()
{
unsigned char l;
unsigned char x;
unsigned char y;
Chip_select_LCD();
CS = 1;SPI_Command();
SPI_Send_Data(0x12); SPI_Send_Data(0x12);
CS = 1;SPI_Command();
SPI_Send_Data(0x13); SPI_Send_Data(0x50);
CS = 1;SPI_Command();
SPI_Send_Data(0x15); SPI_Send_Data(0x71);
CS = 1;SPI_Command();
SPI_Send_Data(0x16); SPI_Send_Data(0x5f);
CS = 1;SPI_Command();
SPI_Send_Data(0x18); SPI_Send_Data(0x00);
/*Chip_select_LCD();
LCDREG=0x12; LCDREG=0x87;
//VRAM access area setting register(X direction/start and pointer)
LCDREG=0x13; LCDREG=0xDB;
//VRAM access area setting register(Y direction/start and pointer)
LCDREG=0x15; LCDREG=0x28;
//VRAM access area setting register(X direction/end)
LCDREG=0x16; LCDREG=0x00;
//VRAM access area setting register(Y direction/end)
LCDREG=0x18; LCDREG=0x03;
//Address auto increment setting register
LCDREG=0x14; LCDREG=0x87; // X address register
LCDREG=0x17; LCDREG=0x74; // Y address register
*/
for(y=0;y<16;y++)
{
for(x=0;x<12;x++)
{
for(l=0x80;l>=1;l=l>>1)
{
if((Erased[(16-y)*12+x]&l)!=0)
{
CS = 1;SPI_Disp();
SPI_Send_Data(0x00); SPI_Send_Data(0x00);
}
else
{
CS = 1;SPI_Disp();
SPI_Send_Data(0xff); SPI_Send_Data(0xff);
}
}
}
}
}
void Display_chipcopy_transfering()
{
unsigned char l;
unsigned char x;
unsigned char y;
Chip_select_LCD();
LCDREG=0x12; LCDREG=0x87;
//VRAM access area setting register(X direction/start and pointer)
LCDREG=0x13; LCDREG=0xDB;
//VRAM access area setting register(Y direction/start and pointer)
LCDREG=0x15; LCDREG=0x28;
//VRAM access area setting register(X direction/end)
LCDREG=0x16; LCDREG=0x00;
//VRAM access area setting register(Y direction/end)
LCDREG=0x18; LCDREG=0x03;
//Address auto increment setting register
LCDREG=0x14; LCDREG=0x87; // X address register
LCDREG=0x17; LCDREG=0x80;
for(y=0;y<40;y++)
{
for(x=0;x<12;x++)
{
for(l=0x80;l>=1;l=l>>1)
{
if((Transfering[(39-y)*12+x]&l)!=0)
{
LCDDATA=0;
LCDDATA=0;
LCDDATA=0;
}
else
{
LCDDATA=0xff;
LCDDATA=0xff;
LCDDATA=0xff;
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -