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

📄 lq12864.c

📁 智能车源程序参考
💻 C
📖 第 1 页 / 共 3 页
字号:
	LCD_DLY_ms(20); 	
	LCD_WrCmd(0xaf);	//0xaf  LCD On
	LCD_WrCmd(0x2f);	//0x2f  设置上电控制模式  	
	LCD_WrCmd(0x81);	//0x81  电量设置模式(显示亮度)
	LCD_WrCmd(0x1a);	//指令数据0x0000~0x003f  	
	LCD_WrCmd(0x24);	//0x24  V5内部电压调节电阻设置
	LCD_WrCmd(0xa2);	//0xa2 5V,0xa1 3V3     LCD偏压设置   	
	LCD_WrCmd(0xc8);	//0xc8 正常,0xc0 倒置  Com 扫描方式设置
	LCD_WrCmd(0xa0);	//0xa0 正常,0xa1 反向  Segment方向选择
	LCD_WrCmd(0xa4);	//0xa4  全屏点亮/变暗指令
	LCD_WrCmd(0xa6);	//0xa6  正向反向显示控制指令   	
	LCD_WrCmd(0xac);	//0xac  关闭静态指示器
	LCD_WrCmd(0x00);	//指令数据    	
	LCD_WrCmd(0x40+32);	//0x40+32	设置显示起始行对应RAM
	LCD_Fill(0x00);  //初始清屏
	LCD_Set_Pos(0,0); 
	
} 
//==============================================================
//函数名: void LCD_PutPixel(U8 x,U8 y)
//功能描述:绘制一个点(x,y)
//参数:真实坐标值(x,y),x的范围0~127,y的范围0~64
//返回:无
//==============================================================
void LCD_PutPixel(U8 x,U8 y)
{
	U8 data1;  //data1当前点的数据 
	 
  LCD_Set_Pos(x,y); 
	data1 = 0x01<<(y%8); 	
	LCD_WrCmd(0xb0+(y>>3));
	LCD_WrCmd(((x&0xf0)>>4)|0x10);
	LCD_WrCmd((x&0x0f)|0x00);
	LCD_WrDat(data1); 	 	
}
//==============================================================
//函数名: void LCD_Rectangle(U8 x1,U8 y1,
//                   U8 x2,U8 y2,U8 color,U8 gif)
//功能描述:绘制一个实心矩形
//参数:左上角坐标(x1,y1),右下角坐标(x2,y2)
//      其中x1、x2的范围0~127,y1,y2的范围0~63,即真实坐标值
//返回:无
//==============================================================
void LCD_Rectangle(U8 x1,U8 y1,U8 x2,U8 y2,U8 gif)
{
	U8 n; 
		
	LCD_Set_Pos(x1,y1>>3);
	for(n=x1;n<=x2;n++)
	{
		LCD_WrDat(0x01<<(y1%8)); 			
		if(gif == 1) 	LCD_DLY_ms(50);
	}  
	LCD_Set_Pos(x1,y2>>3);
  for(n=x1;n<=x2;n++)
	{
		LCD_WrDat(0x01<<(y2%8)); 			
		if(gif == 1) 	LCD_DLY_ms(5);
	}
	
}  
//==============================================================
//函数名:LCD_P6x8Str(U8 x,U8 y,U8 *p)
//功能描述:写入一组标准ASCII字符串
//参数:显示的位置(x,y),y为页范围0~7,要显示的字符串
//返回:无
//==============================================================  
void LCD_P6x8Str(U8 x,U8 y,U8 ch[])
{
  U8 c=0,i=0,j=0;      
  while (ch[j]!='\0')
  {    
    c =ch[j]-32;
    if(x>122){x=0;y++;}
    LCD_Set_Pos(x,y);    
  	for(i=0;i<6;i++)     
  	  LCD_WrDat(F6x8[c][i]);  
  	x+=6;
  	j++;
  }
}
//==============================================================
//函数名:LCD_P8x16Str(U8 x,U8 y,U8 *p)
//功能描述:写入一组标准ASCII字符串
//参数:显示的位置(x,y),y为页范围0~7,要显示的字符串
//返回:无
//==============================================================  
void LCD_P8x16Str(U8 x,U8 y,U8 ch[])
{
  U8 c=0,i=0,j=0;
        
  while (ch[j]!='\0')
  {    
    c =ch[j]-32;
    if(x>120){x=0;y++;}
    LCD_Set_Pos(x,y);    
  	for(i=0;i<8;i++)     
  	  LCD_WrDat(F8X16[c*16+i]);
  	LCD_Set_Pos(x,y+1);    
  	for(i=0;i<8;i++)     
  	  LCD_WrDat(F8X16[c*16+i+8]);  
  	x+=8;
  	j++;
  }
}
//输出汉字字符串
void LCD_P14x16Str(U8 x,U8 y,U8 ch[])
{
	U8 wm=0,ii = 0;
	U16 adder=1; 
	
	while(ch[ii] != '\0')
	{
  	wm = 0;
  	adder = 1;
  	while(F14x16_Idx[wm] > 127)
  	{
  		if(F14x16_Idx[wm] == ch[ii])
  		{
  			if(F14x16_Idx[wm + 1] == ch[ii + 1])
  			{
  				adder = wm * 14;
  				break;
  			}
  		}
  		wm += 2;			
  	}
  	if(x>114){x=0;y++;}
  	LCD_Set_Pos(x , y); 
  	if(adder != 1)// 显示汉字					
  	{
  		LCD_Set_Pos(x , y);
  		for(wm = 0;wm < 14;wm++)               
  		{
  			LCD_WrDat(F14x16[adder]);	
  			adder += 1;
  		}      
  		LCD_Set_Pos(x,y + 1); 
  		for(wm = 0;wm < 14;wm++)          
  		{
  			LCD_WrDat(F14x16[adder]);
  			adder += 1;
  		}   		
  	}
  	else			  //显示空白字符			
  	{
  		ii += 1;
      LCD_Set_Pos(x,y);
  		for(wm = 0;wm < 16;wm++)
  		{
  				LCD_WrDat(0);
  		}
  		LCD_Set_Pos(x,y + 1);
  		for(wm = 0;wm < 16;wm++)
  		{   		
  				LCD_WrDat(0);	
  		}
  	}
  	x += 14;
  	ii += 2;
	}
}
//输出汉字和字符混合字符串
void LCD_Print(U8 x, U8 y, U8 ch[])
{
	U8 ch2[3];
	U8 ii=0;        
	while(ch[ii] != '\0')
	{
		if(ch[ii] > 127)
		{
			ch2[0] = ch[ii];
	 		ch2[1] = ch[ii + 1];
			ch2[2] = '\0';			//汉字为两个字节
			LCD_P14x16Str(x , y, ch2);	//显示汉字
			x += 14;
			ii += 2;
		}
		else
		{
			ch2[0] = ch[ii];	
			ch2[1] = '\0';			//字母占一个字节
			LCD_P8x16Str(x , y , ch2);	//显示字母
			x += 8;
			ii+= 1;
		}
	}
} 

