[mw_shl_code=c,true]#define HZ_COLUMN 32 //汉字字体大小
#define HZ_CNT 20 //字库汉字个数
[/mw_shl_code]
[mw_shl_code=c,true][/mw_shl_code]
[mw_shl_code=c,true]typedef struct typFNT_GB32 /*32*32 汉字字模显示数据结构 */
{
char Index[2];
char Msk[128];
}typFNT_GB32;[/mw_shl_code]
[mw_shl_code=c,true]const struct typFNT_GB32 HzLib[] = { [/mw_shl_code]
[mw_shl_code=c,true]"正",
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,
0x00,0x00,0x00,0x38,0x07,0xFF,0xFF,0xFC,0x00,0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,
0x00,0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,
0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0,0x60,0x00,0xC0,0xFF,0xF0,
0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0,0x00,
0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0,0x00,
0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0,0x10,0x00,0xC0,0xC0,0x38,
0x3F,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//正0
}
[/mw_shl_code]
[mw_shl_code=c,true]void DrawSingleHz(u16 x, u16 y, u8 *pHz, u16 LineColor,u16 FillColor, u8 Mod)
{
u16 j=0,i=0,k=0,l=0;
u16 str,len;
//---------------------------统计是否在字库中出现
len=HZ_CNT;
for(j=0;j<len;j++)
if((u8)HzLib[j].Index[0]==pHz[0]&&(u8)HzLib[j].Index[1]==pHz[1])break;
//--------------------------
if(j<len)
{
for (i=0;i<HZ_COLUMN;i++)//(HZ_COLUMN)行处理
{
Set_Ramaddr(x,y+i); //定位

x,y+i)
Send_Command(0x22); //
for(l=0;l<2;l++) //
{
str = (u8)HzLib[j].Msk[(i+l)*2]<<8|(u8)HzLib[j].Msk[(i+l)*2+1];
//-----------列扫描------------- [/mw_shl_code]
[mw_shl_code=c,true] for(k=0;k<16;k++)
{
if(str & (0x8000>>k))//写第(0x8000>>k)点进行处理 :1000 0000 0000 0000
{
Send_Data((u16)(LineColor&0xffff));
}
else
{
if (NORMAL == Mod)
Send_Data((u16)(FillColor&0xffff));
else
{
Set_Ramaddr(x+k+1,y+i);
Send_Command(0x22);
}
}
}
}
}
}
}[/mw_shl_code]
[mw_shl_code=c,true][/mw_shl_code]
[mw_shl_code=c,true]void main()[/mw_shl_code]
[mw_shl_code=c,true]{[/mw_shl_code]
[mw_shl_code=c,true] LCD32_Init();
DrawSingleHz(80 ,80 ,"正",BLUE,YELLOW,NORMAL);[/mw_shl_code]