网站大量收购闲置独家精品文档,联系QQ:2885784924

LCD显示功能原理.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LCD显示功能原理

LCD显示功能原理 1 英文字母和字符显示的实现 1.1 LCD 模块显示一个点 1.2显示英文字母和字符 2 汉字显示的实现 2.1 汉字的点阵码 2.2中文文档的存储方式 2.3中文字库的作用 3 图像显示的实现 3.1 BMP文件的大致组成 3.2 读取BMP文件的思路 用户如要点亮 LCD 屏上的某一个点时,实际上就是对该点所对应的显示 RAM 区中的某一个位进行置 1 操作;所以就要确定该点所处的行地址、列地址。 1 英文字母和字符显示的实现 1.1 LCD 模块显示一个点 点阵 LCD的特点就是以点的形式呈现用户想要显示的图形, 故点阵 LCD又有称之为图形点阵 LCD;通常在编写一个 LCD模块的驱动程序时,最基本的功能是绘制一个具体指定点,只有在这样的功能的基础之上,才能通过各个点的组合,呈现出点阵的图形。其实,绘制一个指定位置的点,也就是将显存当中的对应该点的数据位进行操作;在前面的LCD 显示RAM区映射介绍当中, 可以得知显存当中的数据与LCD屏幕上的点的对应关系,这样就可以在程序当中通过简单的换算而有序的控制 LCD屏上的点的显示了。 1.2显示英文字母和字符 在实际应用中,通常用一个数组保存字母和字符点阵。以16×8点阵为例,用16×8个点阵表示一个字符,例如显示字符 ‘1’ ,象素需要显示的地方用*表示,否则为空白,这样,一个字符 ‘1’ 就显示出来。把这个点阵用十六进制的形式表示出来,字符1所对应的点阵是: 0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x1, 0x18,0x18,0x18,0x7e,0x00,0x00,0x00,0x00, 在把字符送LCD缓冲区显示的时候,由于在缓冲区中是用一个字节表示一个象素,而字库中的一个位表示一个象素,即字库中一个字节对应缓冲区的八个字节,所以在送入缓冲区之前必须对字库进行必要的调整。具体方法是在显示一个象素之前,先把这个位右移到字节的最低位,然后屏蔽除此象素点的其它七位,再乘这个象素要显示的颜色,最后把调整后的数据送入对应的缓冲区。例如:假设字符‘1’点阵存在一维数组字库Zfk[],起始地址为20,显示颜色值为42的字符‘1’到第8行第10列的程序是: for (i=0;i16;i++) for(j=0;j8;j++) LCD_Buffer_Color [10*16+i][(*8+j)]|= (Zfk[20+i](7-j))0x01))*42; 2 汉字显示的实现 2.1 汉字的点阵码 驱动程序当中,字符库(也就是字模的集全)的数据采用了与一般的单色点LCD的数据组成方式,即字模当中的一个位代表 LCD 显示中的一个像素点,取点方式为从左到右,自上到下的顺序。对于这点,驱动中自带的 ASCII 码西文字库的字模和用户可自定义的中文字库中的字模是一样的。 字模采用了以 Byte 为单位的位流结构,即当一行取点不为 8的整数倍时,补齐数据至 8 位,无用位填零。 我现在知道的是:(1)汉字可以以点阵的形式存储。(2)液晶可以在屏上画点。这两者结合起来就可以在液晶屏上显示汉字。最简单的方法,可以在程序中事先存储号点阵码的字符,然后要用的时候显示出来。 举个例子,小这个汉字,它的点阵码是这样的: 它对应的点阵字符码是:0x01,0x00,0x01,0x00,0x01,0x00,0x01, 0x00, 0x01,0x00,0x05,0x40,0x05,0x20, 0x09, 0x10, 0x09,0x08,0x11,0x04,0x21, 0x04,0x41,0x00, 0x01,0x00,0x01,0x00, 0x05,0x00,0x02,0x00 共32个字节,其扫描的顺序是从左到右,从上到下。在显示的时候,再把字符点阵按相同的顺序显示在液晶屏上,就看到了小字。 2.2中文文档的存储方式 那么我们看到的中文文档,它们全部都是存储的这种点阵码吗?不是的。汉字在计算机内容实际是存储的一种特定编码。比如“小”这个字,在文档内我们在对应位置看到的可能是“D0 A1”,也可能是“5C 0F”,也就是可以有不同的编码表示“小”这个汉字,这就是汉字的编码方式。 我现在听过的概念有:区位码、国标码、内码、unicode、UTF-8,还有GBK、GB2312(这两个好像与国标码是相关的,具体怎么对应,我的理解还不是很清晰)。除了UTF-8适合在网络上传输,这里不管它。其它几种编码方式都是16位的,其大致关系如下: 内码 = 国标码 + 0x80; 国标码 = 区位码 + 0x20; 国标码 = GB2312; GBK好像是国标码的最新扩展。 汉字在计算机内部文档里面一般是以内码的形式存储。而文件系统里中文文件名一般以unicode编码的形式

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档