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

📄 lcd.c

📁 color_lcd_test
💻 C
📖 第 1 页 / 共 4 页
字号:

    // 00
    // 0#
    Glib_Rectangle(0+320,0+240,319+320,239+240,15);
    Glib_Line(0+320,0+240,319+320,239+240,15);     
    Glib_Line(0+320,239+240,319+320,0+240,15);
    Glib_Rectangle(50+320,50+240,269+320,189+240,15);

    uart_printf(" Virtual Screen Test(STN 16 gray). Press any key[ijkm\\r]!\n");
    MoveViewPort(MODE_STN_4BIT);
    Lcd_MoveViewPort(0,0,MODE_STN_4BIT);
    Lcd_EnvidOnOff(0);
    Lcd_Port_Return();
}

/*********************************************************************************************
* name:		Test_Lcd_Cstn_8Bit()
* func:		test 8bpp Cstn LCD
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void Test_Lcd_Cstn_8Bit(void)
{
    int i,j,k;
    Lcd_port_init();
    Lcd_Init(MODE_CSTN_8BIT);
    Glib_Init(MODE_CSTN_8BIT);
    Lcd_CstnOnOff(1);                                           // Enable ENVID Bit and GPB5 output
    uart_printf("  CSTN 256 COLOR(8bit/1pixel) LCD TEST\n");
    uart_printf("      R:0   ...    7 \n");
    uart_printf(" G:0  B0:1 B0:1 B0:1 \n");
    uart_printf(" G:.   2:3  2:3  2:3 \n");
    uart_printf(" G:.  B0:1 B0:1 B0:1 \n");
    uart_printf(" G:.   2:3  2:3  2:3 \n");
    uart_printf(" G:.  B0:1 B0:1 B0:1 \n");
    uart_printf(" G:7   2:3  2:3  2:3 \n");

    
    Glib_ClearScr(0, MODE_CSTN_8BIT);
    for(j=0;j<240;j++)
		for(i=0;i<320;i++)                                      //RRRGGGBB
		    PutPixel(i,j,((i/40)<<5)+((j/30)<<2)+(((j/15)%2)<<1)+((i/20)%2));
    uart_printf(" CSTN 256 color mode test 1. Press any key!\n");
    uart_getch();  	
  
    Glib_ClearScr(0, MODE_CSTN_8BIT);
    k=0;
    for(i=160;i<480;i+=20)
    	for(j=120;j<360;j+=15)
    	{
    	    Glib_FilledRectangle(i,j,i+19,j+14,k);
    	    k++;
    	}

    // #0		    
    // 00		    
    Glib_Rectangle(0,0,319,239,255);   
    Glib_Line(0,0,319,239,255);        
    Glib_Line(0,239,319,0,255);

    // 0#
    // 00
    Glib_Rectangle(0+320,0,319+320,239,255);
    Glib_Line(0+320,0,319+320,239,255);        
    Glib_Line(0+320,239,319+320,0,255);

    // 00
    // #0
    Glib_Rectangle(0,0+240,319,239+240,255);
    Glib_Line(0,0+240,319,239+240,255);        
    Glib_Line(0,239+240,319,0+240,255);

    // 00
    // 0#
    Glib_Rectangle(0+320,0+240,319+320,239+240,255);
    Glib_Line(0+320,0+240,319+320,239+240,255);     
    Glib_Line(0+320,239+240,319+320,0+240,255);
    Glib_Rectangle(50+320,50+240,269+320,189+240,255);

    uart_printf(" Virtual Screen Test(CSTN 256 color). Press any key[ijkm\\r]!\n");
    MoveViewPort(MODE_CSTN_8BIT);
    Lcd_MoveViewPort(0,0,MODE_CSTN_8BIT);
    Lcd_CstnOnOff(0);                                           // Disable ENVID Bit and GPB5 output
    Lcd_Port_Return();
}


/*********************************************************************************************
* name:		Test_Lcd_Cstn_8Bit_On()
* func:		test 8bpp Cstn LCD
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void Test_Lcd_Cstn_8Bit_On(void)
{
    int i,j;
    Lcd_port_init();
    Lcd_Init(MODE_CSTN_8BIT);
    Glib_Init(MODE_CSTN_8BIT);
    Lcd_CstnOnOff(1);                                           // Enable ENVID Bit and GPB5 output
    uart_printf("  CSTN LCD(8bit/1pixel) WILL BE TURNED ON EVEN DURING OTHER TEST\n");
    uart_printf(" If you'd like to off the CSTN LCD, then excute other LCD test program,\n");     
    for(j=0;j<240;j++)
    	for(i=0;i<320;i++)                                      //RRRGGGBB
    	    PutPixel(i,j,((i/40)<<5)+((j/30)<<2)+(((j/15)%2)<<1)+((i/20)%2));
}


/*********************************************************************************************
* name:		Test_Lcd_Cstn_12Bit()
* func:		test 12bpp Cstn LCD
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void Test_Lcd_Cstn_12Bit(void)
{
    int i,j,k;
    Lcd_port_init();
    Lcd_Init(MODE_CSTN_12BIT);
    Glib_Init(MODE_CSTN_12BIT);
    Lcd_CstnOnOff(1);                                           // Enable ENVID Bit and GPB5 output
    uart_printf("  CSTN 4K COLOR(12bit/1pixel) LCD TEST\n");
    uart_printf(" R:0 ...    16\n");
    uart_printf(" G:0 ...    16\n");
    uart_printf(" B:0 ...    16\n");
 
    Glib_ClearScr(0, MODE_CSTN_12BIT);
    k=0;
    for(j=0;j<240;j+=80)
        for(i=0;i<320;i+=20)
		{   
	 	   if((k<16)|(k>31))
		    {
		        Glib_FilledRectangle(i,j,i+19,j+79,((k%16)<<(4*(k/16))));
		        k++;
		   }
		    else
		    {
		        Glib_FilledRectangle(i,j,i+19,j+79,((k-(1+2*(k%16)))<<(4*(k/16))));
		        k++;
		   }
		}
    uart_printf(" CSTN 4K color mode test 1. Press any key!\n");
    uart_getch();  	

    Glib_ClearScr(0, MODE_CSTN_12BIT);
    for(j=0;j<240;j++)
		for(i=0;i<320;i++)
		    PutPixel(i,j,((i/40)<<9)+((j/30)<<5)+(((j/15)%2)<<1)+((i/20)%2));
    uart_printf(" CSTN 4K color mode test 2. Press any key!\n");
    uart_getch();  	

    Glib_ClearScr(0, MODE_CSTN_12BIT);
    k=0;
    for(i=160;i<480;i+=20)
    	for(j=120;j<360;j+=15)
    	{
    	    Glib_FilledRectangle(i,j,i+19,j+14,(((k&0xf)<<8)|((k%4)<<4)|(k&0xf0)) );
    	    k++;
    	}

    // #0		    
    // 00		    
    Glib_Rectangle(0,0,319,239,0xf00);   
    Glib_Line(0,0,319,239,0x0f0);        
    Glib_Line(0,239,319,0,0x00f);
    
    // 0#
    // 00
    Glib_Rectangle(0+320,0,319+320,239,0xfff);
    Glib_Line(0+320,0,319+320,239,0xfff);        
    Glib_Line(0+320,239,319+320,0,0xfff);
    
    // 00
    // #0
    Glib_Rectangle(0,0+240,319,239+240,0xfff);
    Glib_Line(0,0+240,319,239+240,0xfff);        
    Glib_Line(0,239+240,319,0+240,0xfff);
    
    // 00
    // 0#
    Glib_Rectangle(0+320,0+240,319+320,239+240,0xfff);
    Glib_Line(0+320,0+240,319+320,239+240,0xfff);     
    Glib_Line(0+320,239+240,319+320,0+240,0xfff);
    Glib_Rectangle(50+320,50+240,269+320,189+240,0xfff);

    uart_printf(" Virtual Screen Test(CSTN 4K color). Press any key[ijkm\\r]!\n");
    MoveViewPort(MODE_CSTN_12BIT);
    Lcd_MoveViewPort(0,0,MODE_CSTN_12BIT);
    Lcd_CstnOnOff(0);                                           // Disable ENVID Bit and GPB5 output
    Lcd_Port_Return();
}


/*********************************************************************************************
* name:		Test_Lcd_Tft_8Bit_240320()
* func:		test 8bpp 240*320 TFT LCD
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void Test_Lcd_Tft_8Bit_240320(void)
{
    int i,j,k;
    Lcd_port_init();
    Lcd_Palette8Bit_Init();                                     // Initialize 256 palette 
    Lcd_Init(MODE_TFT_8BIT_240320);
    Glib_Init(MODE_TFT_8BIT_240320);
    Lcd_Lpc3600Enable();                                        // Enable LPC3600
    Lcd_PowerEnable(0, 1);
    uart_printf("  TFT 256 COLOR(8bit/1pixel) LCD TEST\n");
    rTPAL = (1<<24)|((0xff)<<16);                               // Enable Temporary Palette : Red
    Lcd_EnvidOnOff(1);                                          // Enable ENVID Bit
    uart_printf(" TFT 256 color mode test 1. Press any key!\n");
    uart_getch(); 

    Glib_ClearScr(0, MODE_TFT_8BIT_240320);                     // Fill the LCD panel with Black Color
    k=0;
    for(i=0;i<320;i+=20)
		for(j=0;j<240;j+=15)
		{ 
		    Glib_FilledRectangle(j,i,j+14,i+19,(k%256));
		    k++;
		}
    rTPAL = 0;                                                  // Disable Temporary Palette
    uart_printf(" TFT 256 color mode test 2. Press any key!\n");
    uart_getch();  	

    Glib_ClearScr(0, MODE_TFT_8BIT_240320);                     // Fill the LCD panel with Black Color
    k=0;
    for(i=0;i<320;i+=10)
		for(j=0;j<240;j+=10)
		{ 
		    Glib_FilledRectangle(j,i,j+9,i+9,(k%256));
		    k+=30;
		}
    uart_printf(" TFT 256 color mode test 3. Press any key!\n");
    uart_getch();  	

    Glib_ClearScr(0, MODE_TFT_8BIT_240320);
    k=0;
    for(i=80;i<240;i+=10)
    {
    	for(j=60;j<180;j+=10)
    	{
    	    Glib_FilledRectangle(j,i,j+9,i+9,k);
    	    k++;
    	}
   }
    Glib_Rectangle(0,0,239,319,255);   
    Glib_Line(0,0,239,319,255);        
    Glib_Line(0,319,239,0,255);
    
    Glib_Rectangle(0+240,0,239+240,319,255);
    Glib_Line(0+240,0,239+240,319,255);        
    Glib_Line(0+240,319,239+240,0,255);
    
    Glib_Rectangle(0,0+320,239,319+320,255);
    Glib_Line(0,0+320,239,319+320,255);        
    Glib_Line(0,319+320,239,0+320,255);
    
    Glib_Rectangle(0+240,0+320,239+240,319+320,255);
    Glib_Line(0+240,0+320,239+240,319+320,255);     
    Glib_Line(0+240,319+320,239+240,0+320,255);

    Glib_Rectangle(10+240,10+320,480-11,640-11,255);

    uart_printf(" Virtual Screen Test(TFT 256 color). Press any key[ijkm\\r]!\n");
    MoveViewPort(MODE_TFT_8BIT_240320);
    Lcd_MoveViewPort(0,0,MODE_TFT_8BIT_240320);
    Lcd_EnvidOnOff(0);
    Lcd_Port_Return();
}


/*********************************************************************************************
* name:		Test_Lcd_Tft_16Bit_240320()
* func:		test 16bpp 240*320 TFT LCD
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void Test_Lcd_Tft_16Bit_240320(void)
{
    int i,j,k;
    Lcd_port_init();
    Lcd_Init(MODE_TFT_16BIT_240320);
    Glib_Init(MODE_TFT_16BIT_240320);
    Lcd_Lpc3600Enable();                                        // Enable LPC3600
    Lcd_PowerEnable(0, 1);
    Lcd_EnvidOnOff(1);
    uart_printf("  TFT 64K COLOR(16bit/1pixel) LCD TEST\n");

    Glib_ClearScr(0, MODE_TFT_16BIT_240320);
    Glib_FilledRectangle(0,0,239,159,0xf800);    
    Glib_FilledRectangle(0,160,239,320,0xf800);    
    uart_printf(" TFT 64K color mode test 1. Press any key!\n");
    uart_getch();  	
    

    Glib_ClearScr(0, MODE_TFT_16BIT_240320);
    Glib_Rectangle(0,0,239,319,0x07e0);   
    Glib_FilledRectangle(0,0,20,20,65535);   
    Glib_Rectangle(220,300,239,319,65535);   
    Glib_Line(0,0,239,319,0x1f);        
    Glib_Line(239,0,0,319,0xf800);
    uart_printf(" TFT 64K color mode test 2. Press any key!\n");
    uart_getch();  	

    Glib_ClearScr(0, MODE_TFT_16BIT_240320);
    k=0;
    for(i=80;i<240;i+=10)
    {
    	for(j=60;j<180;j+=10)
    	{
    	    Glib_FilledRectangle(j,i,j+9,i+9,k);
    	    k++;
    	}
   }

    Glib_Rectangle(0,0,239,319,65535);   
    Glib_Line(0,0,239,319,65535);        
    Glib_Line(0,319,239,0,65535);
    
    Glib_Rectangle(0+240,0,239+240,319,255);
    Glib_Line(0+240,0,239+240,319,255);        
    Glib_Line(0+240,319,239+240,0,255);
    
    Glib_Rectangle(0,0+320,239,319+320,255);
    Glib_Line(0,0+320,239,319+320,255);        
    Glib_Line(0,319+320,239,0+320,255);
    
    Glib_Rectangle(0+240,0+320,239+240,319+320,255);
    Glib_Line(0+240,0+320,239+240,319+320,255);     
    Glib_Line(0+240,319+320,239+240,0+320,255);
    Glib_Rectangle(40+240,40+320,480-41,640-41,0x1f);

    uart_printf(" Virtual Screen Test(TFT 64K color). Press any key[ijkm\\r]!\n");
    MoveViewPort(MODE_TFT_16BIT_240320);
    Lcd_MoveViewPort(0,0,MODE_TFT_16BIT_240320);
    Lcd_EnvidOnOff(0);
    Lcd_Port_Return();
}


/*********************************************************************************************
* name:		Test_Lcd_Tft_8Bit_240320_On()
* func:		test 8bpp 240*320 TFT LCD
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void Test_Lcd_Tft_8Bit_240320_On(void)
{
    int i,j,k=0;
    Lcd_port_init();
    Lcd_Palette8Bit_Init();
    Lcd_Init(MODE_TFT_8BIT_240320);
    Glib_Init(MODE_TFT_8BIT_240320);
    Lcd_Lpc3600Enable();                                        // Enable LPC3600
    Lcd_PowerEnable(0, 1);    
    uart_printf("  TFT LCD(240x320 ,8bpp) WILL BE TURNED ON EVEN DURING OTHER TEST\n");
    uart_printf(" If you'd like to off the TFT LCD, then excute other LCD test program,\n");     

    for(j=0;j<320;j++)
        for(i=0;i<240;i++)
            PutPixel(i,j,((int)DEMO256[k++]));

⌨️ 快捷键说明

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