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

📄 lcd.c

📁 本程序是FS44B0XII V3.00开发板C57和G57液晶屏套件程序
💻 C
字号:
#include "44b.h"
#include "def.h"
#include "option.h"
#include "utils.h"

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

#include <stdarg.h>

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

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

/****************************************************************************
【功能说明】
****************************************************************************/
void Test_LcdStr(void)
{
	Lcd_Init(MODE_MONO);
    Lcd_DispON();
    Lcd_BlackLight_ON() ;
    Glib_Init(MODE_MONO);
    Glib_ClearScr(0);

	Slib_ClearScr();
	Slib_Init();

    printf("\n\nLCD屏幕输出字符测试!!!\n\n");

	Slib_Printf(  "LCD-TEST:www.ucdragon.com - 0");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 1");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 2");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 3");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 4");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 5");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 6");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 7");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 8");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 9");
	
    printf("Press any key to continue !\n");   getchar();  	
	
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 10");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 11");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 12");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 13");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 14");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 15");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 16");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 17");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 18");
	Slib_Printf("\nLCD-TEST:www.ucdragon.com - 19");

    printf("Press any key to continue !\n");   getchar();  	
	
    printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_MONO);

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

/****************************************************************************
【功能说明】
****************************************************************************/
void Test_LcdMono(void)
{
    int i,j;
    
    Lcd_Init(MODE_MONO);
    Lcd_DispON();
    Lcd_BlackLight_ON() ;
    Glib_Init(MODE_MONO);
    
    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 );
    printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_MONO);
   
	Lcd_Mono_Bmp( 0, 0, 320, 320, children_320_320_mono ) ;		//
    printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_MONO);

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

/****************************************************************************
【功能说明】
****************************************************************************/
void Test_LcdG4(void)
{
	int i,j ;
	
    Lcd_Init(MODE_G4);
    Lcd_DispON();
    Lcd_BlackLight_ON() ;
    Glib_Init(MODE_G4);
    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 );
    printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G4);
    Lcd_MoveViewPort(0,0,MODE_G4);
   
	Lcd_G4_Bmp( 0, 0, 320, 320, ac21IC_320_320_G4 ) ;		//
    printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G4);
    
	Lcd_G4_Bmp( 0, 0, 320, 320, acsohu_320_320_G4 ) ;		//
    printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G4);
    
    Lcd_MoveViewPort(0,0,MODE_G4);
}
//***************************************************************************

/****************************************************************************
【功能说明】
****************************************************************************/
void Test_LcdG16(void)
{
    int i, j ;
    int k = 0 ;

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

    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) );
    printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_G16);
    Lcd_MoveViewPort(0,0,MODE_G16);

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

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

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

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

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

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

/****************************************************************************
【功能说明】
****************************************************************************/
void Test_LcdColor(void)
{
    int i, j, k ;

    Lcd_Init(MODE_COLOR);
    Lcd_DispON();
    Lcd_BlackLight_ON() ;
    Glib_Init(MODE_COLOR);
    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 );
    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
    printf("虚拟屏测试,按ijkm进行屏幕画面移动!回车退出!!!\n");
    MoveViewPort(MODE_COLOR);

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

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

	Lcd_C256_Bmp( 0, 0, 320, 320, acsohu_320_320_C256 ) ;		//paint bmp
    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(getchar())
    	{
    	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;
	}
	
	printf("vx=%3d,vy=%3d\n",vx,vy);
	Lcd_MoveViewPort(vx,vy,depth);
	
    }
}
//***************************************************************************

⌨️ 快捷键说明

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