新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 內含標準字庫的中文液晶模塊OCMJ5X10

        內含標準字庫的中文液晶模塊OCMJ5X10

        作者: 時間:2004-12-08 來源:網絡 收藏
        摘要:介紹一種GB2312國標一級簡體漢的圖形點陣顯示;對該的性能特點、接口協議、接口時序、用戶命令作了詳盡的描述,并給出與單片機的硬件接口電路及相應的顯示程序。

        關鍵詞:圖形 單片機

        引 言

        1 概 述

          由于圖形點陣顯示模塊具有顯示信息豐富(可顯示漢字、字符、曲線、圖形)、功耗低、體積小、質量輕、壽命長、不產生電磁輻射污染等優點,因而是單片機系統中理想的顯示器件。近年來被廣泛應用于單片機控制的智能儀器儀表、工業控制領域、通信器材和家用電器中。目前,國內在單片機系統中用于顯示時,使用的液晶顯示模塊主要存在以下幾方面的不足。

          ① 占用ROM空間大。以圖形方式顯示漢字,每個漢字將占用32字節的ROM空間,因此限制了顯示漢字字符的數量。此點對內部Flash閃存數量較小的單片機,影響尤為嚴重。

          ② 與單片機的硬件接口電路復雜。該類型模塊除使用8根數據線外,尚需使用片選、寄存器選擇、讀/寫選擇、使能控制等控制線,使得對單片機的硬件資源占用較為嚴重。

          ③ 接口時序復雜,軟件編程繁復。

          上述的幾點內容限制了液晶顯示技術在單片機系統中的應用。

          這里介紹的是16080點陣的圖文液晶圖形顯示器模塊。該模塊的內部由于含有國標一級簡體,使得漢字的顯示異常方便;同時,該模塊與單片機的硬件接口除數據總線外,僅使用了REQ/BUSY兩根握手信號線,簡化了與單片機的硬件接口電路設計。上述特點對軟件、硬件資源均十分緊張的單片機系統來說是十分重要的。

        圖1 寫漢字時序圖

        2 主要特點及引腳定義

          以下是中文液晶顯示模塊的主要特性。

        ① OCMJ5X10中文液晶顯示器模塊 GB 2312 1616點陣國標一級簡體漢字和 ASCII 88(半高)及816(全高)點陣英文字庫。用戶輸入區位碼或 ASCII 碼即可實現文本顯示。

        ② OCMJ5X10中文液晶顯示模塊也可用作一般的點陣圖形顯示器,提供位點陣和字節點陣兩種圖形顯示功能。用戶可在指定的屏幕位置上以點為單位或以字節為單位進行圖形顯示。完全兼容一般的圖形點陣模塊。

        ③ OCMJ5X10中文液晶顯示模塊可以實現漢字、ASCII 碼、點陣圖形和變化曲線的同屏顯示,并可通過字節點陣圖形方式造字。

        ④ OCMJ5X10中文液晶顯示模塊具有上/下/左/右移動當前顯示屏幕及清除屏幕的命令,一改傳統的使用大量的設置命令進行初始化的方法。OCMJ5X10 中文模塊所有的設置初始化工作都是在上電時自動完成的,實現了“即插即用”;同時,保留了一條專用的復位線供用戶選擇使用,可對工作中的模塊進行軟件或硬件強制復位。規劃整齊的10個用戶接口命令代碼,非常容易記憶。用戶硬件接口采用REQ/BUSY 握手協議,簡單可靠。

        ⑤ OCMJ5X10中文液晶顯示模塊使用+5V單電源,同時由模塊內部提供顯示驅動負電壓,簡化了系統電源的設計。該模塊還具有LED背光源。

          OCMJ5X10中文圖文液晶顯示器的引腳說明如表1所列。

        表1 OCMJ5X10引腳說明

        引 腳名 稱方 向

        說 明

        1VLED-I背光源負極(LED-OV)
        2VLED+I背光源正極(LED+5V)
        3VSSI
        4VDDI(+5V)
        5~12DB0~DB7I數據0~7
        13BUSYO=1,已收到數據并正在處理中;
        =0,模塊空閑,可接收數據
        14REQI請求信號,高電平有效
        15RESI復位信號,低電平有效
        16NC  
        17RT1 LCD灰度調整,外接電阻端
        18RT2 LCD灰度調整,外接電阻端

        3 硬件接口協議及接口時序

          OCMJ5X10模塊與CPU的接口除了使用DB0~DB7口8根數據線外,僅使用了REQ和BUSY兩根控制線,構成請求/應答(REQ/BUSY)握手方式,省略了傳統模塊接口方式的片選、讀寫控制、指令/數據選擇、使能控制等控制線,從而使硬件接口及軟件時序變得非常簡單。在硬件資源十分緊張的應用系統中,也可采用REQ單線延時控制方式,從而把硬件資源占用降至最低。接口協議如下:當BUSY線為高電平時(BUSY =1),表示模塊忙于內部處理,不能接收用戶命令;而BUSY為低電平時(BUSY =0),表示模塊空閑,等待接收用戶命令。CPU可在BUSY為低后的任意時刻開始發送命令。首先,把用戶命令的當前字節放到數據線上,接著發送高電平REQ 信號,通知模塊,請求處理當前數據線上的命令或數據。模塊在收到外部的REQ高電平信號后,立即讀取數據線上的命令或數據,同時將應答線BUSY變為高電平,表明模塊已收到數據并正在忙于對此數據的內部處理。此時,用戶對模塊的寫操作已經完成,可以撤消數據線上的信號并可做模塊顯示以外的其它工作,也可不斷地查詢BUSY是否為低。如果BUSY =0,說明模塊對用戶的寫操作已經執行完畢,可以再送下一個數據。如向模塊發出一個完整的顯示漢字的命令,包括顯示坐標及漢字代碼在內共需5個字節,模塊在接收到最后一個字節后,才開始執行整個命令的內部操作;因此,最后一個字節的應答BUSY 高電平(BUSY =1)持續時間較長。這里以寫入漢字命令的時序為例,給出 圖1所示的OCMJ5X10時序圖,對應的具體時間參數說明如表2所列。

        表2 OCMJ5X10模塊時間參數

        編 號參數名稱最小值最大值

        說 明

        1tr/μs0.4-數據線上數據穩定時間
        2tb/μs220最大模塊響應時間
        3trt/μs11-最小REQ保持時間
        4ts1/μs2045最大數據接收時間
        5ts2/ms-30最大命令指令處理時間

        4 用戶命令

          OCMJ5X10模塊共有3類10條命令,每條命令分為操作碼和操作數兩部分,操作數為十六進制數。下面介紹該模塊的用戶命令。

        (1)顯示國標漢字

        命令格式 F0 XX YY QQ WW

        XX:以漢字為單位的屏幕行坐標值。

        YY:以漢字為單位的屏幕列坐標值。

        QQ WW:坐標位置上要顯示的GB 2312漢字區位碼。

        OCMJ5X10模塊由于內部含有中文字庫,因此中文字符的顯示非常簡單,只需給出該漢字的區位碼即可顯示該字。區位碼表可參見GB2312字符集。

        (2)顯示88 ASCII字符

        命令格式 F1 XX YY AS

        該命令為4字節命令(最長執行時間為0.8ms,ts2= 0.8ms)。

        XX:以ASCII碼為單位的屏幕行坐標值。

        YY:以ASCII碼為單位的屏幕列坐標值。

        AS:坐標位置上要顯示的ASCII 字符碼。

        (3)顯示816 ASCII字符

        命令格式 F9 XX YY AS

        操作數意義同上。

        (4)顯示位點陣

        命令格式 F2 XX YY

        該命令為3字節命令(最長執行時間為0.1ms,ts2= 0.1ms)。

        (5)顯示字節點陣

        命令格式 F3 XX YY BT

        該命令為4字節命令(最長執行時間為0.1ms,ts2= 0.1ms)。

        (6)清 屏

        命令格式 F4

        該命令為單字節命令(最長執行時間為11ms,ts2=11ms),其功能為將屏幕清空。

        (7)上 移

        命令格式 F5

        該命令為單字節命令(最長執行時間為25ms,ts2=25ms),其功能為將屏幕向上移動一個點陣行。

        (8)下 移

        命令格式 F6

        該命令為單字節命令(最長執行時間為30ms,ts2=30ms),其功能為將屏幕向下移動一個點陣行。

        (9)左 移

        命令格式 F7

        該命令為單字節命令(最長執行時間為12ms,ts2=12ms),其功能為將屏幕向左移動一個點陣行。

        (10)右 移

        命令格式 F8

        該命令為單字節命令(最長執行時間為12ms,ts2=12ms),其功能為將屏幕向右移動一個點陣行。

        圖2 OCMJ5X10液晶顯示模塊與AT89C52單片機的接口電路

        5 具體應用

          由于OCMJ5X10內部具有中文字庫,且使用了簡單的兩線握手協議,因而將其應用在嵌入式系統中,可簡化顯示電路的硬件接口設計及軟件編程。雖然模塊與單片機之間數據的傳輸采用并行模式,占用單片機系統的硬件資源相對較多,但是相應顯示軟件的編制卻要比采用串行接口模式的中文字庫液晶模塊相對簡單。尤其是圖形顯示界面設計,利用OCMJ5X10提供的顯示字節點陣命令(線繪圖),可方便、快捷地繪制出顯示圖形。此點在繪圖速度、ROM空間占用等方面優于串行接口模式的液晶模塊。下面給出OCMJ5X10在嵌入式系統中的具體應用,包括硬件接口電路及軟件編程。

        5.1 硬件接口電路

           這里以AT89C52單片機為例,給出OCMJ5X10液晶顯示模塊與單片機的接口電路。單片機與模塊采用間接控制方式和REQ/BUSY握手方式。AT89C52的P1.0~P1.7口與模塊的DB0~DB7數據線相連,P3.4與模塊BUSY線相連,P3.5與模塊REQ線相連;晶振為12MHz,模塊采用上電自動復位。AT89C52與OCMJ5X10的接口電路如圖2所示。

        5.2 顯示軟件

        下面給出與上述硬件電路配套的顯示子程序。其包括初始化、顯示漢字、顯示816點陣ASCII字符、點繪圖及線繪圖子程序。可根據顯示需要在主程序的相應位置調用,即可實現相應的顯示功能。OCMJ5X10內部含有GB 2312一級字庫,可滿足絕大部分應用系統漢字顯示的需要。對于一級國標字庫內所沒有的漢字或需要顯示復雜圖形時,可通過調用繪點及繪線子程序來實現任意復雜漢字或圖形的顯示。

        ;位定義

        BUSY BIT P3.4

        REQ BIT P3.5

        ;數據定義

        X DATA 30H ;屏幕行坐標緩沖區

        Y DATA 31H ;屏幕列坐標緩沖區

        DATAH DATA 32H ;顯示值高位

        DATAL DATA 33H ;顯示值低位

        ;初始化子程序

        INT: MOV SP,#60H ;設堆棧

        CLR REQ ;請求線清0

        SETB BUSY ;將P3.4設為輸入口

        RET

        ;寫模塊子程序

        SUB1: JB BUSY ,SUB1 ;確信模塊空閑

        MOV P1 , A ;向總線送數椐

        NOP ;等待數據總線穩定

        SETB REQ ;向模塊發請求命令

        WAIT: JNB BUSY,WAIT ;等待模塊響應

        CLR REQ ;清REQ

        RET ;返回

        ;寫漢字程序

        HZ: MOV A , #0F0H ;寫顯示漢字命令

        ACALL SUB1

        MOV A , X

        ACALL SUB1 ;寫屏幕行坐標值

        MOV A , Y

        ACALL SUB1 ;寫屏幕列坐標值

        MOV A , DATAH

        ACALL SUB1 ;寫區位碼高位

        MOV A , DATAL

        ACALL SUB1 ;寫區位碼低位

        RET

        ;寫816 ASCII碼程序

        ASC2:MOV A , #0F9H ;寫顯示816 ASCII

        ACALL SUB1 ;字符命令

        MOV A , X

        ACALL SUB1 ;寫屏幕行坐標值

        MOV A , Y

        ACALL SUB1 ;寫屏幕列坐標值

        MOV A , DATAL

        ACALL SUB1 ;寫字符ASCII碼

        RET

        ;點繪圖子程序

        HD: MOV A , #0F2H;寫顯示位點陣命令

        ACALL SUB1

        MOV A , X ;寫點屏幕行坐標值

        ACALL SUB1

        MOV A , Y ;寫點屏幕列坐標值

        ACALL SUB1

        RET

        ;線繪圖子程序

        HX: MOV A , #0F3H;寫顯示位點陣命令

        ACALL SUB1

        MOV A , X ;寫點屏幕行坐標值

        ACALL SUB1

        MOV A , Y ;寫點屏幕列坐標值

        ACALL SUB1

        MOV A , DATAL

        RET

        ;清屏程序

        CLR: MOV A , #0F4H ;寫清屏命令

        ACALL SUB1

        RET

        結 語

          利用OCMJ5X10中文圖文液晶模塊相對簡單的硬件接口及簡單的用戶命令,可為嵌入式系統設計出顯示信息量大且顯示信息豐富的全中文人機界面,避免了傳統液晶模塊中文圖形顯示界面復雜的硬件接口設計及軟件編程。該模塊為嵌入式系統人機界面設計提供了一種較好的解決方案。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 九龙城区| 炎陵县| 通许县| 庆云县| 启东市| 班玛县| 桓台县| 寻甸| 新乡县| 阳西县| 名山县| 黄骅市| 鸡泽县| 浙江省| 尤溪县| 金寨县| 祁门县| 金华市| 临清市| 伊春市| 东城区| 安塞县| 丹棱县| 进贤县| 青河县| 理塘县| 磐安县| 尖扎县| 武城县| 搜索| 仁寿县| 专栏| 恩平市| 香港 | 芦溪县| 响水县| 楚雄市| 麻阳| 临安市| 清新县| 兴宁市|