本帖最后由 lkl0305 于 2015-9-29 10:03 编辑
一、问题提出:
通常OLED大家找到的程序都是显示16x16汉字,那如何实现显示32x32汉字呢?
二、解决办法:
1、首先通过字模软件将32x32汉字字模提取出来。
比如这个“区”字,32x32共32*(32/8)=128字节,下面字模每32字节是1行,共分四行显示。
0x00,0x00,0x00,0x00,0xF8,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
0x10,0x10,0x10,0x10,0x10,0x10,0x90,0x10,0x10,0x10,0x18,0x10,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x02,0x04,0x08,0x18,0x30,0x60,
0xC0,0x80,0xC0,0xF0,0x38,0x1E,0x0F,0x03,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x30,0x18,0x0C,
0x06,0x03,0x03,0x0E,0x1C,0x78,0xF0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x3F,0x3F,0x10,0x10,0x12,0x11,0x11,0x10,0x10,0x10,0x10,0x10,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x10,0x10,0x18,0x18,0x10,0x00,0x00,0x00,
2、我调试了一个程序,给大家分享一下:
void OLED_ShowCHinese32(u8 x,u8 y,u8 no)
{
u8 t, i;
for (i = 0; i < 4; i++)
{
OLED_Set_Pos(x, y + i);
for(t = 0; t < 32; t++)
{
OLED_WR_Byte(Hzk32[no][32 * i + t],OLED_DATA);
}
}
}
三、感想与收获:
1、只要思路掌握了,程序就容易实现了。
|