新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > LMB-018A顯示模塊的原理及與DSP的接口

        LMB-018A顯示模塊的原理及與DSP的接口

        作者: 時間:2005-01-27 來源:網絡 收藏

        摘要:是深圳拓微電子有限公司推出的內含控制器和驅動器的點陣式液晶。文中介紹了該及功能,給出了其與的硬件電路和軟件設計方法。

        關鍵詞:液晶

        與LED方式相比?液晶顯示器件具有工作電壓低、功耗小、顯示信息量大、壽命長、不產生電磁輻射污染,而且可顯示復雜的文字及圖形等優點?特別適合在低功耗設備中應用,因此在移動通訊、儀器儀表、電子設備、家用電器等方面有著日益廣泛的應用。本文介紹的LMB-018A點陣式圖形液晶顯示模塊是深圳拓微(TOPWAY)電子有限公司推出的、內藏驅動器和控制器的液晶顯示模塊。

        1 LMB-018A的工作

        LMB-018A由一塊12864的點陣液晶屏和控制芯片及其輔助電路組成,其圖如圖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=0?CS1=0,CS2=1?RD=0?WR=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進行接口的初始化子程序及向顯示模塊寫顯示數據的主要程序清單:

        ;初始化液晶顯示器子程序

        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 ;打開顯示

        CALL COMWE

        RET

        ;寫命令子程序

        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

        ;寫數據子程序

        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,以便向下一列寫數

        LDP #DP_USER

        RET

        圖4

        通常的LMB-018A程序包括寫LCD命令、移動光標到指定位、在當前位顯示LCD數據子程序等,利用該系統能實現自動翻屏,動態顯示數據或圖形。該模塊原理簡單,具有子程序調用方便、能自建字符串庫、可觀性強等優點,實現起來比較方便。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 扎囊县| 莲花县| 溧阳市| 长乐市| 东至县| 望都县| 嘉黎县| 苍山县| 维西| 星子县| 龙陵县| 宁晋县| 乌兰浩特市| 邮箱| 大同市| 临夏县| 乐都县| 威远县| 宁远县| 常宁市| 无锡市| 武邑县| 甘泉县| 汝南县| 乌兰浩特市| 安达市| 论坛| 富平县| 漳浦县| 静宁县| 隆回县| 襄垣县| 安化县| 马边| 杨浦区| 泸西县| 沙田区| 靖宇县| 兰考县| 惠州市| 施秉县|