STM32LCD显示汉字

STM32LCD显示汉字

不能字符串显示,毕竟不是存了字库,只能显示单个汉字,这种需要我们自己去取模,然后存放到数组,基于正点原子的例程改的,要注意的是一个汉字在数组中全部数据是全存在一起的,如下,size=24,一个汉字字节长度为72,size=16,一个汉字字节长度为32,由u8 csize=(size/8+((size%8)?1:0))(size)这个式子给出
const unsigned char hz32[30][72]={
{
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x00,0x07,0x04,0x00,0x19,0x08,0x00,0x71,
0x18,0x00,0x11,0x30,0x00,0x13,0xE7,0xFC,0x1F,0x44,0x88,0x11,0x44,0x88,0x11,0x24,
0x88,0x11,0x3C,0x88,0x01,0x14,0x88,0x01,0x04,0x88,0x1F,0xFC,0x88,0x10,0x24,0x88,
0x10,0x24,0x88,0x10,0x27,0xFE,0x10,0x24,0x0C,0x10,0x20,0x00,0x1F,0xF0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/
“智”,0,size = 24*/
},
{
0x00,0x02,0x00,0x0C,0x3F,0xF1,0x24,0x01,0x24,0x21,0x24,0x32,0x3F,0xAA,0xA4,0xA4,
0x64,0xA4,0x24,0xA4,0x3F,0xAA,0x24,0x32,0x24,0x01,0x24,0x01,0x20,0x01,0x00,0x00
/*“度”,2,size =16 */
}
};

//显示一个指定大小的汉字
//x,y :汉字的坐标
//index:汉字在数组中的位置
//size:字体大小
//pointcolor:画笔颜色
//backcolor:背景颜色
//mode:0,正常显示,1,叠加显示
void Show_Chinese32(u16 x,u16 y,u16 index,u8 size,u16 pointcolor,u16 backcolor,u8 mode)
{
		u8 temp,t,t1;
	u16 y0=y;
	u8 csize=(size/8+((size%8)?1:0))*(size);	//一个汉字数据字节数,直接存就可比如size=24一个汉字是{72数据},16是32
		for(t=0;t<csize;t++)
	{   												   
		temp=hz32[index][t];			//得到点阵数据                          
		for(t1=0;t1<8;t1++)
		{
			if(temp&0x80)LCD_Fast_DrawPoint(x,y,pointcolor);
			else if(mode==0)
				LCD_Fast_DrawPoint(x,y,backcolor); 
			temp<<=1;
			y++;
			if((y-y0)==size)
			{
				y=y0;
				x++;
				break;
			}
		}  	 
	}
}

取模软件是PCtoLCD2002

在这里插入图片描述
设置,这里数据记得自己加{}分开每个汉字
在这里插入图片描述
源文件:https://pan.baidu.com/s/1Q_L8yMrBxH12AeQTlCbVdA
提取码:z1ia

  • 24
    点赞
  • 146
    收藏
    觉得还不错? 一键收藏
  • 27
    评论
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值