| LMB-018A显示模块的原理及与DSP的接口 |
| 类别:显示与光电 |
|                         摘要:LMB-018A是深圳拓微电子有限公司推出的内含控制器和驱动器的点阵式液晶显示模块。文中介绍了该模块的原理及功能,给出了其与DSP接口的硬件电路和软件设计方法。 关键词:液晶显示模块;DSP;LMB-018A与LED显示方式相比液晶显示器件具有工作电压低、功耗小、显示信息量大、寿命长、不产生电磁辐射污染,而且可显示复杂的文字及图形等优点特别适合在低功耗设备中应用,因此在移动通讯、仪器仪表、电子设备、家用电器等方面有着日益广泛的应用。本文介绍的LMB-018A点阵式图形液晶显示模块是深圳拓微(TOPWAY)电子有限公司推出的、内藏驱动器和控制器的液晶显示模块。1 LMB-018A的工作原理LMB-018A由一块128×64的点阵液晶屏和控制芯片及其辅助电路组成,其原理图如图1所示。1.1 端口功能LMB-018A的接口有8位三态数据线D0~D7、命令数据线A0、串行并行接口选择端P/S、片选线CS1、CS2以及读写控制线WR(R/ W)和RD(E)等。1.2 关键信号说明在LMB-018A的主要引出信号中,A0信号用于指示LMB-018A模块接收或送出的信息是数据,还是指令状态信息。A0为1表示当前信息为数据,A0为0则表示当前信息为指令码。R/ W和E分别为该模块的读写信号和使能信号,它们均为高电平有效。D0~D7为数据线,三态。2 LMB-018A液晶显示模块的应用2.1 LMB-018A和DSP的接口TI公司的TMS320LF2407 DSP开发板结构紧凑,板上资源简洁实用,相配的DSP开发调试软件CCS(Code Composer Studio)功能强大、使用方便。开发板上将TMS320LF2407的所有信号地址总线、数据总线、控制信号、JTAG测试/仿真信号(都已引出)用户可以很容易地利用这些信号搭建配置目标硬件系统并使用CCS进行编程调试。本文就是利用TMS320LF2407丰富的I/O口与点阵液晶显示模块LMB-018A相连接同时在此基础上进行仪器的软件开发和调试。图2是LMB-018A液晶显示模块和TMS320LF2407 DSP的接口电路。2.2 LMB-018A和DSP的接口软件设计图3是程序初始化流程和向模块写显示数据的主要流程。通常在A0=0CS1=0,CS2=1RD=0WR=1的条件下CPU将从LMB-018A的数据线上读出状态信息。本模块一般不用读模块的状态来查询是否能往模块中写数据,只要每次向模块写数据后都保持一定的延时就能达到模块的要求。而当A0=1,CS1=0,CS2=1,WR=1,RD=0时,CPU便只能从LMB-018A数据线上读数据。如果A0=1,而CS1=0,CS2=1,RD=1,WR=0,那么CPU则可以向LMB-018A写入数据。而当A0=0,CS1=0,CS2=1,RD=1,WR=0时,CPU可以向LMB-018A写入命令字。在读写有关数据时首先要把LMB-018A指令写入指令寄存器中,并由它选通所需的外部RAM或寄存器通道,然后再读写所需数据。主控CPU通过接口将指令写入到液晶模块以设置适当的工作方式或控制液晶模块实现某种功能。其常用指令如图4所示。 下面是LMB-018A和DSP进行接口的初始化子程序及向显示模块写显示数据的主要程序清单:;初始化液晶显示器子程序LCDINITLDP #0E1HLACL PCDATDIROR #0010HAND #0FFF3H ;E=1 R/ W=0 A0=0SACL PCDATDIRLDP #DP_USERSPLK #0A3H,LCDCMD ;置LCD偏压比CALL COMWELDP #DP_USERSPLK #0A0H,LCDCMD ;ADC选择CALL COMWELDP #DP USERSPLK #89H,LCDCMD ;设置寄存器电压CALL COMWELDP #DP USERSPLK #02FH,LCDCMD ;置供电控制CALL COMWELDP #DP_USERSPLK #0A6H,LCDCMD ;正常显示CALL COMWELDP #DP_USERSPLK #0AFH,LCDCMD ;打开显示CALL COMWERET;写命令子程序COMWELDP #0E1HLACL PCDATDIRAND #A0_L ;A0=0:控制命令SACL PCDATDIRLACL PBDATDIROR #0FF00H ;IOPB[0~7]设置为输出AND #0FF00H ;IOPB[0~7]=0LDP #DP_USEROR LCDCMD ;IOPB[0~7]=LCDCMDLDP #0E1HSACL PBDATDIR ;送入CALL EnableRET;写数据子程序DWE:LDP #0E1HLACL PCDATDIROR #A_H ;A0=1SACL PCDATDIRLACL PBDATDIROR #0FF00H ;IOPB[0~7]设置为输出AND #0FF00H ;IOPB[0~7]=0LDP #DP_USEROR LCDDATA ;IOPB[0~7]=LCDDATALDP #0E1HSACL PBDATDIR 送显示的数据CALL EnableMAR *,AR7ADRK #1 ;列地址增1,以便向下一列写数LDP #DP_USERRET 通常的LMB-018A程序包括写LCD命令、移动光标到指定位、在当前位显示LCD数据子程序等,利用该系统能实现自动翻屏,动态显示数据或图形。该模块原理简单,具有子程序调用方便、能自建字符串库、可观性强等优点,实现起来比较方便。           |
- 光电三极管的特性
- 2007-12-6
- 光电二极管基本特性..
- 2007-12-6
- 如何利用可编程器件..
- 2007-11-22
- 彩色液晶显示系统的..
- 2007-11-22
- 基于ARM和FPG..
- 2007-11-19
- 京东方4.5代TF..
- 2007-11-1
- PLC和点阵液晶显..
- 2007-8-7
- IMP803高电压..
- 2007-8-9
- LCD动态显示驱动..
- 2007-8-7
- 小型荧光灯用400..
- 2007-8-7
- 高速激光驱动器MA..
- 2007-8-7
- uPD16305在..
- 2007-8-9
- 基于DSP的实时红..
- 2007-8-7
- 光电耦合器的发展及..
- 2007-8-9
- 在P87LPC67..
- 2007-8-9
- 1036×1010..
- 2007-7-29
- 红外焦平面阵列用信..
- 2007-8-7
- CMOS线性敏感器..
- 2007-8-9
- 基于SoC的数字摄..
- 2007-8-7
- 自动擦窗机视觉定位..
- 2007-8-9



