找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3040|回复: 0
打印 上一主题 下一主题
收起左侧

(视频教程2)在单片机项目中轻松制作与使用中文字库

[复制链接]
跳转到指定楼层
楼主
ID:119948 发表于 2016-5-11 04:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

每个英文,是由一个字节的ASCII码表示的。

每个中文,是由两个字节的GBK码表示的。

每个GBK码由2个字节组成,第一个字节的数值区间为0X81~0XFE,第二个字节的数值区间为0X40~0XFF,不过,第二个区间中的0x7F和0xFF这两个位置没有对应的字符。

把所有的汉字都放到一座大楼里边,这座大楼有126个房间,每个房间放190个汉字。就可以容纳所有的中文汉字和符号。房间号是从0x81开始,一直到0xFE,一共126个房间。每个房间有192个座位,座位编号从0x40一直到0xFF,其中,0x7F和0xFF座位上没有放置汉字和字符。(这就是对GBK码最形象的解释)

例如汉字“瑞”的GBK编码为C8 F0,第一字节C8,位于0X81~0XFE之间,第二字节F0,位于0X40~0XFF之间。就是说,“瑞”这个字,位于大楼门牌号为0xC8房间当中的编号为0xF0的座位上。

除了以上内容,视频中还介绍了从W25Q16芯片中读取汉字字模的方法。

在W25Q16中,我们放的是16X16像素的字模,16X16像素的字模,每个汉字需要32个字节来表示。

我们放字模的时候,是从W25Q16的地址0开始放的,也就是说,W25Q16当中的第0~31个字节,就是GBK字库中的第一个汉字,就是GBK码为0x8140的汉字。这个汉字位于汉字大楼的门牌号为0x81房间中的编号为0x40座位。因为门牌号是从0x81开始的,实际上就是位于第1个房间。因为座位编号是从0x40开始的,实际上就是第一个房间当中的第一个字符。也就是W25Q16当中存储的第一个字符。

这样,就可以很容易的写出取字模的函数了。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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