📄 tft.c
字号:
#include "TFT.h"
#define TFT_RES MCF_GPIO_PORTTJ_PORTTJ5
#define TFT_RS MCF_GPIO_PORTTJ_PORTTJ0
#define TFT_SDA MCF_GPIO_PORTTJ_PORTTJ1
#define TFT_SCK MCF_GPIO_PORTTJ_PORTTJ2
#define TFT_CS MCF_GPIO_PORTTJ_PORTTJ3
#define TFT_RES_1 MCF_GPIO_PORTTJ|=TFT_RES
#define TFT_RS_1 MCF_GPIO_PORTTJ|=TFT_RS
#define TFT_SDA_1 MCF_GPIO_PORTTJ|=TFT_SDA
#define TFT_SCK_1 MCF_GPIO_PORTTJ|=TFT_SCK
#define TFT_CS_1 MCF_GPIO_PORTTJ|=TFT_CS
#define TFT_RES_0 MCF_GPIO_PORTTJ&=~TFT_RES
#define TFT_RS_0 MCF_GPIO_PORTTJ&=~TFT_RS
#define TFT_SDA_0 MCF_GPIO_PORTTJ&=~TFT_SDA
#define TFT_SCK_0 MCF_GPIO_PORTTJ&=~TFT_SCK
#define TFT_CS_0 MCF_GPIO_PORTTJ&=~TFT_CS
#define Du MCF_GPIO_PORTUC_PORTUC0 //段选锁存器控制端
#define We MCF_GPIO_PORTUC_PORTUC1 //位选锁存器控制端
#define Du_1 MCF_GPIO_PORTUC=Du //段选锁存器控制端置1
#define We_1 MCF_GPIO_PORTUC=We //位选锁存器控制端置1
#define Du_0 MCF_GPIO_PORTUC=0 //段选锁存器控制端置0
#define We_0 MCF_GPIO_PORTUC=0 //位选锁存器控制端置0
void write_command(uchar data)
{
uchar i;
Du_1;
TFT_CS_0;
TFT_RS_0;
for(i=0;i<8;i++)
{
if(data&0x80){TFT_SDA_1;}
else{TFT_SDA_0;}
TFT_SCK_0;
//asm("nop");
TFT_SCK_1;
data<<=1;
}
TFT_CS_1;
Du_0;
}
void write_data(uchar data)
{
uchar i;
Du_1;
TFT_CS_0;
TFT_RS_1;
for(i=0;i<8;i++)
{
if(data&0x80){TFT_SDA_1;}
else{TFT_SDA_0;}
TFT_SCK_0;
//asm("nop");
TFT_SCK_1;
data<<=1;
}
TFT_CS_1;
Du_0;
}
void LCD_DataWrite(uchar LCD_DataH,uchar LCD_DataL)
{
write_data(LCD_DataH);
write_data(LCD_DataL);
}
void Reset()
{
We_1;
TFT_RES_0;
delay(100);
TFT_RES_1;
delay(100);
We_0;
}
//////////////////////////////////////////////////////////////////////////////////////////////
void TFT_init()
{
Reset();
//------------------------------------------------------------------//
//-------------------Software Reset-------------------------------//
//------------------------------------------------------------------//
write_command(0x11); //Sleep out
delay (120); //Delay 120ms
//------------------------------------ST7735S Frame Rate-----------------------------------------//
write_command(0xB1);
write_data(0x05);
write_data(0x3C);
write_data(0x3C);
write_command(0xB2);
write_data(0x05);
write_data(0x3C);
write_data(0x3C);
write_command(0xB3);
write_data(0x05);
write_data(0x3C);
write_data(0x3C);
write_data(0x05);
write_data(0x3C);
write_data(0x3C);
//------------------------------------End ST7735S Frame Rate-----------------------------------------//
write_command(0xB4); //Dot inversion
write_data(0x03);
write_command(0xC0);
write_data(0x28);
write_data(0x08);
write_data(0x04);
write_command(0xC1);
write_data(0XC0);
write_command(0xC2);
write_data(0x0D);
write_data(0x00);
write_command(0xC3);
write_data(0x8D);
write_data(0x2A);
write_command(0xC4);
write_data(0x8D);
write_data(0xEE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -