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

📄 2.0tft demomain 1.c

📁 LCD模块驱动 SHARP2.0“TFT模块驱动程序
💻 C
📖 第 1 页 / 共 5 页
字号:
	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 + -