📄 lcm5110.c
字号:
for(z=0;z<6;z++)
{
Lcd3310WriteByte(Font6x8[num+16][z],1); //NUMBER+16
}
}
//*************************************************************
//显示数字 (大型)
//*************************************************************
void LcdBigNumber(char x, char y, unsigned char num)
{
unsigned char z;
SetAddr(x,y); //定位
for(z=0;z<11;z++)
{
Lcd3310WriteByte(FONT_BIG_NUMBERS[num*11+z],1);
}
SetAddr(x,y+1); //定位
for(z=0;z<11;z++)
{
Lcd3310WriteByte(FONT_BIG_NUMBERS[num*11+z+121],1);
}
}
//*************************************************************
//显示冒号 (大字体)
//*************************************************************
void LcdBigDot(char x, char y)
{
unsigned char z;
SetAddr(x,y); //定位
for(z=0;z<9;z++)
{
Lcd3310WriteByte(FONT_BIG_DOT[z],1);
}
SetAddr(x,y+1); //定位
for(z=0;z<9;z++)
{
Lcd3310WriteByte(FONT_BIG_DOT[z+9],1);
}
}
//*************************************************************
//显示小数点 (大字体)
//*************************************************************
void LcdBigDot1(char x, char y)
{
unsigned char z;
SetAddr(x,y); //定位
for(z=0;z<9;z++)
{
Lcd3310WriteByte(FONT_BIG_DOT1[z],1);
}
SetAddr(x,y+1); //定位
for(z=0;z<9;z++)
{
Lcd3310WriteByte(FONT_BIG_DOT1[z+9],1);
}
}
//*************************************************************
//显示 V (大字体)
//*************************************************************
void LcdBigV(char x, char y)
{
unsigned char z;
SetAddr(x,y); //定位
for(z=0;z<10;z++)
{
Lcd3310WriteByte(FONT_BIG_V[z],1);
}
SetAddr(x,y+1); //定位
for(z=0;z<10;z++)
{
Lcd3310WriteByte(FONT_BIG_V[z+10],1);
}
}
//*************************************************************
//显示 空格 (大字体)
//*************************************************************
void LcdBigBlank(char x, char y, unsigned char width)
{
unsigned char z;
SetAddr(x,y); //定位
for(z=0;z<width;z++)
{
Lcd3310WriteByte(0x00,1);
}
SetAddr(x,y+1); //定位
for(z=0;z<width;z++)
{
Lcd3310WriteByte(0x00,1);
}
}
//***************************************************************
//写6X8标准字符
//****************************************************************
void LcdLetter(char x0,char y0, unsigned char letter)
{
unsigned char z;
SetAddr(x0,y0); //定位
for(z=0;z<6;z++)
{
Lcd3310WriteByte(Font6x8[letter-32][z],1); //ASCII-32
}
}
//***************************************************************
//反白写6X8标准字符
//****************************************************************
void LcdRevLetter(char x0,char y0, unsigned char letter)
{
unsigned char z;
SetAddr(x0,y0); //定位
for(z=0;z<6;z++)
{
Lcd3310WriteByte(~Font6x8[letter-32][z],1); //ASCII-32
}
}
//****************************************************************
//写3X8字符
//****************************************************************
void LcdLetter3x8(char x0,char y0, unsigned char letter)
{
unsigned char z;
SetAddr(x0,y0); //定位
for(z=0;z<3;z++)
{
Lcd3310WriteByte(Font3x8[letter][z],1); //ASCII-32
}
}
//******************************************************************
//写4X8字符
//******************************************************************
void LcdLetter4x8(char x0,char y0, unsigned char letter)
{
unsigned char z;
SetAddr(x0,y0); //定位
for(z=0;z<4;z++)
{
Lcd3310WriteByte(Font4x8[letter][z],1); //
DELAY(4);
}
}
//*******************************************************************
//写6X8C字符(摄氏度符号)
//*******************************************************************
void LcdLetter6x8C(char x0,char y0, unsigned char letter)
{
unsigned char z;
SetAddr(x0,y0); //定位
for(z=0;z<6;z++)
{
Lcd3310WriteByte(Font6x8C[letter][z],1); //
DELAY(4);
}
}
//***********************************************************************
//写一串字符(标准) 入口:X坐标,Y坐标 字符串名,字符串长度
//************************************************************************
void LcdString( char x, char y, unsigned char *pst)
{
//unsigned char i;
//Lcd3310WriteByte(0x0C,0); //设定显示模式,正常显示 D=1,E=0 (反白显示:0x0D,0)
while(*pst!='\0'){
LcdLetter(x,y,*pst);
x+=6;
pst++;
}
}
//***********************************************************************
//写一串字符(标准反白) 入口:X坐标,Y坐标 字符串名,字符串长度,反白标志位
//************************************************************************
void LcdRevString( char x, char y, unsigned char *pst, unsigned char rev)
{
//unsigned char i;
//Lcd3310WriteByte(0x0C,0); //设定显示模式,正常显示 D=1,E=0 (反白显示:0x0D,0)
while(*pst!='\0'){
if(rev)
LcdRevLetter(x,y,*pst);
else
LcdLetter(x,y,*pst);
x+=6;
pst++;
}
}
//*************************************************************
//显示温度数值
//**************************************************************
void LcdTemp( char x, char y, unsigned long n)
{
unsigned char d[7];
d[0]=0x30+(n/10000); if(d[0]==0x30)d[0]=0x20;
d[1]=0x30+(n%10000)/1000; //if(d[1]==0x30)d[0]=0x20;
d[2]=0x30+(n%1000)/100;
d[3]='.';
d[4]=0x30+(n%100)/10;
d[5]=0x30+(n%10);
d[6]=0;
LcdString(x,y,"Temp =");//9
LcdLetter3x8(x+24,y,1);
LcdString(x+36,y,d);//42
LcdLetter6x8C(x+74,y,0);//77
LcdLetter(x+77,y,'C');//78
}
//*************************************************************
//显示电压数值
//**************************************************************
void LcdVolt( char x, char y, unsigned long n)
{
unsigned char d[7];
d[0]=0x30+(n/10000); if(d[0]==0x30)d[0]=0x20;
d[1]=0x30+(n%10000)/1000; //if(d[1]==0x30)d[0]=0x20;
d[2]='.';
d[3]=0x30+(n%1000)/100;
d[4]=0x30+(n%100)/10;
d[5]=0x30+(n%10);
d[6]='\0';
LcdString(x,y,"Volt =");
LcdLetter3x8(x+24,y,1);
LcdString(x+36,y,d);
LcdLetter(x+75,y,'V');
}
//*************************************************************
//显示参数数值
//**************************************************************
void LcdPara( char x, char y, unsigned char *pst, unsigned long n)
{
unsigned char d[7];
d[0]=0x30+(n/10000); if(d[0]==0x30)d[0]=0x20;
d[1]=0x30+(n%10000)/1000; //if(d[1]==0x30)d[0]=0x20;
d[2]='.';
d[3]=0x30+(n%1000)/100;
d[4]=0x30+(n%100)/10;
d[5]=0x30+(n%10);
d[6]='\0';
LcdString(x,y, pst);
LcdLetter3x8(x+24,y,1);
LcdString(x+36,y,d);
LcdLetter(x+75,y,'V');
}
//*************************************************************
//大字显示电压数值
//**************************************************************
void LcdBigVolt(char y, unsigned long n)
{
unsigned char i,x=0,d[7];
d[0]=(n/10000); if(d[0]==0x0)d[0]=0x0a;
d[1]=(n%10000)/1000; //if(d[1]==0x30)d[0]=0x20;
d[2]='.';
d[3]=(n%1000)/100;
d[4]=(n%100)/10;
d[5]=(n%10);
d[6]='\0';
for(i=0;i<6;i++){
if(i==2)
{
LcdBigDot1(x,y);
x += 9;
}
else
{
LcdBigNumber(x,y,d[i]);
x += 11;
}
}
LcdBigBlank(x,y,4);
x += 4;
LcdBigV(x,y); //Display symbol 'V'
x += 10;
LcdBigBlank(x,y,6);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -