truly-LCD-12864-驱动-软件设计书(供初学者参考).doc

上传人:汽*** 文档编号:559275884 上传时间:2023-07-27 格式:DOC 页数:25 大小:849.51KB
返回 下载 相关 举报
truly-LCD-12864-驱动-软件设计书(供初学者参考).doc_第1页
第1页 / 共25页
truly-LCD-12864-驱动-软件设计书(供初学者参考).doc_第2页
第2页 / 共25页
truly-LCD-12864-驱动-软件设计书(供初学者参考).doc_第3页
第3页 / 共25页
truly-LCD-12864-驱动-软件设计书(供初学者参考).doc_第4页
第4页 / 共25页
truly-LCD-12864-驱动-软件设计书(供初学者参考).doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《truly-LCD-12864-驱动-软件设计书(供初学者参考).doc》由会员分享,可在线阅读,更多相关《truly-LCD-12864-驱动-软件设计书(供初学者参考).doc(25页珍藏版)》请在金锄头文库上搜索。

1、软件详细设计模板秘密 机密 绝密软件详细设计(仅供内部使用)文 件 编 号:版 本 号:V 0. 1实 施 日 期:2011-08-05保 密 等 级:秘密 机密 绝密编 制:审 核:会 签:批 准:修订记录日期版本号描述作者2011-08-050.1初稿完成,功能还待完善目录1概述52硬件及开发模板52.1truly液晶52.2LCD板82.3ADS开发模板82.4ADS的仿真193基本设计193.1设计原理193.1.1国际ASCII码193.1.2汉字点阵字库原理193.1.3Bresenham算法193.1.4基于Bresenham的中心点画圆法193.2函数说明193.2.1Disp

2、_En193.2.2Disp_Ch193.2.3Disp_One193.2.4Disp_Str193.2.5Draw_Piexl193.2.6Draw_Line193.2.7Draw_Circle193.2.8Disp_Pic193.3流程图193.3.1显示中英文ASCII码字符程序Disp_En、Disp_Ch193.3.2显示单个字符Disp_One203.3.3显示字符串Disp_Str213.3.4显示像素Draw_Piexl223.3.5画直线Draw_Line233.3.6显示图片Disp_Pic244参考资料25关键词:TRULY液晶驱动摘 要:主要实现显示字符,图片,画点画直

3、线功能缩略语清单:缩略语原 文中文含义版权所有,侵权必究 第2页 共25页1 概述该本驱动采用品牌为truly 型号为MSG12864-42-E的液晶,该液晶为12864点阵,左右屏分别有片选信号CS1和CS2,为6464点阵。纵向取模字节倒序的方式。下个部分详细介绍。其他硬件环境是基于3AE硬件基础,只是替换了原LCD屏,并增加了一个负向电压用于提供该液晶对比度所需。编译和仿真环境为ADS1.2。本驱动主要实现了:816(8为横向,16位纵向,一个液晶点为单位1)的国际ASCII码、1616的一级常用汉字国标码、显示已知宽高的图片、建立了以屏幕最下一行为X轴,最左边的一列为Y轴的坐标系、并以

4、此为画板的画直线函数、画圆函数、2 硬件及开发模板*truly液晶型号为MSG12864-42-E组成。软件部分为H-JTAG、ADS1.2集成的开发环境(主要使用编译组件Code Warrior,仿真组件AXD Debug)。其中ADS中工程建立是以LPC2294.H为核心的模板。2.1 truly液晶truly液晶的主要操作部分。CS1H/L左半屏片选信号,CS1B=L输入有效CS2H/L右半屏片选信号,CS2B=L输入有效GND0V接地VCC5.0V逻辑供电电压V0-LCD供电电压,-4到-5V最佳RSH/LH:数据信号、L:命令信号R/WH/L读写信号:H:读信号,CPU可读DB0-D

5、B7;L:写信号,当片选信号CS=L,E的下降沿HL触发,LCD处理发送至DB0-DB7数据EH, HL使能信号:H:读模式(R/W=H) DB0-DB7产生数据;HL:写模式(R/W=L) DB0-DB7数据被锁定DB0H/L数据位0DB1H/L数据位1DB2H/L数据位2DB3H/L数据位3DB4H/L数据位4DB5H/L数据位5DB6H/L数据位6DB7H/L数据位7SLA4.2V背光灯阳极SLK0V背光灯阴极该液晶datasheet见附件。该液晶显示模块的指令系统比较简单,常用的有六种。现分别介绍如下:1. 显示开、关指令R/WD/IDB7DB6DB5DB4DB3DB2DB1DB000

