📄 19264a.h
字号:
if((lie+i)<=63)
{CS1=1;CS2=0;CS3=1;address(lie+i);}
else if((lie+i)>63&&(lie+i)<=127)
{CS1=1;CS2=1;CS3=0;address(lie+i-64);}
else if((lie+i)>127)
{CS1=0;CS2=1;CS3=1;address(lie+i-128);}
writelcd(DATA,tab[i*2+1+2]);
}
// CS1=0;CS2=0;
}
else if(Y>127)
{
lie=Y-128;
CS1=1;CS2=1;CS3=0;
for(i=0;i<flat1;i++)
{
page(hang);
if((lie+i)<=63)
{CS1=1;CS2=1;CS3=0;address(lie+i);}
else if((lie+i)>63&&(lie+i)<=127)
{CS1=0;CS2=1;CS3=1;address(lie+i-64);}
else if((lie+i)>127)
{CS1=1;CS2=0;CS3=1;address(lie+i-128);}
writelcd(DATA,tab[i*2+2]);
page(hang+1);
if((lie+i)<=63)
{CS1=1;CS2=1;CS3=0;address(lie+i);}
else if((lie+i)>63&&(lie+i)<=127)
{CS1=0;CS2=1;CS3=1;address(lie+i-64);}
else if((lie+i)>127)
{CS1=1;CS2=0;CS3=1;address(lie+i-128);}
writelcd(DATA,tab[i*2+1+2]);
}
// CS1=0;CS2=0;
}
}
}
/**********************************图形显示***********************************/
void display_picture(unsigned char X,unsigned char Y,unsigned char *tab)
{
unsigned char i,j;
unsigned char flat1,flat2,hang,lie;
flat1=tab[0]; //列宽
flat2=tab[1]/8;
if(tab[1]%8) flat2++; //行数
for(i=Y;i<Y+flat1;i++) //写列
{
if(i<=63) //行显示处理
{
lie=i;
CS1=0;CS2=1;CS3=1;
for(j=X;j<flat2+X;j++)
{
hang=j%8;
page(hang);
address(lie);
writelcd(DATA,tab[(i-Y)*flat2+j-X+2]);
}
}
else if(i>63&&i<=127)
{
lie=i-64;
CS1=1;CS2=0;CS3=1;
for(j=X;j<flat2+X;j++)
{
hang=j%8;
page(hang);
address(lie);
writelcd(DATA,tab[(i-Y)*flat2+j-X+2]);
}
}
else if(i>127)
{
lie=i-128;
CS1=1;CS2=1;CS3=0;
for(j=X;j<flat2+X;j++)
{
hang=j%8;
page(hang);
address(lie);
writelcd(DATA,tab[(i-Y)*flat2+j-X+2]);
}
}
}
CS1=0;CS2=0;CS3=0;
}
/*********************************汉字显示函数****************************************/
/*****************************屏幕的左右与正面对自己的左右相反************************/
/*****************************调试时程序下载完,要拔下载线,单片机复位,否则可能双屏或重叠显示*/
void display_hanzi(unsigned char X,unsigned char Y,unsigned char *tab)
{
unsigned char i;
if(Y<63)
{
CS1=0;CS2=1;CS3=1;
for(i=0;i<16;i++)
{
page(X);
address(Y+i);
writelcd(DATA,tab[i*2]);
page(X+1);
address(Y+i);
writelcd(DATA,tab[i*2+1]);
}
}
else if(Y>=63&&Y<127)
{
Y=Y-64;
CS1=1;CS2=0;CS3=1;
for(i=0;i<16;i++)
{
page(X);
address(Y+i);
writelcd(DATA,tab[i*2]);
page(X+1);
address(Y+i);
writelcd(DATA,tab[i*2+1]);
}
}
else if(Y>=127)
{
Y=Y-127;
CS1=1;CS2=1;CS3=0;
for(i=0;i<16;i++)
{
page(X);
address(Y+i);
writelcd(DATA,tab[i*2]);
page(X+1);
address(Y+i);
writelcd(DATA,tab[i*2+1]);
}
}
}
/***********************************单个字符或数字显示函数*********************************/
void display_char(unsigned char X,unsigned char Y,unsigned char *tab)
{
unsigned char i;
if(Y<63)
{
CS1=0;CS2=1;CS3=1;
for(i=0;i<8;i++)
{
page(X);
address(Y+i);
writelcd(DATA,tab[i*2]);
page(X+1);
address(Y+i);
writelcd(DATA,tab[i*2+1]);
}
}
else if(Y>=63&&Y<127)
{
Y=Y-64;
CS1=1;CS2=0;CS3=1;
for(i=0;i<8;i++)
{
page(X);
address(Y+i);
writelcd(DATA,tab[i*2]);
page(X+1);
address(Y+i);
writelcd(DATA,tab[i*2+1]);
}
}
else if(Y>=127)
{
Y=Y-127;
CS1=1;CS2=1;CS3=0;
for(i=0;i<8;i++)
{
page(X);
address(Y+i);
writelcd(DATA,tab[i*2]);
page(X+1);
address(Y+i);
writelcd(DATA,tab[i*2+1]);
}
}
}
/***********************************显示启示位置固定的整形数据*************************/
void display_longint(unsigned char X,unsigned char Y,unsigned long int input)
{
unsigned char j=0,k,flag;
unsigned long int temp=2,temp1=1;
lenth1=0;
temp=input;
if(temp!=0)
{
while(temp!=0)
{
temp=temp/10;
lenth1++;
}
temp=input;
for(j=lenth1;j>1;j--)
{
for(k=j;k>1;k--)
{temp1=temp1*10;}
flag=temp/temp1;
temp=temp%temp1;
temp1=1;
display_char(X,Y+(lenth1-j)*8,chargroup[flag]);
}
display_char(X,Y+(lenth1-j)*8,chargroup[temp]);
}
else
display_char(X,Y,chargroup[temp]);
}
/*************************变化整型数据显示******显示结束位置固定***************/
void PrintIntUndefine(unsigned char X,unsigned char Y,unsigned long int input)
{
unsigned char j=0,flag;
unsigned long int temp;
lenth2=0;
temp=input;
if(temp!=0)
{
while(temp!=0)
{
temp=temp/10;
lenth2++;
}
temp=input;
for(j=lenth2;j>1;j--)
{
flag=temp%10;
temp=temp/10;
display_char(X,Y-(lenth2-j)*8,chargroup[flag]);
}
display_char(X,Y-(lenth2-j)*8,chargroup[temp]);
}
else display_char(X,Y,chargroup[temp]);
}
/***********************************初始化函数*****************************************/
void intital()
{
RST=0;
delay1ms(1);
RST=1;
delay1ms(1);
clearscreen(); //先清屏,再开显示,显示效果更好,
display_on(D); //单片机复位不影响显示
CS1=1;CS2=0;CS3=0;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -