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

📄 lcd_st7787_qvga.c

📁 LCD ST7787 QVGA 屏 的 驱 动
💻 C
📖 第 1 页 / 共 2 页
字号:
            LCD_Data(0x0000);
        }
    } 
#endif

//while(1);

/*
	LCD_Command(0x1100);

	Delay1Ms(120);

	LCD_Command(0xbc00);

	LCD_Command(0xc300);

	LCD_Data(0x0100);
	LCD_Data(0x3300);
	LCD_Data(0x0100);
	LCD_Data(0x0000);
	LCD_Data(0x0000);

	Delay1Ms(30);

	LCD_Command(0xf400);
	LCD_Data(0xff00);
	LCD_Data(0x3f00);


	LCD_Command(0xc200);

	LCD_Data(0x0100);
	LCD_Data(0xd600);
	LCD_Data(0x8500);
	LCD_Data(0x3000);
	LCD_Data(0x0000);	

	Delay1Ms(24);

	LCD_Command(0xfb00);
	LCD_Data(0x5f00);	

	LCD_Command(0xc500);
	LCD_Data(0xba00);
	LCD_Data(0x1a00);

	Delay1Ms(30);

	
	LCD_Command(0xc600);
	LCD_Data(0x2200);
	LCD_Data(0x0000);

	Delay1Ms(30);

	LCD_Command(0xc000);
	LCD_Data(0x0000);
	Delay1Ms(30);


	LCD_Command(0x3500);
	LCD_Data(0x0000);
	Delay1Ms(30);


	LCD_Command(0xb600);
	LCD_Data(0x0200);
	LCD_Data(0x0400);
	//Delay1Ms(30);

	LCD_Command(0x3a00);
	LCD_Data(0x0500);

	LCD_Command(0x2900);
	LCD_Command(0x2c00);
*/	
/*
	LCD_Command(0x0011);

	Delay1Ms(120);

	LCD_Reg_Set(0xbcc3,0x0133);
	//LCD_Command(0x00bc);
	LCD_Reg_Set(0xbcc3,0x0100);
	//LCD_Command(0x00c3);

	//LCD_Data(0x0001);
	//LCD_Data(0x0033);
	//LCD_Data(0x0001);
	//LCD_Data(0x0000);
	LCD_Data(0x0000);

	Delay1Ms(30);

	LCD_Reg_Set(0x00f4,0xff3f);
	//LCD_Command(0x00f4);
	//LCD_Data(0x00ff);
	//LCD_Data(0x003f);


	LCD_Reg_Set(0x00c2,0x01d6);
	//LCD_Command(0x00c2);
	//LCD_Data(0x0001);
	//LCD_Data(0x00d6);
	LCD_Reg_Set(0x00c2,0x8530);
	//LCD_Data(0x0085);
	//LCD_Data(0x0030);
	LCD_Data(0x0000);	

	Delay1Ms(24);

	LCD_Reg_Set(0x00fb,0x005f);
	//LCD_Command(0x00fb);
	//LCD_Data(0x005f);	
	LCD_Reg_Set(0x00c5,0xba1a);
	//LCD_Command(0x00c5);
	//LCD_Data(0x00ba);
	//LCD_Data(0x001a);

	Delay1Ms(30);

	LCD_Reg_Set(0x00c6,0x2200);	
	//LCD_Command(0x00c6);
	//LCD_Data(0x0022);
	//LCD_Data(0x0000);

	Delay1Ms(30);

	LCD_Reg_Set(0x00c0,0x0000);	
	//LCD_Command(0x00c0);
	//LCD_Data(0x0000);
	Delay1Ms(30);

	LCD_Reg_Set(0x0035,0x0000);	
	//LCD_Command(0x0035);
	//LCD_Data(0x0000);
	Delay1Ms(30);

	LCD_Reg_Set(0x00b6,0x0204);	
	//LCD_Command(0x00b6);
	//LCD_Data(0x0002);
	//LCD_Data(0x0004);
	//Delay1Ms(30);

	LCD_Reg_Set(0x003a,0x0005);	
	//LCD_Command(0x003a);
	//LCD_Data(0x0005);

	//LCD_Reg_Set(0x003a,0x0005);	
	LCD_Command(0x0029);
	LCD_Command(0x002c);
*/
}


#endif
void Poweron_Standby_lcd(void)//alex
{

/*
	LCD_Command(0x0010);	
	Delay1Ms(120);	
	Delay1Ms(120);	
	Delay1Ms(120);
*/
}
void Standby_lcd(void)
{
/*
 	LCD_Reg_Set(0x0007, 0x0033);
	Delay1Ms(10);
	LCD_Reg_Set(0x0007, 0x0023);
 	LCD_Reg_Set(0x0007, 0x0021);
    Delay1Ms(10);
    
	LCD_Reg_Set(0x0007, 0x0001);
 	Delay1Ms(10);
    LCD_Reg_Set(0x0010, 0x0001);
    Delay1Ms(10);
 */
}