6、00111111/0当DB0=1时,LCD开启显示;DB0=0时,关闭显示。2. 显示起始行设置指令R/WD/IDB7DB6DB5DB4DB3DB2DB1DB00011显示起始行(063)该指令设置了对应液晶屏幕最上一行的显示RAM的行号,有规律地改变显示起始行,可以实现滚屏效果。3. 页设置指令R/WD/IDB7DB6DB5DB4DB3DB2DB1DB00010111页号(07)显示RAM共64行,分8页,每页8行。4. 列地址设置指令R/WD/IDB7DB6DB5DB4DB3DB2DB1DB00001显示列地址(063)设置了页地址和列地址就唯一确定了显示RAM中的一个单元。5. 读状态指

7、令R/WD/IDB7DB6DB5DB4DB3DB2DB1DB010BUSY0ON/OFFRESET0000该指令用来查询液晶显示模块内部控制器的状态各参量含义如下:BUSY :1-内部在工作0-正常状态ON/OFF:1-显示关闭0-显示打开RESET:1-复位状态0-正常状态在BUSY和RESET状态时,除读状态指令外,其他指令均不对液晶显示模块产生作用。在对液晶显示模块进行操作之前要查询BUSY状态,以确定是否可以对液晶显示模块进行操作。6. 写数据指令R/WD/IDB7DB6DB5DB4DB3DB2DB1DB001写数据2.2 3AE的LCD板LCD板ARM芯片问为LPC2136,大部分液

8、晶接口都兼容trulyMSG12864-42-E。下面是LCD板对液晶接口J1与Truly液晶对接表格LCD板J1序号LCD板J1接口Truly液晶接口序号Truly液晶接口LCD板J1序号LCD板J1接口Truly液晶接口序号Truly液晶接口1GND3GND11DB413DB42V+54VCC12DB514DB53VO外接负压VO13DB615DB64D/I6RS14DB716DB75R/W7R/W15CS11CS16E8E16CS22CS27DB09DB017RES-8DB110DB118VOUT-9DB211DB219LED+17SLA10DB312DB320LED-18SLK注:原液

9、晶采用正压供电,trulyMSG12864-42-E采用负压供电。LCD板电路图见附件。2.3 ADS开发模板 该驱动在ADS编程环境,以LPC2294.h为核心的工程模板,为基础开发。LPC2294兼容LPC2136的各项设置。模板原始文件包括mem_a.scf、mem_b.scf、mem_c.scf、target.h、config.h、Starup.s、target.c、IRQ.s、main.c。模板建立之后,还需要定义IO口的文件,还需要把LPC2294.h添加到config.h中。由于我是嫁接的3AELCD所以IO口设置和操作也和3AE一样。LPC21XX系列包含有GPIO,以下是相关

10、资料:GPIO寄存器映射通用名称描述复位值IOPINGPIO引脚值。IO0PIN的位0位31对应P0.0P0.31。未定义IOSETGPIO输出置位,IOSET的位0位31对应P0.0P0.31。写入1对应引脚高电平,写入0无效IODIRGPIO方向寄存器。该寄存器单独控制每个I/O口的方向。IODIR的位0位31对应P0.0P0.31。IOCLRGPIO输出清零寄存器。2.4 ADS的仿真 编译通过之后就可以开始检查程序运行效果了。这里我们选择的是DebugInFLASH。在连接好H-JTAG口之后,使用软件H-JTAG进行连接,连接成功的话会显示芯片型号。然后再回到ADS选择DebugIn

11、FLASH即可。仿真过程可观察变量,单步执行,找出错误。3 基本设计对液晶屏的读写操作与以前的类似,只是注意液晶屏显示单元的模式,做相应调整。显示ASCII码字符注意是一个字符占2页,在第一页(字符上半部分)显示完之后需要自己将页地址加1,及列地址重置(由于LCD显示完一个单元,自动指向下个列地址)。如果遇到字符恰好占了左右两个屏,那么需要逐个显示左上部分,右上部分,左下部分,右下部分。字模数组的默认排列顺序:先上后下,先左后右。当然你也可以计算出各部分的数组,然后先左后右的显示。由于是跨屏,那么右半部分的列地址就一定是首列(0x40)页地址不变。由显示固定大小的字模扩展,显示已知大小的图片,

12、并支持多页,跨屏显示。画直线:如果使用传统的DDA画法,即使用斜率得出(x,y)值。由于涉及到大量的浮点数除法运算该类运算使用的运算周期比较大,故采用经典的Bresenham算法,Bresenham算法是计算机图形学领域使用最广泛的直线扫描转换方法。画圆:由Bresenham算法可得到启发,使用中心点判断画圆法。计算y和y-1的中心点y-0.5到圆心的距离与半径r比较,来判断理想的圆离(x+1,y)、(x+1,y-1)哪点近,y就取哪点的值。且圆是高度对称的理论上只要计算1/8就可以得出剩下的7/8。在这里考虑到屏幕分辨率比较小1/8与1/8组成的1/4的中间交接点可能有差尺,所以改计算1/4,然后换手剩下的3/4。3.1 设计原理3.1.1 国际ASCII码下表是ASCII表完整版ASCII码表完整版 ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符 0NUT32(space)6496、1SOH33!65A97a2STX34”66B98b3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号