📄 tft.c
字号:
#include "tft.h"
#include "stc_spi.h"
#include "myfun.h"
void TFT_Write_Dat(unsigned char dat)
{
TFT_CD=1;
TFT_CS=0;
spi_write(dat);
TFT_CS=1;
}
void TFT_Write_Dat_16(unsigned char datH,unsigned char datL)
{
TFT_Write_Dat(datH);
TFT_Write_Dat(datL);
}
void TFT_Write_Cmd(unsigned char cmd)
{
TFT_CD=0;
TFT_CS=0;
spi_write(cmd);
TFT_CS=1;
}
void TFT_init()
{
spi_init(4);
//TFT_CS=1;
//TFT_SCLK=0;
TFT_RST=1;
delay(100);
TFT_RST=0;
delay(5);
TFT_RST=1;
delay(100);
TFT_Write_Cmd(0x10);
TFT_Write_Dat_16(0x2f,0x8e);
TFT_Write_Cmd(0x11);
TFT_Write_Dat_16(0x00,0x0c);
TFT_Write_Cmd(0x07);
TFT_Write_Dat_16(0x00,0x21);
TFT_Write_Cmd(0x28);
TFT_Write_Dat_16(0x00,0x06);
TFT_Write_Cmd(0x28);
TFT_Write_Dat_16(0x00,0x05);
TFT_Write_Cmd(0x27);
TFT_Write_Dat_16(0x05,0x7f);
TFT_Write_Cmd(0x29);
TFT_Write_Dat_16(0x89,0xa1);
TFT_Write_Cmd(0x00); //write index, 16bits, high 8 bits is 0x00
TFT_Write_Dat_16(0x00,0x01); //write instruction, 16bits
delay(100);
TFT_Write_Cmd(0x29);
TFT_Write_Dat_16(0x80,0xb0);
delay(30);
TFT_Write_Cmd(0x29);
TFT_Write_Dat_16(0xff,0xfe);
TFT_Write_Cmd(0x07);
TFT_Write_Dat_16(0x00,0x23);
delay(30);
TFT_Write_Cmd(0x07);
TFT_Write_Dat_16(0x00,0x33);
TFT_Write_Cmd(0x01);
TFT_Write_Dat_16(0x21,0x83);
TFT_Write_Cmd(0x2f);
TFT_Write_Dat_16(0xff,0xff);
TFT_Write_Cmd(0x2c);
TFT_Write_Dat_16(0x80,0x00);
TFT_Write_Cmd(0x03);
TFT_Write_Dat_16(0x68,0x30);
TFT_Write_Cmd(0x27);
TFT_Write_Dat_16(0x05,0x70);
TFT_Write_Cmd(0x02);
TFT_Write_Dat_16(0x03,0x00);
TFT_Write_Cmd(0x0b);
TFT_Write_Dat_16(0x58,0x0c);
TFT_Write_Cmd(0x12);
TFT_Write_Dat_16(0x06,0x09);
TFT_Write_Cmd(0x13);
TFT_Write_Dat_16(0x31,0x00);
TFT_Write_Cmd(0x2a);
TFT_Write_Dat_16(0x1d,0xd0);
TFT_Write_Cmd(0x2b);
TFT_Write_Dat_16(0x0a,0x90);
TFT_Write_Cmd(0x2d);
TFT_Write_Dat_16(0x31,0x0f);
delay(100);
TFT_Write_Cmd(0x45);
TFT_Write_Dat_16(0x83,0x00);
TFT_Write_Cmd(0x44);
TFT_Write_Dat_16(0x83,0x00);
TFT_Write_Cmd(0x21);
TFT_Write_Dat_16(0x00,0x00);
TFT_Write_Cmd(0x1e);
TFT_Write_Dat_16(0x00,0xbf);
delay(1);
TFT_Write_Cmd(0x1e);
TFT_Write_Dat_16(0x00,0x00);
delay(100);
TFT_Write_Cmd(0x45);
TFT_Write_Dat_16(0x83,0x00);
TFT_Write_Cmd(0x44);
TFT_Write_Dat_16(0x83,0x00);
}
void TFT_Draw_Point(unsigned char x,unsigned char y,unsigned int color)
{
TFT_Write_Cmd(0x21);
TFT_Write_Dat_16(y,x);
TFT_Write_Cmd(0x22); //write data to GRB
TFT_Write_Dat((unsigned char)(color>>8));
TFT_Write_Dat((unsigned char)(color&0x00ff));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -