数码之家

 找回密码
 立即注册
搜索
查看: 2634|回复: 22

[STM] 51假期这几天来的成果,GB2312单片机字库的制作

[复制链接]
发表于 2022-5-4 22:52:48 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
51放假在家,没聊,找出多年前买的STM32F407实验板玩,这片实验板已买多年,原来是想用它制作复杂些的东西,但由于水平原因,学习难度大,没搞成。现想先用它驱动液晶显示,再进一步操作,液晶显示需要字库,板上的存储是25Q16,容量只有2M,不想更换,经计算,可以放下8*16、12*24、16*32的ASII及16*16、24*24、32*32的GB2312汉字,字库制作方式是用这贴的方法做https://www.mydigit.cn/thread-262009-1-1.html。由于生成的字库太大,录入时间太久,怕中间有问题,所以把汉字分9组,每组为1024个汉字进行生成录入,共分28次录入,中途地址录入有错,导至最后检测字库有些区的字不对,后修改重录入才完成这制作。

以下为制作的图片,下图是几年前买的实验板,另加显示是1.3寸ST7789液晶,分辨率为240*240。
IMG_20220504_220409.jpg

以下为录入过程图片。
IMG_20220502_225501.jpg
IMG_20220502_225518.jpg

以下为录入完成后,用测试程序检查是否有问题。
IMG_20220504_093203.jpg
IMG_20220504_125149.jpg

检查没问题,就来唐诗一首。
IMG_20220504_125901.jpg

由于这字库是通用的,为了方便日后使用,所以用编程器把它导出来。
IMG_20220504_153810.jpg

由于备份是直接在实验板导出来的,怕有问题,所以写一片新存储,看看是否正确。
IMG_20220504_154229.jpg

焊在STC32G12K实验板上测试下备份是否没问题。
IMG_20220504_220307.jpg
IMG_20220504_200758.jpg
IMG_20220504_205208.jpg
IMG_20220504_205259.jpg

测试通过,这备份可用。本字库的取模方式为逐行逆向。
模式.JPG

本字字库内有8*16、12*24、16*32的ASII字库及16*16、24*24、32*32的GB2312汉字字库,字体采用宋体,全部写入后,还可空2个4K空间,所以制作字库时,把开始的2个4K空间保留,可以灵活使用,用于保存其它参数。所以字库地址是从0x2000开始,ASII8*16的字库地址是0x2000开始,12*24是0x2800,16*32是0x4000,汉字字库16*16、24*24、32*32的开始地址分别是0x6000、0x4C000、0xFA000.

使用方法,对于8*16ASII显示数据开始地址为ASII*16+0x2000,取16个数据。对于12*24ASII显示数据开始地址为ASII*48+0x2800,取48个数据。对于16*32ASII显示数据开始地址为ASII*64+0x4000,取64个数据。对于汉字2位编码,分别减去0XA0,前位*100,再加后位,就是这个汉字的GB2312的地址,16*16汉字显示数据开始地址为编码地址*32+0x6000,取32个数据。24*24开始地址为编码*72+0x4C000,取72个数据。32*32开始地址为编码*128+0xFA000,取128个数据。由于没更详细检查,可能有BUG,仅供参考。


GB2312字库备份20220504.zip

834.97 KB, 下载次数: 3, 下载积分: 家元 -55

打赏

参与人数 2家元 +140 收起 理由
家睦 + 120
kkdkj + 20 謝謝分享

查看全部打赏

发表于 2022-5-4 23:09:34 | 显示全部楼层
好像很高深的样子。 012.gif
回复 支持 反对

使用道具 举报

发表于 2022-5-4 23:20:24 | 显示全部楼层
一直以来,汉字显示浪费了爱好者太多时间。 U8g2 已经直接支持汉字显示。
回复 支持 反对

使用道具 举报

发表于 2022-5-4 23:23:55 | 显示全部楼层
看看,有空学习一下。
回复 支持 反对

使用道具 举报

发表于 2022-5-5 02:08:46 | 显示全部楼层
虽然不会玩这个,但是需要相互支持一下哟
回复 支持 反对

使用道具 举报

发表于 2022-5-5 05:39:32 | 显示全部楼层
这个不错,可以参考。
回复 支持 反对

使用道具 举报

发表于 2022-5-5 06:56:35 | 显示全部楼层
kpj001 发表于 2022-5-4 23:20
一直以来,汉字显示浪费了爱好者太多时间。 U8g2 已经直接支持汉字显示。

lvgl也支持中文ARM_CORTEX_A8之基于LVGL7.9仿ISO界面【周杰伦_晴天】
回复 支持 反对

使用道具 举报

发表于 2022-5-5 08:29:56 | 显示全部楼层
感谢楼主,资料很有用,收藏待用!
回复 支持 反对

使用道具 举报

发表于 2022-5-5 21:45:38 | 显示全部楼层
前辈,近来,新作品 比较少哦,加快更新一下
回复 支持 反对

使用道具 举报

发表于 2022-5-5 22:25:00 | 显示全部楼层
感谢楼主,资料很有用,收藏待用!
回复 支持 反对

使用道具 举报

发表于 2022-5-9 01:38:15 | 显示全部楼层
厉害,我也买了块STM32的开发板,程序看起来比51复杂好多,学了半个月也没弄懂,就先放着了,等C语言再精进些再来尝试。
回复 支持 反对

使用道具 举报

发表于 2022-5-9 09:55:20 | 显示全部楼层
gbk2312 平时用用也还行。

碰到专业的文章尤其是古文诗就不够用了。

如 《滕王阁序》。

如果是 spi-flash 存储的话,反正空间不紧张,不如用gbk 代替。
16*16 大概不到800KB。

另外建议存一份 utf8到unicode 的映射表(主要是3字节区),这样 gbk/unicode/utf8 也能基本做到全兼容。




回复 支持 反对

使用道具 举报

发表于 2022-5-10 11:54:09 | 显示全部楼层
辛苦了,留个记号,也在看
回复 支持 反对

使用道具 举报

发表于 2022-5-10 12:46:49 | 显示全部楼层
都是高手呀
回复 支持 反对

使用道具 举报

发表于 2022-5-10 18:59:06 | 显示全部楼层
感觉数码之家个个都是深藏不露的高手
回复 支持 反对

使用道具 举报

发表于 2022-5-26 04:37:44 | 显示全部楼层
这个用编程器直接下载可以用吗?
回复 支持 反对

使用道具 举报

发表于 2022-6-30 11:38:07 | 显示全部楼层
用编程器写FLASH啊?看第一张图还以为是通过SD更新FLASH字库
回复 支持 反对

使用道具 举报

发表于 2023-9-11 20:03:01 | 显示全部楼层
前来学些楼主的字库提取方法
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-29 10:55 , Processed in 0.156000 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表