LMB-018A顯示模塊的原理及與DSP的接口
摘要:LMB-018A是深圳拓微電子有限公司推出的內含控制器和驅動(dòng)器的點(diǎn)陣式液晶顯示模塊。文中介紹了該模塊的原理及功能,給出了其與DSP接口的硬件電路和軟件設計方法。
與LED顯示方式相比?液晶顯示器件具有工作電壓低、功耗小、顯示信息量大、壽命長(cháng)、不產(chǎn)生電磁輻射污染,而且可顯示復雜的文字及圖形等優(yōu)點(diǎn)?特別適合在低功耗設備中應用,因此在移動(dòng)通訊、儀器儀表、電子設備、家用電器等方面有著(zhù)日益廣泛的應用。本文介紹的LMB-018A點(diǎn)陣式圖形液晶顯示模塊是深圳拓微(TOPWAY)電子有限公司推出的、內藏驅動(dòng)器和控制器的液晶顯示模塊。
1?。蹋停拢埃保福恋墓ぷ?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/原理">原理
LMB-018A由一塊12864的點(diǎn)陣液晶屏和控制芯片及其輔助電路組成,其原理圖如圖1所示。
1.1 端口功能
LMB-018A的接口有8位三態(tài)數據線(xiàn)D0~D7、命令數據線(xiàn)A0、串行并行接口選擇端P/S、片選線(xiàn)CS1、CS2以及讀寫(xiě)控制線(xiàn)WR(R/ W)和RD(E)等。
1.2 關(guān)鍵信號說(shuō)明
在LMB-018A的主要引出信號中,A0信號用于指示LMB-018A模塊接收或送出的信息是數據,還是指令狀態(tài)信息。A0為1表示當前信息為數據,A0為0則表示當前信息為指令碼。R/ W和E分別為該模塊的讀寫(xiě)信號和使能信號,它們均為高電平有效。D0~D7為數據線(xiàn),三態(tài)。
2 LMB-018A液晶顯示模塊的應用
2.1 LMB-018A和DSP的接口
TI公司的TMS320LF2407 DSP開(kāi)發(fā)板結構緊湊,板上資源簡(jiǎn)潔實(shí)用,相配的DSP開(kāi)發(fā)調試軟件CCS(Code Composer Studio)功能強大、使用方便。開(kāi)發(fā)板上將TMS320LF2407的所有信號?地址總線(xiàn)、數據總線(xiàn)、控制信號、JTAG測試/仿真信號(都已引出)用戶(hù)可以很容易地利用這些信號搭建配置目標硬件系統?并使用CCS進(jìn)行編程調試。本文就是利用TMS320LF2407豐富的I/O口與點(diǎn)陣液晶顯示模塊LMB-018A相連接?同時(shí)在此基礎上進(jìn)行儀器的軟件開(kāi)發(fā)和調試。圖2是LMB-018A液晶顯示模塊和TMS320LF2407 DSP的接口電路。
2.2 LMB-018A和DSP的接口軟件設計
圖3是程序初始化流程和向模塊寫(xiě)顯示數據的主要流程。通常在A0=0?CS1=0,CS2=1?RD=0?WR=1的條件下?CPU將從LMB-018A的數據線(xiàn)上讀出狀態(tài)信息。本模塊一般不用讀模塊的狀態(tài)來(lái)查詢(xún)是否能往模塊中寫(xiě)數據,只要每次向模塊寫(xiě)數據后都保持一定的延時(shí)就能達到模塊的要求。而當A0=1,CS1=0,CS2=1,WR=1,RD=0時(shí),CPU便只能從LMB-018A數據線(xiàn)上讀數據。如果A0=1,而CS1=0,CS2=1,RD=1,WR=0,那么CPU則可以向LMB-018A寫(xiě)入數據。而當A0=0,CS1=0,CS2=1,RD=1,WR=0時(shí),CPU可以向LMB-018A寫(xiě)入命令字。在讀寫(xiě)有關(guān)數據時(shí)?首先要把LMB-018A指令寫(xiě)入指令寄存器中,并由它選通所需的外部RAM或寄存器通道,然后再讀寫(xiě)所需數據。
主控CPU通過(guò)接口將指令寫(xiě)入到液晶模塊以設置適當的工作方式或控制液晶模塊實(shí)現某種功能。其常用指令如圖4所示。
下面是LMB-018A和DSP進(jìn)行接口的初始化子程序及向顯示模塊寫(xiě)顯示數據的主要程序清單:
;初始化液晶顯示器子程序
LCDINIT?LDP #0E1H
LACL PCDATDIR
OR #0010H
AND #0FFF3H ?;E=1 R/ W=0 A0=0
SACL PCDATDIR
LDP #DP_USER
SPLK #0A3H,LCDCMD ;置LCD偏壓比
CALL COMWE
LDP #DP_USER
SPLK #0A0H,LCDCMD ?;ADC選擇
CALL COMWE
LDP #DP USER
SPLK #89H,LCDCMD ;設置寄存器電壓
CALL COMWE
LDP #DP USER
SPLK #02FH,LCDCMD ;置供電控制
CALL COMWE
LDP #DP_USER
SPLK #0A6H,LCDCMD ;正常顯示
CALL COMWE
LDP #DP_USER
SPLK #0AFH,LCDCMD ;打開(kāi)顯示
CALL COMWE
RET
;寫(xiě)命令子程序
COMWE?LDP #0E1H
LACL PCDATDIR
AND #A0_L ?;A0=0:控制命令
SACL PCDATDIR
LACL PBDATDIR
OR #0FF00H ;IOPB[0~7]設置為輸出
AND #0FF00H ?;IOPB[0~7]=0
LDP #DP_USER
OR LCDCMD ;IOPB[0~7]=LCDCMD
LDP #0E1H
SACL PBDATDIR ;送入
CALL Enable
RET
;寫(xiě)數據子程序
DWE:LDP #0E1H
LACL PCDATDIR
OR #A_H ;A0=1
SACL PCDATDIR
LACL PBDATDIR
OR #0FF00H ;IOPB[0~7]設置為輸出
AND #0FF00H ;IOPB[0~7]=0
LDP #DP_USER
OR LCDDATA ;IOPB[0~7]=LCDDATA
LDP #0E1H
SACL PBDATDIR ?送顯示的數據
CALL Enable
MAR *,AR7
ADRK #1 ;列地址增1,以便向下一列寫(xiě)數
LDP #DP_USER
RET
圖4
評論