📄 lcd1.c
字号:
}
else
{
Dis_Data[Counter+1]='+';
Dis_Data[Counter+2]='0';
Dis_Data[Counter+3]='0';
}
for (Counter=0;Counter<Dot_Bit+6;Counter++)
Lcd_Character(Row,Column++,Dis_Data[Counter]);
}
/*==============================================*/
/************************************************/
/* */
/* Lcd_Int: 显示整型数子程序 */
/* (8x8点阵) */
/* Row: 行坐标<0-29(240/8-1)> */
/* Column: 列坐标<0-39(320/8-1)> */
/* Int_Data: 实型数 */
/* */
/************************************************/
void Lcd_Int(unsigned int Row,unsigned int Column,long int Int_Data)
{
int Dis_Data[15]; /* Int Max(16Bit)=32768 */
int Counter=1;
long int temp;
if (Int_Data<0)
{
Int_Data=-1*Int_Data;
Dis_Data[0]='-';
Counter=1;
}
else if(Int_Data>0)
{
Dis_Data[0]=' ';
Counter=1;
}
else
{
Dis_Data[0]=' ';
Dis_Data[1]='0';
Counter=2;
}
for (;Int_Data>0;Counter++)
{
temp=Int_Data;
Int_Data=Int_Data/10;
Dis_Data[Counter]=0x30+(temp-Int_Data*10);
}
Lcd_Character(Row,Column,Dis_Data[0]);
for (;Counter>1;Counter--)
{
Lcd_Character(Row,++Column,Dis_Data[Counter-1]);
}
}
/*==============================================*/
/************************************************/
/* */
/* Lcd_Real8x16: 显示实型数子程序 */
/* (8x16点阵) */
/* Row: 行坐标<0-29(240/8-1)> */
/* Column: 列坐标<0-39(320/8-1)> */
/* Real_Data: 实型数 */
/* Dot_Bit: 显示有效位数 */
/* */
/************************************************/
void Lcd_Real8x16(unsigned int Row,unsigned int Column,double Real_Data,unsigned int Dot_Bit,unsigned int Flag)
{
int Dis_Data[20];
int Counter=1;
int Dot_Flag=0;
pointer *Data_Add;
if (Real_Data<0)
{
Dis_Data[0]='-';
Real_Data=fabs(Real_Data);
}
else Dis_Data[0]=' ';
while (Real_Data>=10.0)
{
Real_Data=Real_Data/10.0;
Dot_Flag++;
Counter=1;
}
while (Real_Data<1)
{
Real_Data=Real_Data*10.0;
Dis_Data[1]='0';
Dis_Data[2]='.';
Counter=3-Dot_Flag;
Dis_Data[Counter]='0';
Dot_Flag--;
}
for (Counter=Counter;Counter<=(Dot_Bit+1);Counter++)
{
Dis_Data[Counter]=(int)Real_Data+0x30;
Real_Data=(Real_Data-(Dis_Data[Counter]-0x30))*10.0;
if (Dot_Flag==0)
{
Counter=Counter+1;
Dis_Data[Counter]='.';
}
Dot_Flag--;
}
for (Counter=0;Counter<Dot_Bit+2;Counter++)
{
Data_Add=Ascii+((Dis_Data[Counter]-0x20)<<4);
Lcd_Cctw(Row,Column,8,16,Data_Add,Flag);
Column++;
}
}
/*==============================================*/
/************************************************/
/* */
/* Lcd_Exp8x16: 科学计数法显示实型数 */
/* 子程序(8x16点阵) */
/* Row: 行坐标<0-29(240/8-1)> */
/* Column: 列坐标<0-39(320/8-1)> */
/* Real_Data: 实型数 */
/* Dot_Bit: 显示有效位数 */
/* */
/************************************************/
void Lcd_Exp8x16(unsigned int Row,unsigned int Column,double Real_Data,unsigned int Dot_Bit,unsigned int Flag)
{
int Dis_Data[20];
int Counter=1;
int Dot_Flag=0;
pointer *Data_Add;
if (Real_Data<0)
{
Dis_Data[0]='-';
Real_Data=fabs(Real_Data);
}
else Dis_Data[0]=' ';
while (Real_Data>=10.0)
{
Real_Data=Real_Data/10.0;
Dot_Flag++;
}
while (Real_Data<1)
{
Real_Data=Real_Data*10.0;
Dot_Flag--;
}
for (Counter=1;Counter<=(Dot_Bit+1);Counter++)
{
Dis_Data[Counter]=(int)Real_Data+0x30;
Real_Data=(Real_Data-(Dis_Data[Counter]-0x30))*10.0;
if (Counter==1)
{
Counter=Counter+1;
Dis_Data[Counter]='.';
}
}
Dis_Data[Counter]='e';
if (Dot_Flag<0)
{
Dot_Flag=-1*Dot_Flag;
Dis_Data[Counter+1]='-';
Dis_Data[Counter+2]=Dot_Flag/10+0x30;
Dis_Data[Counter+3]=Dot_Flag-(Dot_Flag/10*10)+0x30;
}
else if (Dot_Flag>0)
{
Dis_Data[Counter+1]='+';
Dis_Data[Counter+2]=Dot_Flag/10+0x30;
Dis_Data[Counter+3]=Dot_Flag-(Dot_Flag/10*10)+0x30;
}
else
{
Dis_Data[Counter+1]='+';
Dis_Data[Counter+2]='0';
Dis_Data[Counter+3]='0';
}
for (Counter=0;Counter<Dot_Bit+6;Counter++)
{
Data_Add=Ascii+((Dis_Data[Counter]-0x20)<<4);
Lcd_Cctw(Row,Column,8,16,Data_Add,Flag);
Column++;
}
}
/*==============================================*/
/************************************************/
/* */
/* Lcd_Int8x16: 显示整型数子程序 */
/* (8x8点阵) */
/* Row: 行坐标<0-29(240/8-1)> */
/* Column: 列坐标<0-39(320/8-1)> */
/* Int_Data: 实型数 */
/* */
/************************************************/
void Lcd_Int8x16(unsigned int Row,unsigned int Column,long int Int_Data,unsigned int Flag)
{
int Dis_Data[15]; /* Int Max(16Bit)=32768 */
int Counter=1;
long int temp;
pointer *Data_Add;
if (Int_Data<0)
{
Int_Data=-1*Int_Data;
Dis_Data[0]='-';
Counter=1;
}
else if(Int_Data>0)
{
Dis_Data[0]=' ';
Counter=1;
}
else
{
Dis_Data[0]=' ';
Dis_Data[1]='0';
Counter=2;
}
for (;Int_Data>0;Counter++)
{
temp=Int_Data;
Int_Data=Int_Data/10;
Dis_Data[Counter]=0x30+(temp-Int_Data*10);
}
Data_Add=Ascii+((Dis_Data[0]-0x20)<<4);
Lcd_Cctw(Row,Column++,8,16,Data_Add,Flag);
for (;Counter>1;Counter--)
{
Data_Add=Ascii+((Dis_Data[Counter-1]-0x20)<<4);
Lcd_Cctw(Row,Column,8,16,Data_Add,Flag);
Column++;
}
}
/*输出8x16点阵字符*/
void Lcd_Out8x16(unsigned int Row,unsigned int Column,pointer *Data_Add,unsigned int Flag)
{
Lcd_Cctw(Row,Column,8,16,Data_Add,Flag);
}
/*输出16x16点阵字符*/
void Lcd_Out16x16(unsigned int Row,unsigned int Column,pointer *Data_Add,unsigned int Flag)
{
Lcd_Cctw(Row,Column,16,16,Data_Add,Flag);
}
/*输出16x32点阵字符*/
void Lcd_Out16x32(unsigned int Row,unsigned int Column,pointer *Data_Add,unsigned int Flag)
{
Lcd_Cctw(Row,Column,16,32,Data_Add,Flag);
}
/*输出24x24点阵字符*/
void Lcd_Out24x24(unsigned int Row,unsigned int Column,pointer *Data_Add,unsigned int Flag)
{
Lcd_Cctw(Row,Column,24,24,Data_Add,Flag);
}
/*输出32x32点阵字符*/
void Lcd_Out32x32(unsigned int Row,unsigned int Column,pointer *Data_Add,unsigned int Flag)
{
Lcd_Cctw(Row,Column,32,32,Data_Add,Flag);
}
/*==============================================*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -