LCD显示模块并行接口驱动程序设计.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LCD显示模块并行接口驱动程序设计

LCD显示模块并行接口驱动程序设计 LCM知识 2010-04-29 09:11:45 阅读23 评论0字号:大中小 0 引 言 人们在日常生活中,LCD占有很大的地位。人们使用的电脑、手机、车载系统、各种测量设备、显示设备等等,都把LCD作为重要的人机接口,它把使用者需要的信息及时反应出来。目前市场上存在着各种LCD和相对应的驱动模块,驱动模块所带的驱动程序都是针对本身模块开发的,各种驱动程序之间通用性差,而且在不同的平台上很难移植。每换一种LCD产品,都要根据它的驱动模块重写驱动程序。这样产品开发资源浪费,开发周期长,成本增加。本文将介绍一种LCD图形液晶驱动器的使用方法以及程序裁剪、移植和扩展,实现在任意坐标上显示图形和汉字。这款驱动器不带字库,对需要显示的汉字和字母通过字模产生器产生数据,通过程序设计把字体在LCD通过描点描述出来(本文所用的字模采用阳码)。 1 典型图形LCD驱动器NHC_313简介 1.1 驱动器简介 NHC_313驱动器驱动最大点阵数为640(列)×480(行),显示颜色为65536色(16位色)。本文所用的LCD为SHARP公司产品,产品型号为LQ104V1DG52。NHC_313有8位复用并行接口一数据总线和控制总线。MCU可以通过总线对LCD进行操作,随时写显示存储器,而不影响显示效果,即显示不会出现“雪花”。NHC_313内部有两页显示缓存,使用人员可以让一页缓存的数据在LCD上显示出来,同时可以对第二页的缓存进行操作。此驱动器与微处理器接口连接简单,接口的读、写操作兼容8031总线时序。这款驱动器只是单纯的图形图像显示,没有内置字库、图形库。如果设计人员要显示汉字,必须要把需要的汉字用字模生成器产生字模的16进制文件,然后通过程序控制把需要的字体逐一描到LCD上。驱动器的控制引脚如下: WR:数据写入,低电平有效 CS:片选端,低电平有效 A0:地址信号线0 A1:地址信号线1 DB0~DB7:数据总线 对NHC_313读写的时候采用8031时序,如图1为NHC_313接口电路8031时序图,在表1中列出了接口的时序特征参数。 当驱动器与8051等I/O口读写速度不是很快的MCU连接时,I/O的特性其本上可以满足表1的时序特征参数,图2给出的是MCU和驱动器无缝连接的接口电路,这种方法是采用IO模拟时序的时候用到的引脚(不止局限于图中列出的引脚),本文建议采用I/O口模拟时序的方法控制驱动器。要注意的是如果 I/O的读写速度过快则不能满足接口时序特性参数。例如采用Silab公司的C8051F340作为NHC_313的MCU,由于C8051F340的内部晶振为48MHz,I/O读写速度不能很好满足时序特性(写周期不能满足),所以在程序设汁中会看到有延时程序。而Atmel 8051系列单片机I/O可以满足表1的时序参数特性,不需要加入延时程序。 表2为驱动器命令,由于显示的像素点数为640(列)×480(行),对于8位的I/O不能一次的把行和列的信息完全表示出来,由此设置了行列的高低地址(8位地址线只能表示0~255的地址信息)。 对驱动器进行写操作要遵循以下规律: a)设定显示页和操作页地址(A1=A0=1,CS=0,WR=0) D1-D0设定列地址高字节;D2设定行地址高字节。开机时先执行此操作再执行其他操作。 b)写行地址低字节。(A1=0,A0=1) c)写列地址低字节字节。(A1=1,A0=0) d)连续写两次8位字节对应一个像素点颜色(A1=0,A0=0)。第一个字节: R4、R3、R2、R1、R0表示红色灰度;G5、G4、G3、G2、G1、G0表示绿色灰度;B4、B3、B2、B1、B0表示蓝色灰度。如在同一行内连续写数据不用每次重写行坐标和列坐标,每一次“写数据”操作后列地址自动加1,即每写两个字节显示数据列地址自动加1。 1.2 关于液晶屏的简单说明 本文中的液晶显示器显示的颜色数量为65536种一16位色,对一个像素点所要显示的颜色需要用两个字节的数据来表示。需要注意的是,LCD的坐标系同数学上的坐标系有所不同,LCD的坐标系如图3所示。 坐标系上的点和LCD的像素点是一一对应的,每一个像素点用坐标系的横纵坐标唯一标识。由于八位的数据线只能表示0~255的范围,所以把LCD分割成了图3中的几个区域,这些区域保证了横纵坐标范围在0~255之内,通过设置行列高低地址选择所要显示的区域。每个区域独立为一个小的坐标系,如图3中的F 区域所示,区域中的点用这个小坐标系的坐标唯一表示。例如在选择LCD上点(630,420),通过整体坐标轴把这个点定位到F区,通过简单的计算得知此点在F区域坐标下的新坐标值为(118,108)。选择区域的过程就是设置行列高低地址的过程,也可以理解为地址的写

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档