//==============================================================
//函数名: void Draw_BMP(U8 x,U8 y)
//功能描述:显示BMP图片128×64
//参数:起始点坐标(x,y),x的范围0~127,y为页的范围0~7
//返回:无
//==============================================================
void Draw_BMP(U8 x0,U8 y0,U8 x1,U8 y1,U8 bmp[])
{ 	
  U16 ii=0;
  U8 x,y;
  
  if(y1%8==0) y=y1/8;      
  else y=y1/8+1;
	for(y=y0;y<=y1;y++)
	{
		LCD_Set_Pos(x0,y);				
    for(x=x0;x<x1;x++)
	    {      
	    	LCD_WrDat(bmp[ii++]);	    	
	    }
	}
}
void Draw_LQLogo(void)
{ 	
  U16 ii=0;
  U8 x,y;       
  
	for(y=0;y<8;y++)
	{
		LCD_Set_Pos(16,y);				
    for(x=16;x<112;x++)
	    {      
	    	LCD_WrDat(longqiu96x64[ii++]);	    	
	    }
	}
} 
void Draw_LibLogo(void)
{ 	
  U16 ii=0;
  U8 x,y;       
  
	for(y=0;y<8;y++)
	{
		LCD_Set_Pos(34,y);				
    for(x=34;x<94;x++)
	    {      
	    	LCD_WrDat(LIBLOGO60x58[ii++]);	    	
	    }
	}
} 

⌨️ 快捷键说明

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