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

📄 slib.c

📁 44b0控制16级灰度lcd的显示程序,有完整的启动代码
💻 C
📖 第 1 页 / 共 2 页
字号:
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
	0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x78,0x0c,0x7c,
	0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
	0x00,0x00,0xe0,0x60,0x60,0x78,0x6c,0x66,
	0x66,0x66,0x66,0xdc,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc0,
	0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x1c,0x0c,0x0c,0x3c,0x6c,0xcc,
	0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xfe,
	0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x38,0x6c,0x64,0x60,0xf0,0x60,
	0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,
	0xcc,0xcc,0xcc,0x7c,0x0c,0xcc,0x78,0x00,
	0x00,0x00,0xe0,0x60,0x60,0x6c,0x76,0x66,
	0x66,0x66,0x66,0xe6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,
	0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x06,0x06,0x00,0x0e,0x06,0x06,
	0x06,0x06,0x06,0x06,0x66,0x66,0x3c,0x00,
	0x00,0x00,0xe0,0x60,0x60,0x66,0x6c,0x78,
	0x78,0x6c,0x66,0xe6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,
	0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xec,0xfe,0xd6,
	0xd6,0xd6,0xd6,0xd6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,
	0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,
	0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,
	0x66,0x66,0x66,0x7c,0x60,0x60,0xf0,0x00,
	0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,
	0xcc,0xcc,0xcc,0x7c,0x0c,0x0c,0x1e,0x00,
	0x00,0x00,0x00,0x00,0x00,0xdc,0x76,0x62,
	0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0x60,
	0x38,0x0c,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x10,0x30,0x30,0xfc,0x30,0x30,
	0x30,0x30,0x36,0x1c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,
	0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,
	0x66,0x66,0x3c,0x18,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,
	0xd6,0xd6,0xfe,0x6c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xc6,0x6c,0x38,
	0x38,0x38,0x6c,0xc6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,
	0xc6,0xc6,0xc6,0x7e,0x06,0x0c,0xf8,0x00,
	0x00,0x00,0x00,0x00,0x00,0xfe,0xcc,0x18,
	0x30,0x60,0xc6,0xfe,0x00,0x00,0x00,0x00,
	0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
	0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
	0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
	0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
	0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,
	0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe
}; 

U16	Cursor = 0;		//定义光标 0~~600 以字符为单位
//***************************************************************************

/****************************************************************************
【功能说明】
****************************************************************************/
void Slib_Init(void)
{
	Cursor=0;
}
//***************************************************************************

/****************************************************************************
【功能说明】设置光标位置
****************************************************************************/
void Slib_SetCursor(U8 y,U8 x)
{
	Cursor=y*40+x;	
}
//***************************************************************************

/****************************************************************************
【功能说明】
****************************************************************************/
void Slib_PutChar(U8 y,U8 x,char *pchar)
{
	U8 temp_char;
	U8 i;
	
	temp_char=(unsigned char)*pchar;

	for (i=0;i<16;i++)
	{
		frameBuffer1[y*16+i][(unsigned char)(x/4)] &= ~((U32)(0xff << (8*(3-(x%4)))));
		frameBuffer1[y*16+i][(unsigned char)(x/4)] |= (Ascii[temp_char*16+i]) << (8*(3-(x%4)));
	}
}
//***************************************************************************

/****************************************************************************
【功能说明】
****************************************************************************/
void Slib_PutStr(char *pstr)
{
	U8 xx,yy;
	//U8 str;
  	while(*pstr)
  	{
  	//str=(unsigned char)*pstr;
  	if(*pstr=='\n')
  	{
  		Cursor=((U8)(Cursor/40)+1)*40;
  		pstr++;
  	}
  	xx=(U8)(Cursor%40);
  	yy=(U8)(Cursor/40);
  	
    Slib_PutChar(yy,xx,/*str*/pstr);
    pstr++;
    Cursor++;
    if(Cursor == 600)			//超出屏幕范围 15行 X 40个字符=600
    	Cursor=0;	
  	}
}
//***************************************************************************

/****************************************************************************
【功能说明】显示字符串
****************************************************************************/
void Slib_Printf(char *fmt,...) 
{
  va_list ap;
  char string[256];

  va_start(ap,fmt);
  vsprintf(string,fmt,ap);
  Slib_PutStr(string);
  va_end(ap);
  //Reflash_LCD();
}
//***************************************************************************

/****************************************************************************
【功能说明】清显示缓冲区
****************************************************************************/
void Slib_ClearScr(void)
{
    int i,j;

    for( j = 0; j < 240 ; j++ )
    {
        for( i = 0 ; i < 80 ; i++ )
        {
			frameBuffer1[j][i]=0x00000000;
        }
    }
}
//***************************************************************************

/****************************************************************************
【功能说明】
****************************************************************************/
void Slib_PutChar_Color(U8 y,U8 x,char *pchar,U8 C)
{
	U8 temp_char;
	U8 i,j;
	
	temp_char=(unsigned char)*pchar;
	
	for (i=0;i<16;i++)
	{
		for(j=0;j<8;j++)
		{
			frameBuffer1[y*16+i][(unsigned char)((x+j)/4)] &= ~((U32)(0xff << (8*(3-(x%4)))));
			if((Ascii[temp_char*16+i]&(0x80>>j))!=0)
			frameBuffer1[y*16+i][(unsigned char)((x+j)/4)] |= (C) << (8*(3-(x%4)));
		}
	}
}
//***************************************************************************

/****************************************************************************
【功能说明】
****************************************************************************/
void Slib_PutStr_Color(char *pstr,U8 color)
{
	U8 xx,yy;
	//U8 str;
  	while(*pstr)
  	{
	  	//str=(unsigned char)*pstr;
	  	if(*pstr=='\n')
	  	{
	  		Cursor=((U8)(Cursor/40)+1)*40;
	  		pstr++;
	  	}
	  	
	  	xx=(U8)(Cursor%40);
	  	yy=(U8)(Cursor/40);
	  	
	    Slib_PutChar_Color(yy,xx,/*str*/pstr,color);
	    pstr++;
	    Cursor++;
	    
	    if(Cursor == 600)			//超出屏幕范围 15行 X 40个字符=600
	    	Cursor=0;	
  	}
}
//***************************************************************************

⌨️ 快捷键说明

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