void  standby_return()
{
/*
    LCD_Reg_Set(0x0010, 0x0000);
    Delay1Ms(10);
	LCD_Reg_Set(0x0007, 0x0001);
 	Delay1Ms(10);
 	LCD_Reg_Set(0x0007, 0x0021);
 	LCD_Reg_Set(0x0007, 0x0023);
    Delay1Ms(10);
 	LCD_Reg_Set(0x0007, 0x0033);
	Delay1Ms(10); 
*/
}

//wjm 2.0 HX8309
void Display_off(void)
{
//	LCD_Reg_Set(0x000B,0x0000); 
//	LCD_Reg_Set(0x0010,0x6020);  
//	LCD_Reg_Set(0x0007,0x0036);
//	Delay1Ms(6);
//	LCD_Reg_Set(0x0007,0x0026);
//	Delay1Ms(6);
//	LCD_Reg_Set(0x0007,0x0004);
//	Delay1Ms(9);
//	LCD_Reg_Set(0x0007,0x0037); 
//	Delay1Ms(10);
//	LCD_Reg_Set(0x0011,0x0000);
//	LCD_Reg_Set(0x0010,0x0000);
//	LCD_Reg_Set(0x0012,0x0000);
//	LCD_Reg_Set(0x0013,0x0000);
}


void LCDDEV_SetWindow(int x0, int y0, int x1, int y1)
{
#ifdef LCD_MEMORY_DEV
   while(DmaFillImage2LcdFlag);
#endif    
  //  LCD_Reg_Set(0x0044, y1<<8 | y0);
  //  LCD_Reg_Set(0x0045, x0);
  //  LCD_Reg_Set(0x0046, x1);
   // LCD_SetDispAddr(x0, y0);    

	unsigned  int Parameter1,Parameter2;


	Parameter1 = x0 >>8;
	Parameter2 = x1 >>8;
   // LCD_Reg_Set(0x002a, y);    //RAM Addr x
  if( LcdScanType == 3){
    LCD_Command(0x002b); 
  	}
  else{
  	 LCD_Command(0x002a); 
	}
    LCD_Data(Parameter1);
    LCD_Data(x0);
    LCD_Data(Parameter2);
    LCD_Data(x1);

	Parameter1 = y0 >>8;
	Parameter2 = y1 >>8;
   // LCD_Reg_Set(0x002a, y);    //RAM Addr x
    //write_mem(LCD_COMMAND,0x002a); 
   if( LcdScanType == 3){
    LCD_Command(0x002a); 
  	}
  else{
  	 LCD_Command(0x002b); 
	}
    LCD_Data(Parameter1);
    LCD_Data(y0);
    LCD_Data(Parameter2);
    LCD_Data(y1);

	
	LCD_Command(0x002c);
}


void LCDDEV_RevertWindow(int x0, int y0, int x1, int y1)
{
/*
#ifdef LCD_MEMORY_DEV
    while(DmaFillImage2LcdFlag);
#endif
    LCD_Reg_Set(0x0044, y1<<8 | y0);
    LCD_Reg_Set(0x0045, x0);
    LCD_Reg_Set(0x0046, x1); 
*/

#ifdef LCD_MEMORY_DEV
   while(DmaFillImage2LcdFlag);
#endif    
  //  LCD_Reg_Set(0x0044, y1<<8 | y0);
  //  LCD_Reg_Set(0x0045, x0);
  //  LCD_Reg_Set(0x0046, x1);
   // LCD_SetDispAddr(x0, y0);    

	unsigned  int Parameter1,Parameter2;
	Parameter1 = x0 >>8;
	Parameter2 = x1 >>8;
   // LCD_Reg_Set(0x002a, y);    //RAM Addr x
    LCD_Command(0x002a); 
    LCD_Data(Parameter1);
    LCD_Data(x0);
    LCD_Data(Parameter2);
    LCD_Data(x1);

	Parameter1 = y0 >>8;
	Parameter2 = y1 >>8;
   // LCD_Reg_Set(0x002a, y);    //RAM Addr x
    LCD_Command(0x002b); 
    LCD_Data(Parameter1);
    LCD_Data(y0);
    LCD_Data(Parameter2);
    LCD_Data(y1);
	
}


//void LCD_ReadBitmap(int x0, int y0, int xsize, int ysize, unsigned int *pData)
//{
//	int x1, y1;
//	x1 = x0+xsize-1; 
//	y1 = y0+ysize-1; 
//	LCDDEV_SetWindow(x0, y0, x1, y1);
//	read_XDATA(LCD_DATA);
//	for(y1=0; y1<ysize; y1++){
//		for(x1=0; x1<xsize; x1++){
//			*pData++ = read_XDATA(LCD_DATA);
//		}
//	}
//
//	LCDDEV_RevertWindow(0, 0, LCD_MAX_XSIZE-1, LCD_MAX_YSIZE-1);
//}


