《第28讲 汉字显示实验.ppt》由会员分享,可在线阅读,更多相关《第28讲 汉字显示实验.ppt(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第28讲 汉字显示实验广州星翼电子广州星翼电子 官方淘宝店官方淘宝店:http:/http:/ 技术支持论坛技术支持论坛:原子教你玩原子教你玩STM32STM32系列视频系列视频 技术支持论坛技术支持论坛:开源电子网开源电子网 官方微博官方微博:“正点原子正点原子”微博网址微博网址 http:/ 淘宝店铺淘宝店铺:http:/ 广州星翼电子广州星翼电子 官方淘宝店官方淘宝店:http:/http:/ 技术支持论坛技术支持论坛:原子教你玩原子教你玩STM32STM32系列视频系列视频汉字在液晶上的显示其实就是一些点的显示与不显示,这就相当于我们的笔一样,有笔经过的地方就画出来,没经过的地方就不画
2、。所以要显示汉字,我们首先要知道汉字的点阵数据,这些数据可以由专门的软件来生成。只要知道了一个汉字点阵的生成方法,那么我们在程序里面就可以把这个点阵数据解析成一个汉字。原理:原理:广州星翼电子广州星翼电子 官方淘宝店官方淘宝店:http:/http:/ 技术支持论坛技术支持论坛:原子教你玩原子教你玩STM32STM32系列视频系列视频字符/汉字显示方法:广州星翼电子广州星翼电子 官方淘宝店官方淘宝店:http:/http:/ 技术支持论坛技术支持论坛:原子教你玩原子教你玩STM32STM32系列视频系列视频 0 x00,0 x00,0 x07,0 xF0,0 x08,0 x08,0 x10,0
3、 x04,0 x10,0 x04,0 x08,0 x08,0 x07,0 xF0,0 x00,0 x00,/*0,16*/0 x02,0 x00,0 x42,0 x02,0 x42,0 x04,0 x42,0 x08,0 x42,0 x30,0 x7F,0 xC0,0 x42,0 x00,0 x42,0 x00,0 x42,0 x00,0 x42,0 x00,0 x7F,0 xFE,0 x42,0 x00,0 x42,0 x00,0 x42,0 x00,0 x42,0 x00,0 x00,0 x00,/*开,0*/广州星翼电子广州星翼电子 官方淘宝店官方淘宝店:http:/http:/ 技术支
4、持论坛技术支持论坛:原子教你玩原子教你玩STM32STM32系列视频系列视频知道显示了一个汉字,就可以推及整个汉字库了。汉字在各种文件里面的存储不是以点阵数据的形式存储的(否则那占用的空间就太大了),而是以内码的形式存储的,就是GB2312/GBK/BIG5等这几种的一种,每个汉字对应着一个内码,在知道了内码之后再去字库里面查找这个汉字的点阵数据,然后在液晶上显示出来。这个过程我们是看不到,但是计算机是要去执行的。广州星翼电子广州星翼电子 官方淘宝店官方淘宝店:http:/http:/ 技术支持论坛技术支持论坛:原子教你玩原子教你玩STM32STM32系列视频系列视频汉字内码(GBK/GB23
5、12)查找点阵库解析显示。每个GBK码由2个字节组成,第一个字节为0X810XFE,第二个字节分为两部分,一是0X400X7E,二是0X800XFE。我们把第一个字节代表的意义称为区,那么GBK里面总共有126个区(0XFE-0X81+1),每个区内有190个汉字(0XFE-0X80+0X7E-0X40+2),总共就有126*190=23940个汉字。我们的点阵库只要按照这个编码规则从0X8140开始,逐一建立,每个区的点阵大小为每个汉字所用的字节数*190。这样,我们就可以得到在这个字库里面定位汉字的方法:当GBKL0X80时:Hp=(GBKH-0 x81)*190+GBKL-0X41)*(
6、size*2);其中GBKH、GBKL分别代表GBK的第一个字节和第二个字节(也就是高位和低位),size代表汉字字体的大小(比如16字体,12字体等),Hp则为对应汉字点阵数据在字库里面的起始地址(假设是从0开始存放)。广州星翼电子广州星翼电子 官方淘宝店官方淘宝店:http:/http:/ 技术支持论坛技术支持论坛:原子教你玩原子教你玩STM32STM32系列视频系列视频广州星翼电子广州星翼电子 官方淘宝店官方淘宝店:http:/http:/ 技术支持论坛技术支持论坛:原子教你玩原子教你玩STM32STM32系列视频系列视频广州星翼电子广州星翼电子 官方淘宝店官方淘宝店:http:/http:/ 技术支持论坛技术支持论坛:原子教你玩原子教你玩STM32STM32系列视频系列视频THE END!