预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. LCD显示功能原理 1英文字母和字符显示的实现 1.1LCD模块显示一个点 1.2显示英文字母和字符 2汉字显示的实现 2.1汉字的点阵码 2.2中文文档的存储方式 2.3中文字库的作用 3图像显示的实现 3.1BMP文件的大致组成 3.2读取BMP文件的思路 用户如要点亮LCD屏上的某一个点时,实际上就是对该点所对应的显示 RAM区中的某一个位进行置1操作;所以就要确定该点所处的行地址、列地址。 1英文字母和字符显示的实现 1.1LCD模块显示一个点 点阵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缓冲区显示的时候,由于在缓冲区中是用一个字节表示一个 象素,而字库中的一个位表示一个象素,即字库中一个字节对应缓冲区的八个字 节,所以在送入缓冲区之前必须对字库进行必要的调整。具体方法是在显示一个 象素之前,先把这个位右移到字节的最低位,然后屏蔽除此象素点的其它七位, 再乘这个象素要显示的颜色,最后把调整后的数据送入对应的缓冲区。例如:假 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 设字符‘1’点阵存在一维数组字库Zfk[],起始地址为20,显示颜色值为42 的字符‘1’到第8行第10列的程序是: for(i=0;i<16;i++) for(j=0;j<8;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中文文档的存储方式 那么我们看到的中文文档,它们全部都是存储的这种点阵码吗?不是的。汉 字在计算机内容实际是存储的一种特定编码。比如“小”这个字,在文档内我们 在对应位置看到的可能是“D0A1”,也可能是“5C0F”,也就是可以有不同的编 码表示“小”这个汉字,这就是汉字的编码方式。 我现在听过的概念有:区位码、国标码、内码、unicode、UTF-8,还有GBK、 GB2312(这两个好像与国标码是相关的,具体怎么对应,我的理解还不是很清晰)。 除了UTF-8适合在网络上传输,这里不管它。其它几种编码方式都是16位的, 其大致关系如下: 内码=国标码+0x80;国标码=区位码+0x20; 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 国标码=G