- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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编码的形式
您可能关注的文档
- IQC作業流程-新版.ppt
- IRIS质量管理体系项目计划书.docx
- ISISDraw的使用方法.ppt
- ISO TANK相关知识.doc
- it,个人述职报告.doc
- Italian Wine 意大利葡萄酒大全全英.doc
- ITO玻璃基础知识.ppt
- It’s not easy to learn English well, but if yo - 河北to英语Itnote.doc
- Isilon产品技术交流.ppt
- IT商务酒店.doc
- 某某单位2024年党建工作总结及2025年工作计划.doc
- 某某市发改委关于2024年度落实党风廉政建设工作责任制情况的报告.doc
- 某某局2024年全面从严治党和党风廉政建设工作总结.doc
- 某某区财政局2024年法治政府建设总结及2025年工作谋划.doc
- 2024年党管武装工作述职报告2篇.doc
- 2024年度国企党委书记抓基层党建工作述职报告3篇.doc
- 公司党委书记2024年述职述廉报告.docx
- 2024年度乡镇党委领导班子民主生活会(四个带头)对照检查材料.doc
- 市医疗保障局关于2024年法治政府建设工作情况的报告.docx
- 市民政局党组2024年巡察整改工作情况报告.docx
文档评论(0)