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

📄 tft.c

📁 用51单片机解码JPEG文件
💻 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 + -