手上没有SD卡,不能安装字库,幸而只有几个汉字要显示,于是想到了直接对汉字取模,在调用显示取模汉字的函数来显示汉字即可,本文只举例显示16*16点整大小的汉字,对于其他大小,照例刨制即可。
一、复制写入这个函数
void Show_Chinese(u8 x,u16 y,u8 *font) //在x,y地址显示16*16点阵汉字
{
u8 temp,t,t1,c=1;
u16 y0=y;
if(c==1)
{
for(t=0;t<32;t++)
{
temp=*font++;
for(t1=0;t1<8;t1++)
{
if(temp&0x80)
LCD_Fast_DrawPoint(x,y,POINT_COLOR);
else if(1)
LCD_Fast_DrawPoint(x,y,BACK_COLOR);
temp<<=1;
y++;
if((y-y0)==16)
{
y=y0;
x++;
break;
}
}
}
c=2;
}
}
二、用文字取模软件将对应的汉字取模
1.在字符模式下对取模方式进行设置,逐列式,顺向,C51格式
2、写入显示的汉字,点击生成字模
例如:u8 que[32]={0x20,0x40,0x21,0x80,0x27,0xFE,0x3A,0x08,0x22,0x08,0x23,0xFC,0x04,0x01,0x08,0x06,0x17,0xF8,0xE4,0x90,0x24,0x90,0x27,0xFC,0x2C,0x92,0x34,0x91,0x07,0xFE,0x00,0x00};/“确”,0/
表示“确”;
三、调用函数
void Show_Chinese(100,10,que);
运行即可
手上没有SD卡,不能安装字库,幸而只有几个汉字要显示,于是想到了直接对汉字取模,在调用显示取模汉字的函数来显示汉字即可,本文只举例显示16*16点整大小的汉字,对于其他大小,照例刨制即可。
一、复制写入这个函数
void Show_Chinese(u8 x,u16 y,u8 *font) //在x,y地址显示16*16点阵汉字
{
u8 temp,t,t1,c=1;
u16 y0=y;
if(c==1)
{
for(t=0;t<32;t++)
{
temp=*font++;
for(t1=0;t1<8;t1++)
{
if(temp&0x80)
LCD_Fast_DrawPoint(x,y,POINT_COLOR);
else if(1)
LCD_Fast_DrawPoint(x,y,BACK_COLOR);
temp<<=1;
y++;
if((y-y0)==16)
{
y=y0;
x++;
break;
}
}
}
c=2;
}
}
二、用文字取模软件将对应的汉字取模
1.在字符模式下对取模方式进行设置,逐列式,顺向,C51格式
2、写入显示的汉字,点击生成字模
例如:u8 que[32]={0x20,0x40,0x21,0x80,0x27,0xFE,0x3A,0x08,0x22,0x08,0x23,0xFC,0x04,0x01,0x08,0x06,0x17,0xF8,0xE4,0x90,0x24,0x90,0x27,0xFC,0x2C,0x92,0x34,0x91,0x07,0xFE,0x00,0x00};/“确”,0/
表示“确”;
三、调用函数
void Show_Chinese(100,10,que);
运行即可
举报