单片机显示汉字有哪几种做法?从取模数组到字库芯片一次讲清
适合刚开始做带屏产品的嵌入式开发者:取模软件、标准字库芯片、自定义字库芯片三条路,各自什么代价、怎么选,一篇讲清。
适合:刚开始做带屏产品的嵌入式开发者。单片机屏幕要显示汉字,到底有哪几条路、各自什么代价、怎么选?一篇讲清。
一、为什么显示汉字是个"问题"
做过英文显示的都知道,ASCII 就 96 个字符,全套字模几 KB,塞进代码毫无压力。
汉字完全是另一个量级:常用汉字近 7000 个,一个 16×16 点阵字模占 32 字节,一套下来 200 多 KB——比很多单片机的 Flash 还大。所以这件事的核心不是"显示",而是这一大笔字模数据存在哪、怎么读出来。
做法其实就两大类:用取模软件自己做字库,或者用现成的字库芯片。
二、大类一:取模软件,字模放进自己 Flash
入门级做法:用取模软件把要用到的汉字逐个转成点阵数据,生成数组或文件,编进工程、放进单片机的 Flash。
这条路上的工具不用满世界找——高通提供免费的 GT-FontLab Lite(字库生成工具):
- 免登录、轻量包、即下即用,不用注册不用联网验证;
- 功能聚焦两件事:字库取模(选字体、选字符、出点阵数据)和字符编码查询;
- 生成的字库配套高效代码框架,移植到自己工程里很顺。
GT-FontLab Lite 字库生成工具界面
优势:零硬件成本,显示逻辑全在自己手里,适合字数少、内容固定的场合。
代价也很明确:
- 字模占用单片机 Flash,字一多就吃不消——几百个字还好,几千个字就得精打细算;
- 维护烦:界面改文案、加几个字,就要重新取模、重新编译、重新烧固件。产品迭代几轮,没人愿意碰那堆数组。
三、大类二:字库芯片,字库交给专用器件
另一条路:把字库从单片机里"搬出去",交给一颗专用芯片。字模数据存在芯片里,单片机通过 SPI 发编码、读字模回来,自己的 Flash 一点不占用。硬件上就是一颗 SOP8 小芯片,几块钱的事。
字库芯片领域做得最久的是高通字库(GENITOP),二十多年字库积累,覆盖全球 180+ 国家语言。它家的字库芯片分两类:
3.1 标准字库芯片:出厂固化,上板即用
字库在出厂时已经烧好,字体、字号、字符集是固定组合。买回来焊上板、跑通 SPI 就能显示,最省事。
字库类型很全,三种形态各有擅长:
- 点阵字库:每个字由固定大小的像素点阵构成(如 16×16),存储最省、读取最快,对 MCU 几乎没要求,是应用最广的形态。字号是固定的几档(12/16/24/32 点),字符集从 GB2312 到 GBK、GB18030 都有对应型号,中文、英文、条形码一应俱全,比如常用的 GT20L16S1Y(16 点、中文 GB2312 + 英文,SOT23-6 封装)。
- 灰度字库:在点阵的基础上,每个像素带多级灰阶,字的边缘过渡平滑、没有锯齿感,显示美观度和矢量字库相当,代价是容量比点阵大一些。适合对界面质感有要求、但字号需求固定的中高端产品;
- 矢量字库:字形用轮廓曲线描述而不是像素,最大特点是字号任意缩放——一颗字库覆盖全部尺寸,界面要 20 号标题还是 48 号大字都清晰锐利。GT60 等系列还有宋/仿宋/楷/黑多种字体。适合大屏、高分辨率、字号多变的界面。
点阵、灰度、矢量三种字库显示效果对比
特点:标准芯片的本质是"选型 = 选字库"——型号和内容一一绑定,字体、字号、语言在下单那一刻就确定了。好处是字库配置成熟极强、选型门槛低、量产快;代价是之后任何字库层面的变更(换字体、加语言、调字号)都意味着换型号、重新采购、重新打样。
3.2 自定义字库芯片:字库自由选配,随时重烧
芯片出厂是"空"的存储载体(GT5GL 系列,16Mb–128Mb,SPI 接口),装什么字库由你决定:用官方免费软件 GT-HMI Designer2 勾选组合,常用中文、外文都是预设好的标准字符集,直接导入就行;编译烧录几分钟搞定。
GT-HMI Designer2 字库选配界面
优势:
- 字库自由组合:字体、字号、语言、点阵/灰度/矢量随便挑,几百款字库像搭积木一样组合,每个字库占多少容量在软件里看得清清楚楚;
- 变更不用动硬件:以后要加字、换字体、加语言,重新烧录就行,芯片不用换——不用重新选型、采购、打样,一次变更从几周缩到几分钟;
- 空间不浪费:字库装完剩余的空间归你用,存图片、图标、参数,省一颗外挂 Flash。
特点:本质是把"字库选择权"从芯片厂手里拿回到你手里——芯片只管存,装什么你说了算。多的只是软件里几分钟的勾选,换来的是整个产品生命周期的字库自由,而且还可以自由存储字库以外的资源。
四、选型概要:一张表对号入座
| 你的情况 | 建议 |
|---|---|
| 显示几十个字,内容终身不变,成本敏感 | 取模软件(GT-FontLab Lite)最划算 |
| 常用中文 + 数字,界面定了基本不改 | 标准点阵字库芯片,上板即用 |
| 字数多、要多字号/多语言/换字体 | 自定义字库芯片 |
| 需求还没定死,以后可能变 | 自定义字库芯片,留条不用换硬件的后路 |
一句话:字少且不变用取模,字多要省心用标准芯片,要灵活要扩展用自定义芯片。 完整型号对比可以查官网的标准字库芯片选型表。
高通(GENITOP)始于 1992 年,深耕汉字信息处理与嵌入式 GUI 技术,字库覆盖全球 180+ 国家语言。
想试试自定义字库?官方免费软件 GT-HMI Designer2,勾选组合、几分钟烧录完成。
前往查看