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

📄 lcd.c

📁 s3c44b0X,LCD测试程序
💻 C
字号:
#include "44b.h"
#include "44blib.h"
#include "def.h"
#include "option.h"

#include "lcd.h"
#include "lcdlib.h"
#include "glib.h"

#include <stdarg.h>

#include "Bmp_Mono.h"
#include "Bmp_G4.h"
#include "Bmp_G16.h"
#include "Bmp_c256.h"

//***************************************************************************

/****************************************************************************
【功能说明】黑白屏测试
****************************************************************************/
void Test_LcdMono(void)
{
    int i,j;
    
    Lcd_Init(MODE_MONO);
    Lcd_DispON();
    Lcd_BlackLight_ON() ;
    Glib_Init(MODE_MONO);
    
    Uart_Printf("\n\n黑白屏测试!!!\n\n");

    Glib_ClearScr(0);
    Delay( 500 ) ;
    Glib_ClearScr(1);
    Delay( 500 ) ;
    
    Glib_ClearScr(0);
    for( j = 0; j < SCR_YSIZE; j += 32 )
		for( i = 0; i < SCR_XSIZE; i += 32 )
		    Glib_FilledRectangle( i, j, i+31, j+31, ((j+i)/32)%2 );
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_MONO);
   
	Lcd_Mono_Bmp( 0, 0, 320, 320, children_320_320_mono ) ;		//
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_MONO);

    Lcd_MoveViewPort(0,0,MODE_MONO);
}
//***************************************************************************

/****************************************************************************
【功能说明】4级灰度屏测试
****************************************************************************/
void Test_LcdG4(void)
{
	int i,j ;
	
    Lcd_Init(MODE_G4);
    Lcd_DispON();
    Lcd_BlackLight_ON() ;
    Glib_Init(MODE_G4);
    Uart_Printf("\n\n四色屏测试!!!\n\n");

    Glib_ClearScr(0);
    for( j = 0; j < SCR_YSIZE; j += 32 )
		for( i = 0; i < SCR_XSIZE; i += 32 )
		    Glib_FilledRectangle( i, j, i+31, j+31, ((j+i)/32)%4 );
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G4);
    Lcd_MoveViewPort(0,0,MODE_G4);
   
	Lcd_G4_Bmp( 0, 0, 320, 320, ac21IC_320_320_G4 ) ;		//
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G4);
    
	Lcd_G4_Bmp( 0, 0, 320, 320, acsohu_320_320_G4 ) ;		//
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G4);
    
    Lcd_MoveViewPort(0,0,MODE_G4);
}
//***************************************************************************

/****************************************************************************
【功能说明】16级灰度LCD测试
****************************************************************************/
void Test_LcdG16(void)
{
    int i, j ;
    int k = 0 ;

    Lcd_Init(MODE_G16);
    Lcd_DispON();
    Lcd_BlackLight_ON() ;
    Glib_Init(MODE_G16);

    Uart_Printf("\n\n十六色屏测试!!!\n\n");

    Glib_ClearScr(0);
    for( j = 0; j < SCR_YSIZE; j += 23 )
		for( i = 0; i < SCR_XSIZE; i += 23 )
		    Glib_FilledRectangle( i, j, i+22, j+22, (15-(k++)%16) );
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G16);
    Lcd_MoveViewPort(0,0,MODE_G16);

	Lcd_G16_Bmp( 0, 0, 320, 320, ac21IC_320_320_G16 ) ;		//
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G16);

	Lcd_G16_Bmp( 0, 0, 320, 320, acflower_320_320_G16 ) ;		//
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G16);

	Lcd_G16_Bmp( 0, 0, 320, 320, acgirl34_320_320_G16 ) ;		//
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G16);

	Lcd_G16_Bmp( 0, 0, 320, 320, acsohu_320_320_G16 ) ;		//
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G16);

	Lcd_G16_Bmp( 0, 0, 240, 320, acHEBEN_240_320_G16 ) ;		//
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G16);

    Lcd_MoveViewPort(0,0,MODE_G16);
}
//***************************************************************************

/****************************************************************************
【功能说明】256色伪彩LCD测试
****************************************************************************/
void Test_LcdColor(void)
{
    int i, j, k ;

    Lcd_Init(MODE_COLOR);
    Lcd_DispON();
    Lcd_BlackLight_ON() ;
    Glib_Init(MODE_COLOR);
    Uart_Printf("\n\n256色彩屏测试!!!\n\n");

    Glib_ClearScr(0);
    k = 0 ;
    for( j = 0; j < SCR_YSIZE; j += 22 )
		for( i = 0; i < SCR_XSIZE; i += 22 )
		    Glib_FilledRectangle( i, j, i+21, j+21, (k++)%256 );
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_COLOR);
    Lcd_MoveViewPort(0,0,MODE_COLOR);

	Lcd_C256_Bmp( 0, 0, 320, 320, ac21IC_320_320_C256 ) ;		//paint bmp
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_COLOR);

	Lcd_C256_Bmp( 0, 0, 320, 320, acflower_320_320_C256 ) ;		//paint bmp
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_COLOR);

	Lcd_C256_Bmp( 0, 0, 320, 320, acgirl34_320_320_C256 ) ;		//paint bmp
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_COLOR);

	Lcd_C256_Bmp( 0, 0, 320, 320, acsohu_320_320_C256 ) ;		//paint bmp
    Uart_Printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_COLOR);

    Lcd_MoveViewPort(0,0,MODE_COLOR);
}
//***************************************************************************

/****************************************************************************
【功能说明】虚拟屏移动窗口
****************************************************************************/
void MoveViewPort(int depth)
{
    int vx=0,vy=0,vd;
    
    //vd=(depth==1)*16+(depth==4)*8+(depth==16)*4+(depth==256)*2;
    vd = 1 ;
    
    while(1)
    {
    	switch( Uart_Getch() )
    	{
    	case 'i':
	    if(vy>=vd)vy-=vd;    	   	
    	    break;
    	case 'j':
    	    if(vx>=vd)vx-=vd;
    	    break;
    	case 'k':
	    if(vx<=SCR_XSIZE-LCD_XSIZE-vd)vx+=vd;
    	    break;
    	case 'm':
	    if(vy<=(SCR_YSIZE-LCD_YSIZE-vd))vy+=vd;    	   	
    	    break;
    	case '\r':
    	    return;
    	default:
	    break;
	}
	
	Uart_Printf("vx=%3d,vy=%3d\n",vx,vy);
	Lcd_MoveViewPort(vx,vy,depth);
	
    }
}
//***************************************************************************

⌨️ 快捷键说明

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