单片机C语言程序设计 教学课件 作者 侯殿有5.15.ppt

单片机C语言程序设计 教学课件 作者 侯殿有5.15.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十五章 汉字和西文字符显示原理 15.1 汉字和字符显示概述 我们进行嵌入式控制系统设计,大多首先从人机界面设计开始,由于许多系统使用各种液晶显示器(LCD)做系统显示设备,所以要想快速的完成嵌入式系统设计必需学会如何在LCD上显示汉字和曲线的驱动程序设计。 无论是高级语言支持的各种显示器,还是单片机系统常用的LCD,它们的分辨率都是以像素为单位的,一个像素就是屏幕上的一个可以显示的最小单位,也就是常说的“点”。因此要在屏幕上显示一个汉字或图形就必须将汉字或图形用点来表式,这些表示某种图形或汉字的点的集合就是我们所说的点阵,实际上我们把汉字也做为一种图形来处理。 如嵌入式控制系统中最常用的汉字是16×16点阵,它是由行、列各16个点,共256个点组成的点阵图案,每行的16个点在内存中占二个字节,一个16×16点阵汉字共16行,在内存中占32个字节。 根据这些字节在内存中存放的顺序,第一行的第一个字节我们称“0”号字节,第二个字节我们称“1”号字节;第二行的第一个字节我们称“2”号字节,第二个字节我们称“3”号字节。以此类推,最后一行的第一个字节我们称“30”号字节,第二个字节我们称“31”号字节,每个字节高位在前,低位在后,即D7在一个字节的最左侧,D0在最右侧。具体如图15.1所示: 不同的汉字各字节数据不同,图15.2是仿宋体”哈”字的16×16点阵字模,在点阵中,每一个小方格代表字节中的一位(也叫一个bit),黑色的点bit值等于1,白色的点bit值等于0。这样,仿宋体“哈”字的16×16点阵字模的32个字节数据就是: 0x0040,0x0040,0x00a0,0x78a0,0x4910,0x4918,0x4a0e,0x4df4, 0x4800,0x4800,0x7bf8,0x4a08,0x0208,0x0208,0x03f8,0x0208。 如我们要在屏幕的行列位置显示上面的“哈”字,则可以从点(,)开始将0号字节和1号字节的内容输出到屏幕上;然后行加1,列再回到,输出2号字节和3号字节,依此类推16个循环即可完成一个汉字的显示。 输出一个字节数据时,该字节中“位”(bit)为1时在该“位”位置打点,为0时该“位”位置打空白。 此外常用的汉字还有24×24点阵,它是由行列各24个点组成的点阵图案,它每列的24个点在内存中占三个字节,一个24×24点阵汉字共24列,在内存中占72个字节;48×48点阵,行×列为48×48,一个汉字占内存288个字节。12×12点阵(为方便编程把列12点扩展为16点,既二个字节)行×列为12×16,一个汉字占内存24个字节。 由于常用的24针打印机的打印头是24针纵向排列的,一次垂直打印24点,即三个字节,然后再打印下一列24点,依次打24次,就完成了一个24×24点阵汉字,所以在UCDOS汉字库中为方便打印机使用,24×24点阵汉字字膜的排列是与16×16不同的,具体如图15.3示: 0号、1号、2号三个字节排在第1列,3号、4号、5号三个字节排在第2列,依此类推最后一列是69号、70号、71号字节,所有的字节都是高位在上,低位在下,这样打字机从左到右扫描24列,不用换行就可完成一个24×24点阵汉字打印。 显示24×24点阵汉字程序与显示16×16点阵汉字程序有所不同,这一点下面讲到汉字显示时会详述。 15.2 汉字字符集介绍 我国1981年公布了《信息交换用汉字编码字符集(基本集)》GB2312-80方案,把高频字、常用字和次常用字集合成汉字基本字符(共6763个),在该集中按汉字使用的频度,又将其分成一级汉字3755个(按拼音排序)、二级汉字3008个(按部首排序),再加上西文字母、数字、图形符号等700个。 国家标准的汉字字符集(GB2312-80)在汉字操作系统中是以汉字库的形式提供的。汉字库结构作了统一规定,即将字库分成94个区,每个区有94个汉字(以位做区别),每一个汉字在汉字库中有确定的区和位编号(用两个字节), 就是所谓的区位码(区位码的第一个字节表示区号,第二个字节表示位号),因而只要知道了区位码,就可知道该汉字在字库中的地址。 每个汉字在字库中是以点阵字模形式存储的,如一般采用16×16点阵形式,每个点用一个二进制bit位表示,bit=1的点,当显示时,就可以在屏上显示一个亮点,bit=0的点,则在屏上不显示,这样把存某字的16×16点阵信息直接用来在显示器上按上述原则显示,则将出现对应的汉字。如“哈”的区位码为2594,它表示该字字模在字符集的第25个区的第94个位置。 15.3 汉字的内码 在计算机内英文字符是用一个字节的ASCII码表示,该字节最高位一般用做奇偶校验,故实际是用7位码来代表128个字符的,但对于众多的汉字,只有用两个字节

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档