- 5
- 0
- 约1.44千字
- 约 4页
- 2020-04-14 发布于湖北
- 举报
国标硬件汉字库的原理与应用
彩色液晶器件以其丰富的交互界面,理想的显示效果,越来越多的吸引单片机及嵌入式开发人员的眼球,但随之而来也带来汉字显示,让原本捉襟见肘的系统资源显得更加匮乏,国标16点阵汉字字库的容量为2M bit,已经远远超过普通51单片机的寻址空间,甚至超过了很多ARM7的内部FLASH 容量,液晶自带汉字字库势在必行。极大的简化了用户硬件成本和系统复杂性。
一、汉字内码
首先我们要知道ASCII 码
为了显示英文(英文字母种类很少,加上一些控制字符也不超过128个),所以定义了它是由一个字节表示的,从0-127位则留给英文字符使用,即英文的内码。还空余了128-255这些位置,但是远远少于我们国家汉字的数量(对于中文,常用却有5000以上),于是我们的DOS 前辈想了一个办法,就是将ASCII 表的高128个很少用到的 数值以两个为一组来表示汉字,即汉字的内码。范围从十六进制的0A1H 开始,将机内码的每个字节各减去0A0H 再以十进制显示出来即为该汉字的区位码。
例如 “国”字的机内码、国标码和区位码如表1 所示。
即:机内码-0A0A0H=区位码; 就“国”字而言,其机内码和区位码的关系为:
0B9FAH (机内码)- 0A0A0H =195AH(区位码)
二、汉字字库
国家标准汉字字符集GB2312-80共收集了共7445个汉字和图形符号,其中汉字6763个,分为二级。一级汉字3755个,二级汉字3008个。汉字图形符号根据其位置将其分为94个“区”,每个区包含94个汉字字符,每个汉字字符又称为一个“位”。区的序号和位的序号都是从01到94。
UCDOS 软件中的文件HZK16为16*16的国标汉字点阵文件,以二进制格式存储。按汉字区位码从小到大依次存有国标区位码表中的所有汉字,每个汉字占用32个字节,每个区为94个汉字。(UCDOS 软件中还包括ASC16文件:ASC16为8*16的ASCII 码点阵文件,以二进制格式存储。按ASCII 码从小到大依次存放ASCII 码点阵,每个ASCII 码占用16个字节)
具体程序实现如下(区码和位码都是从0xA1位置开是存储的)
qh=*pHz-0xa1; (pHz 为汉字内码存储地址,qh 为区码,wh 为位码)
wh=*(pHz+1-0xa1;
OffSet=((ulong(qh*94+wh*32+ HZK16_ADDR; //计算该汉字在字库中偏移量 Read_Flash(OffSet,hz_mo,32; //读取32字节的字模数据到缓冲区
三、汉字字模
得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,HZK16中的中文“国”的字模中是这样记载的:
字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信
息来记载汉字的形状,这样我们就可以把这样的数字写入液晶,得到汉字的图形
具体函数实现如下:
for (i=0;i16;i++ //16点阵
{
Set_ramaddr(x,y+i;
str =(uinthz_mo[i*2]8|hz_mo[i*2+1];//从缓冲区中调用部分字模信息 for (k=0;k16;k++
{
if ( str (0x8000k //0x8000k
写点(LineColor; //文字颜色
else
写点(FillColor; //底色
}
}
您可能关注的文档
- 贵州六校联盟2014高三上第一次联考-语文.doc
- 贵州湄潭中学11-12学年高二上期末试题-语文.doc
- 贵州盘县二中11-12学年高一下期中考试-政治.doc
- 贵州省北师大贵阳附中2014届高三上学期期中考试-历史.doc
- 贵州塞文实验中学2012-2013学年高二上学期8月月考--数学(理).doc
- 贵州湄潭中学11-12学年高二上期末试题--语文.doc
- 贵州盘县二中11-12学年高一下期中考试-化学.doc
- 贵州省六盘水市第十三中学七年级生物下册 3.2 发生在肺内的.doc
- 贵州省黔东南州剑河县久仰民族中学七年级历史上册 第14课《匈.doc
- 贵州省事业单位考试《公共基础知识》真题及解析.doc
最近下载
- DB31T 1104-2018 城市轨道交通导向标识系统设计规范.docx VIP
- GB50461-2024:石油化工静设备安装工程施工质量验收规范.pptx VIP
- 2023年浙江省军队转业干部录用考试试题.docx VIP
- 口渴了-朋友帮你.ppt VIP
- Xikong西莱克低温机控制板SHXK814用户手册.pdf
- 爱迪生牛顿大发明攻略.doc VIP
- 重庆天齐锂电新材料有限公司新建1000吨_年高能锂电材料电池级金属锂项目环评报告.pdf VIP
- 朗文3A复习资料及垃圾分类作文8篇.doc VIP
- DB65T 3694-2015 现行哈萨克文与西里尔哈萨克文编码字符转换规则.docx VIP
- 华为云服务登录.doc VIP
原创力文档

文档评论(0)