📄 lcm.c
字号:
{
if(*z==yw16x8zk[k].index[0])
{
findflag=1;
for(i=0;i<=1;i++)
{
x=x3;
for(j=0;j<=7;j++)
{
if(x<64)
{
y2=(y+i)|0xb8; //y2为写入到lcd的命令字,用来设置行号
Wr_Com_LCD_Left(y2);
x2=x|0x40; //x2为写入到lcd的命令字,用来设置列号
Wr_Com_LCD_Left(x2);
d=yw16x8zk[k].ywdot[i+2*j];
Wr_Data_LCD_Left(d);
}
if(x >= 64 && x < 128)
{
y2=(y+i)|0xb8; //y2为写入到lcd的命令字,用来设置行号
Wr_Com_LCD_Middle(y2);
x2 = (x - 64 ) | 0x40; //x2为写入到lcd的命令字,用来设置列号
Wr_Com_LCD_Middle(x2);
d=yw16x8zk[k].ywdot[i+2*j];
Wr_Data_LCD_Middle(d);
}
if(x >= 128)
{
y2=(y+i)|0xb8; //y2为写入到lcd的命令字,用来设置行号
Wr_Com_LCD_Right(y2);
x2 = (x - 128) | 0x40;
Wr_Com_LCD_Right(x2);
d=yw16x8zk[k].ywdot[i+2*j];
Wr_Data_LCD_Right(d);
}
x++;
}
}
}
k++;
}
if(findflag==0)
{
//如果找不到这个字模则会显示黑框
for(i=0;i<=1;i++)
{
x=x3;
for(j=0;j<=7;j++)
{
if(x<64)
{
y2=(y+i)|0xb8; //y2为写入到lcd的命令字,用来设置行号
Wr_Com_LCD_Left(y2);
x2=x | 0x40; //x2为写入到lcd的命令字,用来设置列号
Wr_Com_LCD_Left(x2);
Wr_Data_LCD_Left(0xff);
}
if(x >= 64 && x < 128)
{
y2=(y+i)|0xb8; //y2为写入到lcd的命令字,用来设置行号
Wr_Com_LCD_Middle(y2);
x2 = (x - 64) | 0x40; //x2为写入到lcd的命令字,用来设置列号
Wr_Com_LCD_Middle(x2);
Wr_Data_LCD_Middle(0xff);
}
if(x >= 128 )
{
y2=(y+i)|0xb8; //y2为写入到lcd的命令字,用来设置行号
Wr_Com_LCD_Right(y2);
x2=(x - 128) | 0x40;
Wr_Com_LCD_Right(x2);
Wr_Data_LCD_Right(0xff);
}
x++;
}
}
}
}
///////////////////////////////////////
void wryw16x8_string(uint8 x,uint8 y,char *z,uint8 length)
{
uint8 i;
for(i=0;i<length;i++)
{
wryw16x8(x+i,y,(z+i));
}
}
/**********************************************************************************************************
*函数名:wryw16x8s
*功能描述:写16x8的字
*调用函数:无
*全局变量:无
*输入:无
*返回:无
*设计者:潘江长 日期:2006.1.11
*修改者:潘妙青 日期:2008.2.23
*版本:
***********************************************************************************************************/
void wryw16x8s(uint8 x,uint8 y,uint8 z)
{
uint8 i,j;
uint8 x2,x3,y2;
uint8 d;
x2=0;
y2=0;
d=0;
x=x*8;
y=y*2;
x3=x; //下面的循环体实现在字库中搜索对应的点阵
for(i=0;i<=1;i++)
{
x=x3;
for(j=0;j<=7;j++)
{
if(x<64)
{
y2=(y+i)|0xb8; //y2为写入到lcd的命令字,用来设置行号
Wr_Com_LCD_Left(y2);
x2=x|0x40; //x2为写入到lcd的命令字,用来设置列号
Wr_Com_LCD_Left(x2);
d = yw16x8zk[z].ywdot[i+2*j];
Wr_Data_LCD_Left(d);
}
if(x >= 64 && x < 128)
{
y2=(y+i)|0xb8; //y2为写入到lcd的命令字,用来设置行号
Wr_Com_LCD_Middle(y2);
x2= (x - 64) | 0x40; //x2为写入到lcd的命令字,用来设置列号
Wr_Com_LCD_Middle(x2);
d = yw16x8zk[z].ywdot[i+2*j];
Wr_Data_LCD_Middle(d);
}
if(x >= 128)
{
y2=(y+i)|0xb8; //y2为写入到lcd的命令字,用来设置行号
Wr_Com_LCD_Right(y2);
x2 = (x - 128)|0x40;
Wr_Com_LCD_Right(x2);
d=yw16x8zk[z].ywdot[i+2*j];
Wr_Data_LCD_Right(d);
}
x++;
}
}
}
void wryw16x8_2wei(uint8 x,uint8 y,uint8 z)
{
if(z<100)
{
wryw16x8s(x,y,z/10);
wryw16x8s(x+1,y,z%10);
}
}
void wryw16x8_3wei(uint8 x,uint8 y,uint8 z)
{
wryw16x8s(x,y,z/100);
wryw16x8s(x+1,y,(z-((z/100)*100))/10);
wryw16x8s(x+2,y,z%10);
}
/**********************************************************************************************************
*函数名:gbset
*功能描述:设置选项里使用的光标显示
*调用函数:无
*全局变量:无
*输入:无
*返回:无
*设计者:潘江长 日期:2006.1.11
*修改者: 日期:
*版本:
***********************************************************************************************************/
void wryw16x8_4wei(unsigned char x,unsigned char y,uint16 z)
{
uint16 uiWan;
uint16 uiQian;
uint16 uiBai;
uint16 uiShi;
uint16 uiGe;
uiWan=z/10000;
uiQian=(z-(uiWan*10000))/1000;
uiBai=(z-uiWan*10000-uiQian*1000)/100;
uiShi=(z-uiWan*10000-uiQian*1000-uiBai*100)/10;
uiGe=(z-uiWan*10000-uiQian*1000-uiBai*100)%10;
wryw16x8s(x+0,y,uiQian);
wryw16x8s(x+1,y,uiBai);
wryw16x8s(x+2,y,uiShi);
wryw16x8s(x+3,y,uiGe);
}
void wryw16x8_5wei(uint8 x,uint8 y,uint32 z)
{
uint32 uiWan;
uint32 uiQian;
uint32 uiBai;
uint32 uiShi;
uint32 uiGe;
uiWan=z/10000;
uiQian=(z-(uiWan*10000))/1000;
uiBai=(z-uiWan*10000-uiQian*1000)/100;
uiShi=(z-uiWan*10000-uiQian*1000-uiBai*100)/10;
uiGe=(z-uiWan*10000-uiQian*1000-uiBai*100)%10;
wryw16x8s(x,y,uiWan);
wryw16x8s(x+1,y,uiQian);
wryw16x8s(x+2,y,uiBai);
wryw16x8s(x+3,y,uiShi);
wryw16x8s(x+4,y,uiGe);
}
void ShowData_UINT32_(uint8 x,uint8 y,uint32 d)
{
uint8 ShiYi;
uint8 Yi;
uint8 QianWai;
uint8 BaiWai;
uint8 ShiWai;
uint8 Wai;
uint8 Qian;
uint8 Bai;
uint8 Shi;
uint8 Ge;
ShiYi=d/1000000000 ;
Yi=(d%1000000000)/100000000;
QianWai=(d%100000000)/10000000;
BaiWai=(d%10000000)/1000000;
ShiWai=(d%1000000)/100000;
Wai=(d%100000)/10000;
Qian=(d%10000)/1000;
Bai=(d%1000)/100;
Shi=(d%100)/10;
Ge=d%10;
wryw16x8s(x,y,ShiYi);
wryw16x8(x+1,y,"@");
wryw16x8s(x+2,y,Yi);
wryw16x8s(x+3,y,QianWai);
wryw16x8s(x+4,y,BaiWai);
wryw16x8(x+5,y,"@");
wryw16x8s(x+6,y,ShiWai);
wryw16x8s(x+7,y,Wai);
wryw16x8s(x+8,y,Qian);
wryw16x8(x+9,y,"@");
wryw16x8s(x+10,y,Bai);
wryw16x8s(x+11,y,Shi);
wryw16x8s(x+12,y,Ge);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -