首先当然要了解一下字库的存储原理 我用的开发板芯片是STM32 ZET的,液晶用的是93252.8的,flash是25Q32 看完原理后 教程开始: 1. 用汉字字模点阵数据批量生成工具生成字库文本,我导入的是GB2312字库 导入后将软件右边的数据拷贝到一个文本中。
12
11
2. 利用PCtoLCD软件,生成需要的字库取模文件 先设置取模方式,我用的是列行式,逆向,16*16 点阵(一个字占用32字节) file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image006.jpg 导入文本文件,我生成的是BIN文件
7
8
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image008.jpg 3. 来看一下生成的bin文件是否正确 用winhex工具打开bin文件,我选择汉字“啊”做验证,“啊”对应的区位码是1601(区码16,位码01),根据公式:存储地址=((区码-1)*94+位码-1)*32,后面乘的32是一个点阵占用的字节数。那么“啊”的存储地址应该是((16-1)*94+1-1)*32=45120,十六进制位0XB040 file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image010.jpg Winhex查看0XB040地址的数据为FE 02 02 FE 00……
10
4. 用PC TO LCD软件取“啊”的模,取模方式相同 “啊”的点阵也为FE02 02 FE 00……,说明我们取的要烧录到flash芯片里的数据正确。而且地址也正确。
9
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image012.jpg 5. 烧录生成的bin文件到flash里面,可以通过串口,STM32编写程序将文件写入到FLASH里面,大概十分钟左右。本人在一家电子工厂,自己有烧录器,所以求简单,直接用烧录器烧了。
6
5
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image014.jpg file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image016.jpg 6. 烧好芯片后搭建好实验平台,然后编写代码,烧录到STM32里面: 下面是效果图
3
液晶用的是2.8的,9325芯片,液晶驱动函数自己也稍微做了点更改
1
寻址扫描显示代码,根据自己的取模方式编写的
4
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image018.jpg 实验平台,没有买一整套的开发板,都是东拼西凑的,主要是没钱
2
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image020.jpg
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image022.jpg file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image024.jpg
|