📄 lcd.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 + -