unsigned int LCDDEV_GetPixel(int x, int y)
{
//	unsigned int color;
//	
//	LCD_SetDispAddr(x,y);	
//	color = read_XDATA(LCD_DATA);
//	color = read_XDATA(LCD_DATA);
//	return(color);	
}


void LCDDEV_SetPixel(int x, int y, unsigned int color)
{
    LCD_SetDispAddr(x,y);	
	LCD_Data(color);	        //color表示RGB值, 这个函数的功能是往(x,y)写入color值
}


void LCDDEV_XorPixel(int x, int y)
{
//	unsigned int color;
//	color = LCDDEV_GetPixel(x,y);
//	LCDDEV_SetPixel(x,y,0xFFFF-color);			
}





//length
void DMA_LcdJpegInitX(void)
{
	  LcdScanType = 1;
	  	LCD_Command(0x0036);
	LCD_Data(0x0060);
	 //LcdScanType = 3;
	 	//LCD_Command(0x0036);
	//LCD_Data(0x0000);
    //LCD_Reg_Set(0x0001, 0x6B3F);    //F
	//LCD_Reg_Set(0x0011, 0x6038);    //F
    LCDDEV_SetWindow(0, 0,  LCD_MAX_XSIZE-1, LCD_MAX_YSIZE-1); 
}


//weight
void DMA_LcdJpegInit(void)
{
	 LcdScanType = 3;
	 	LCD_Command(0x0036);
	LCD_Data(0x0000);
	    //LcdScanType = 1;
    //LCD_Reg_Set(0x0001, 0x2B3F);    //F
	//LCD_Reg_Set(0x0011, 0x6030);    //F
    LCDDEV_SetWindow(0, 0,  LCD_MAX_XSIZE-1, LCD_MAX_YSIZE-1); 	
}


void MP4_LCD_Init(void)
{
  //unsigned int x,y;
   // LCD_Reg_Set(0x0001, 0x6B3F);    //F
	//LCD_Reg_Set(0x0011, 0x6030);    //F
	 LcdScanType = 3;
	LCD_Command(0x0036);
	LCD_Data(0x0040);

	   	//LCD_Command(0x002c);
	
   // for(x=0; x<240; x++){
     //   for(y=0; y<320; y++){
           // LCD_Data(0xf800);
       // }
   // } 
//while(1);	
   // LCDDEV_SetWindow(0, 0,  LCD_MAX_XSIZE-1, LCD_MAX_YSIZE-1);   
}


void Game_LcdInit(void)
{
  //unsigned int x,y;
   // LCD_Reg_Set(0x0001, 0x6B3F);    //F
	//LCD_Reg_Set(0x0011, 0x6030);    //F
	 LcdScanType = 3;
	LCD_Command(0x0036);
	LCD_Data(0x0000);
    LCDDEV_SetWindow(0, 0,  LCD_MAX_XSIZE-1, LCD_MAX_YSIZE-1); 	

	   	//LCD_Command(0x002c);
	
   // for(x=0; x<240; x++){
     //   for(y=0; y<320; y++){
           // LCD_Data(0xf800);
       // }
   // } 
//while(1);	
   // LCDDEV_SetWindow(0, 0,  LCD_MAX_XSIZE-1, LCD_MAX_YSIZE-1);   
}
void Game_LcdInit_180(void)
{
  //unsigned int x,y;
   // LCD_Reg_Set(0x0001, 0x6B3F);    //F
	//LCD_Reg_Set(0x0011, 0x6030);    //F
	 LcdScanType = 3;
	LCD_Command(0x0036);
	LCD_Data(0x00c0);
    LCDDEV_SetWindow(0, 0,  LCD_MAX_XSIZE-1, LCD_MAX_YSIZE-1); 	

	   	//LCD_Command(0x002c);
	
   // for(x=0; x<240; x++){
     //   for(y=0; y<320; y++){
           // LCD_Data(0xf800);
       // }
   // } 
//while(1);	
   // LCDDEV_SetWindow(0, 0,  LCD_MAX_XSIZE-1, LCD_MAX_YSIZE-1);   
}
                    
//******************************************************************************
void DMA_LcdBMPInitX(void)
{
   
}


void DMA_LcdBMPInitInvX(void)
{
   
}

//weight
void DMA_LcdBMPInit(void)
{
   
}

//weight
void DMA_LcdBMPInitInv(void)
{
   
}     
/*
$Log: LCD_ST7787_QVGA.c,v $
*
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -