欧美人与雌性宠物交,我在开会他在下添好爽在线视频,www.天天爽,日韩在线毛片

文章詳情

帶漢字庫(kù)液晶顯示模塊在單片機(jī)系統(tǒng)的應(yīng)用

日期:2024-11-20 02:16
瀏覽次數(shù):6161
摘要:

帶漢字庫(kù)液晶顯示模塊在單片機(jī)系統(tǒng)的應(yīng)用:
液晶顯示器(LCD)作為當(dāng)代高新技術(shù)的結(jié)晶產(chǎn)品,不但具有超薄平臺(tái)、顯示信息豐富的特點(diǎn),而且還具有體積小、耗電省、壽命長(zhǎng)、無(wú)輻射、抗震、防爆等其它類型顯示器無(wú)可比擬的優(yōu)點(diǎn),因而是單片機(jī)應(yīng)用系統(tǒng)中理想的顯示器件,近年來已被廣泛應(yīng)用于單片機(jī)控制的工控儀表、機(jī)電設(shè)備、**儀器儀表、信息家電、工控產(chǎn)品、數(shù)據(jù)采集等系統(tǒng)中。帶字庫(kù)液晶顯示器因它的編程快捷、方便、接口方式比較靈活等特點(diǎn)在單片機(jī)領(lǐng)域?qū)?huì)應(yīng)用更廣泛,本文將以介紹了一種內(nèi)含GB2312**、二級(jí)簡(jiǎn)體漢字字庫(kù)的圖形點(diǎn)陣液晶顯示模塊,文中選用長(zhǎng)沙太陽(yáng)人電子有限公司的SMG16032ZK帶漢字庫(kù)液晶顯示器(LCD),該模塊具有8位并行、4位并行和2/3線串行三種硬件接口方式,利用其串行接口方式,可節(jié)省大量單片機(jī)硬件資源。本文重點(diǎn)介紹其在接口方式上靈活性的解析。


關(guān)鍵詞  液晶顯示器(LCD)  中文字庫(kù)  串行接口  并行接口

                               

 

 

 

 

 

 

 

 

 


Abstract

The liquid crystal display (LCD ) as the crystallizationproducts of the contemporary new and high technology, not only haveultrathin platforms , show the characteristic with abundantinformation, and still have small , power consumptive provinces ,longe-lived , there are no such incomparable advantages of othertype displays as radiation , antidetonation , explosion-proof,etc., it is the ideal display device in the application system ofthe one-chip computer, widely used in worker that one-chip computercontrol accuse of instrument , electromechanical equipment ,top-grade instrument and apparatus , infromation householdappliances , worker accuse of products , data person who gathersystem already in recent years. Bring word storehouse liquidcrystal display swift programming because of it have , help ,interface way getting flexible characteristic use extensive in thefield of one-chip computer, in order to recommend one implicitGB2312 one , second simplified Chinese character figure latticeliquid crystal , word of storehouses show the module this text,select for use Changsha the sun SMG16032ZK , people of ElectronicsCo., Ltd. bring Chinese character base liquid crystal display inthe article (LCD), this module has 8 running side by side , 4running side by side and three kinds of serial hardware interfaceways of Line 2/3, utilize its serial interface way, can save alarge number of one-chip computer hardware resources . This textintroduces its analysis of the flexibility in interface wayespecially.

Keyword  Liquid-crystal display (LCD)  Chinesefonts  serial connection  parallel connection

 

 

 

 

 

 


目錄

一,    引言 ………………………………………………………………………………  4

二,    帶漢字庫(kù)液晶顯示器與不帶字庫(kù)液晶顯示器優(yōu)越性…………………  4

三,    SMG16032ZK液晶顯示器(LCD)的結(jié)構(gòu)與工作原理…………………… 5

四,    SMG16032ZK液晶顯示器(LCD)與單片機(jī)的接口……………………  7

五,    SMG16032ZK液晶顯示器(LCD)在串口方式上的應(yīng)用………………  7

六,    SMG16032ZK液晶顯示器(LCD)在并行接口上的應(yīng)用……………… 16

七,    結(jié)束語(yǔ)……………………………………………………………………………  24

參考文獻(xiàn)

 

 

 

 

 

 

 

 

一、引言

液晶顯示器(LCD)作為當(dāng)代高新技術(shù)的結(jié)晶產(chǎn)品,不但具有超薄平臺(tái)、顯示信息豐富的特點(diǎn),而且還具有體積小、耗電省、壽命長(zhǎng)、無(wú)輻射、抗震、防爆等其它類型顯示器無(wú)可比擬的優(yōu)點(diǎn),因而是單片機(jī)應(yīng)用系統(tǒng)中理想的顯示器件,近年來已被廣泛應(yīng)用于單片機(jī)控制的工控儀表、機(jī)電設(shè)備、**儀器儀表、信息家電、工控產(chǎn)品、數(shù)據(jù)采集等系統(tǒng)中。帶字庫(kù)液晶顯示器因它的編程快捷、方便、接口方式比較靈活等特點(diǎn)在單片機(jī)領(lǐng)域?qū)?huì)應(yīng)用更廣泛,本文介紹一種新型的可與單片機(jī)串行接口也可并行接口且內(nèi)部含有中文字庫(kù)的中文圖形點(diǎn)陣液晶顯示模塊。本文以長(zhǎng)沙太陽(yáng)人電子有限公司的SMG16032ZK帶漢字庫(kù)液晶顯示器為例,比較帶字庫(kù)與不帶字庫(kù)點(diǎn)陣液晶顯示器件的優(yōu)越性,闡述SMG16032ZK漢字液晶顯示器的結(jié)構(gòu)與工作原理、SMG16032ZK漢字液晶顯示器與單片機(jī)的接口技術(shù),闡述、分析串行接口和并行接口兩種接口方式在SMG16032ZK漢字液晶顯示器的應(yīng)用。通過闡述和分析為應(yīng)用帶字庫(kù)液晶顯示器(LCD)系統(tǒng)提供比較完善的參考。

二、帶漢字庫(kù)液晶顯示器與不帶字庫(kù)液晶顯示器優(yōu)越性

目前國(guó)內(nèi)在單片機(jī)系統(tǒng)中使用的普通的液晶顯示器(LCD)大多數(shù)都是不自帶漢字字庫(kù),以太陽(yáng)人電子公司的SMG12864及其兼容產(chǎn)品使用比較多。此類普通的液晶顯示器(LCD)占有ROM的容量大,因以圖形方式顯示漢字,每個(gè)漢字將占用32個(gè)字節(jié)的ROM,每個(gè)西文字符記錄占用32字節(jié),其中前16個(gè)字節(jié)為點(diǎn)陣數(shù)據(jù),后16個(gè)字節(jié)無(wú)效,這對(duì)內(nèi)部的FLASH閃存數(shù)量不是很大的單片機(jī)來說,使用起來就很受限制,而且在實(shí)際的應(yīng)用過程中,如果要調(diào)用大量的顯示內(nèi)容,這時(shí)還要根據(jù)顯示內(nèi)容,運(yùn)用漢字庫(kù)生成程序生成字庫(kù)文件,在應(yīng)用時(shí)再加以調(diào)用,所以在實(shí)際應(yīng)用當(dāng)中編程比較煩瑣。再加上這樣所生成字庫(kù)文件占用的內(nèi)存空間比較大,對(duì)于內(nèi)部的FLASH閃存數(shù)量較小的單片機(jī),影響尤為重要。而帶字庫(kù)的液晶顯示器(LCD),在實(shí)際應(yīng)用當(dāng)中可以直接調(diào)用它內(nèi)部漢字地址即可,所以在編程時(shí)比普通的液晶顯示器(LCD)更方便。此類普通的液晶顯示器(LCD)與單片機(jī)的硬件接口電路復(fù)雜,而且只有一種接口方式。該類型液晶顯示器(LCD)除使用8根數(shù)據(jù)線外,尚需使用片選、寄存器選擇、讀/寫選擇、使能控制等控制線來加以控制,使得對(duì)單片機(jī)的硬件資源占用較為嚴(yán)重,對(duì)于端口比較少的單片機(jī),應(yīng)用就非常受限制,同時(shí)該類液晶顯示器(LCD)對(duì)近年來廣為流行的小體積非總線型單片機(jī)硬件的不支持。軟件編程繁復(fù),通常的漢字顯示方式是先根據(jù)所需要的漢字提取漢字點(diǎn)陣(如16×16點(diǎn)陣),將點(diǎn)陣文件存入ROM,形成新的漢字編碼,而在使用時(shí)剛需要先根據(jù)新的漢字編碼組成語(yǔ)句,再由MCU根據(jù)新編碼提取相應(yīng)的點(diǎn)陣進(jìn)行漢字顯示。在這種顯示方式中,如果使用的流字?jǐn)?shù)量較大或語(yǔ)句較多時(shí),利用漢字的新編碼組成語(yǔ)句將是一件十分繁瑣而枯燥的工作。從而限制了液晶顯示技術(shù)在許多領(lǐng)域的應(yīng)用。
SMG16032ZK帶字庫(kù)的液晶顯示器(LCD)其接口方式有8位并行、4位并行和2/3線串行模式三種方式來供選擇,接口選擇可以由硬件直接控制也可以由程序來控制,使用非常方便。此款液晶模塊因自帶漢字庫(kù)對(duì)單片機(jī)的內(nèi)存沒有太多的要求而且在軟件編程時(shí)只需調(diào)用漢字地址碼即可。非常適用于現(xiàn)在市面上應(yīng)用廣泛的非總線型單片機(jī)的應(yīng)用。因而帶字庫(kù)的液晶顯示器(LCD)比普通的液晶顯示器(LCD)在接口和軟件編程上有更大的優(yōu)越性,在應(yīng)用時(shí)對(duì)單片機(jī)的選擇空間更大。

三、SMG16032ZK液晶顯示器(LCD)的結(jié)構(gòu)與工作原理

SMG16032ZK的點(diǎn)陣數(shù)160X32(見圖1:),可以顯示兩行,每行顯示10個(gè)漢字。該模塊的內(nèi)部的字形ROM內(nèi)含GB2312**、二級(jí)16X16點(diǎn)陣簡(jiǎn)體中文字庫(kù)(8129個(gè)漢字)及128個(gè)16X8點(diǎn)陣半寬的ASCⅡ碼英文字庫(kù)。另外繪圖顯示畫面提供一個(gè)64X256點(diǎn)的繪圖區(qū)域??捎糜诶L制任意復(fù)雜的圖形,同時(shí)內(nèi)部還含有CGRAM可提供4組軟件可編程規(guī)劃的16X16點(diǎn)陣的造字功能,用于內(nèi)部字庫(kù)所沒有的字形自建,該模塊與單片機(jī)的硬件接口具有三種模式分別是8位并行、4位并行和2/3線串行模式。同時(shí)該模塊還具有電源電壓范圍寬(2.7V~5.5V)、低功耗的特點(diǎn)。低電壓、低功耗特性使得該模塊非常適用于便攜式系統(tǒng)的應(yīng)用。SMG16032ZK模塊可實(shí)現(xiàn)漢字,ASCⅡ碼、點(diǎn)陣圖形、曲線的同屏顯示,并具有上、下、左、右移動(dòng)當(dāng)前顯示屏幕及**屏幕的命令,具有光標(biāo)顯示、閃爍控制命令及液晶睡眠、喚醒、關(guān)閉顯示命令。該模塊內(nèi)部還提供顯示驅(qū)動(dòng)負(fù)電壓,而無(wú)須外接負(fù)電壓故簡(jiǎn)化系統(tǒng)電源設(shè)計(jì),同時(shí)模塊內(nèi)部還具有LED背光源。由上述特性可知該模塊適用于各種單片機(jī)為核心構(gòu)成的儀器儀表及家用電器作為器件顯示。
表1 引腳說明
引腳    名稱    方向   說明    引腳    名稱   方向    說明
1    VSS    -   GND(0V)    11   DB4    I/O    數(shù)據(jù)4
2    VDD    -   Supply Voltage For Logic (+5v)   12    DB5    I/O   數(shù)據(jù)5
3    NCO    -   (懸空)    13    DB6   I/O    數(shù)據(jù)6
4    RS(CS)    H/L   H: Data    L: Instruction Code   14    DB7    I/O   數(shù)據(jù)7
5    R/W(STD)   H/L    H: Read    L:Write    15    PSB   H/L    H: Parallel Mode L: Serial Mode
6    E(SCLK)   H,H/L    EnableSignal               
               16    NC    -   NC
7    DB0    I/O   數(shù)據(jù)0    17    /REST   H/L    Reset Signal 低電平有效
8    DB1    I/O   數(shù)據(jù)1    18    NC   -    NC
9    DB2    I/O   數(shù)據(jù)2    19    A   -    LED+
10    DB3    I/O   數(shù)據(jù)3    20    K   -    LED-

圖1  模塊外型圖
SMG16032ZK液晶顯示器(LCD)的工作原理:
 此款帶字庫(kù)的液晶顯示器(LCD)采用臺(tái)灣矽創(chuàng)電子的一款ST7920為主控芯片。此芯片為點(diǎn)陣LCD控制/驅(qū)動(dòng)IC,可以顯示字母、數(shù)字字符、中文字型及自定圖象顯示,它可以提供三種控制界面,分別是8位元微處理器界面,4位元微處理器界面及串行界面,所以的功能包含顯示RAM,字型產(chǎn)生器,以及液晶驅(qū)動(dòng)電路和控制器,都包含在一個(gè)單晶片里面,只要一個(gè)*小的微處理系統(tǒng),就可以操作本LCD控制/驅(qū)動(dòng)IC。ST7920的字型ROM包括8129個(gè)16X16點(diǎn)的中文字形以及126個(gè)16X8點(diǎn)半寬的字符字型,另外繪圖顯示畫面提供一個(gè)64X256點(diǎn)的繪圖區(qū)域(GDRAM)??梢院臀淖之嬅婊旌巷@示,而且ST7920內(nèi)含CGRAM提供四組軟體可程式規(guī)劃的16X16造字功能。ST7920LCD驅(qū)動(dòng)器由32個(gè)Common及64個(gè)Segment所組成,Segment驅(qū)動(dòng)器的擴(kuò)充可以視需要有ST7921Segment驅(qū)動(dòng)器來提供擴(kuò)充顯示范圍的任務(wù)。SMG16032ZK液晶顯示器(LCD)由一顆ST7920和一顆ST7921兩顆芯片來控制,其控制見原理圖(圖2)。

 

 

 

 

 


                       圖2  控制原理圖
四、SMG16032ZK液晶顯示器(LCD)與單片機(jī)的接口

SMG16032ZK液晶顯示器(LCD)有三種接口方式,分別為8位元微處理器界面,4位元微處理器界面(8/4并行接口)及串行界面
8/4并行接口,可以按照以下方式設(shè)定。

 

 

當(dāng)  DL=“1”時(shí),為8BIT MPU控制界面即8BIT并行接口
當(dāng)  DL=“0”時(shí),為4BIT MPU控制界面即4BIT并行接口
當(dāng)  RE=“1”為擴(kuò)充指令集(有特殊用途時(shí)需要設(shè)定)
當(dāng)  RE=“0”為基本指令集
注意:同一指令之動(dòng)作,不可同時(shí)改變DL及RE,要改變時(shí)需先改變DL以后再改變RE,這樣才能確保標(biāo)識(shí)正確設(shè)定。
串行接口與并行接口有PSB的高低電平來控制,既可以由硬件來控制也可以通過軟件來控制。當(dāng)PSB為高電平時(shí),系統(tǒng)接收為并行接口方式;當(dāng)PSB為低電平時(shí),系統(tǒng)接收為串行接口方式。

五、SMG16032ZK液晶顯示器(LCD)在串口方式上的應(yīng)用

SMG16032ZK的2/3線串行接口方式非常適合于與硬件資源緊張的非總線型單片機(jī)接口,下面以AT89C2051單片機(jī)為例給出該模塊與單片機(jī)的2/3線串行接口方式及時(shí)序。AT89C2051單片機(jī)與SMG16032ZK的硬件接口電路如(圖3:)所示,可知SMG16032ZK與AT89C2051單片機(jī)接口時(shí)僅需占用任意兩根I/O口線,除此之外還需要將模塊的PSB端接低電平或由軟件控制置低,模塊即進(jìn)入到串行接口方式。在串行模式下模塊的SID引腳做數(shù)據(jù)線。SLCK引腳做時(shí)鐘線,單片機(jī)通過SID數(shù)據(jù)并配合同步時(shí)鐘線SCLK達(dá)到數(shù)據(jù)傳輸?shù)哪康?。模塊的RS(CS)引腳在這里接固定的高電平即片選始終有效狀態(tài),當(dāng)系統(tǒng)中連接多個(gè)顯示模塊時(shí),可以通過RS端選擇不同的顯示模塊,構(gòu)成3線串行接口方式。單片機(jī)與液晶顯示模塊的串行接口時(shí)序(如圖4)。

 

圖3  串行硬件接口

 

 

 

 

 

 

圖4  串行接口時(shí)序

由圖4可以看到單片機(jī)與液晶模塊之間傳送一個(gè)字節(jié)的數(shù)據(jù)共需24個(gè)時(shí)鐘脈沖。首先單片機(jī)要給出數(shù)據(jù)傳輸起始位,這里以5個(gè)連續(xù)的“1”則內(nèi)部傳輸被重置并且串行傳輸將被同步,緊接RW位用于選擇數(shù)據(jù)的傳輸方向(讀或?qū)懀?,RS位用于選擇內(nèi)部數(shù)據(jù)寄存器或指令寄存器,*后第8位固定為“0”,在接收到起始位及RW/RS的第1個(gè)字節(jié)后,一個(gè)字節(jié)的數(shù)據(jù)或指令將被分為兩個(gè)字節(jié)來串行傳送或接收,數(shù)據(jù)或指令的高4位,被放在第2個(gè)字節(jié)串行數(shù)據(jù)的高4位,其低4位則為“0”,數(shù)據(jù)或指令的低4位被放在第3個(gè)字節(jié)的高4位,其低4位也為0,如此完成一個(gè)字節(jié)指令或數(shù)據(jù)的傳送。需要注意的是當(dāng)有多個(gè)數(shù)據(jù)或指令要傳送時(shí),必須要等到一個(gè)指令完全執(zhí)行完畢或數(shù)據(jù)的丟失,這是因?yàn)橐壕K內(nèi)部沒有發(fā)送/接收緩沖區(qū)。
具體參考程序如下:
;*cs----P3.1* *std---P3.3* *sclk-----------P3.0*
;*PSB----------P3.4 *(可由硬件直接控制)
;*RESET----------P3.5  (可由硬件直接控制)
;注:AT89C2051的晶振頻率為12MHz
PSB    BIT  P3.4
RES    BIT  P3.5
CS      BIT  P3.1
STD    BIT  P3.3     ;串行數(shù)據(jù)線
SCLK    BIT  P3.0     ;串行時(shí)鐘線
START  EQU  30H      ;起始字節(jié)
COM    EQU  31H     ;命令/數(shù)據(jù)
HDATA  EQU  32H     ;命令/數(shù)據(jù)字節(jié)高位
LDATA  EQU  33H     ;命令/數(shù)據(jù)字節(jié)低位
ASC    EQU  34H     ;ASCII數(shù)據(jù)單元
XPOS    EQU  35H
YPOS    EQU  36H
        ORG   0000H
MAIN:
        MOV   SP,#60H
        CLR   RES
        SETB  RES
        SETB CS             ;  可以直接接電源VDD
        CLR   PSB           ;  可以直接接地VSS
        CALL LCDRESET        ; 模塊系統(tǒng)初始化
        CALL  HZKDIS
        MOV   START,#0F8H    ; 寫入命令(11111000)
        MOV   COM,#80H        ;設(shè)定顯示位置
        CALL  LCDWRITE
        MOV   START,#0FAH    ;寫數(shù)據(jù)    (11111010)
        MOV   COM,#10H        ;顯示字符
        CALL  LCDWRITE
        MOV   COM,#11H        ;顯示字符
        CALL  LCDWRITE
        MOV   START,#0F8H    ; 寫入命令(11111000)
        MOV   COM,#34H        ;擴(kuò)充功能設(shè)定
        CALL  LCDWRITE
        MOV   COM,#05H        ;反白選擇
        CALL  LCDWRITE
        CALL DL40MS         ;延時(shí)
        CALL  DL40MS
        CALL  DL40MS
        MOV   A,#055H        ;繪圖方式下寫55數(shù)據(jù)
        CALL  LCDFILL
        CALL CLEAR          ;清屏
        JMP   MAIN
CLEAR:                       ;清屏子程序
        MOV   A,#00H
        CALL   LCDFILL
       RET       
LCDRESET:
        LCALL DL1MS         ;延時(shí)等待內(nèi)部復(fù)位
        MOV   START,#0F8H    ; 寫入命令(11111000)
    MOV   COM,#30H        ;使用基本指令集
    LCALL  LCDWRITE
    MOV    COM,#0CH
    LCALL LCDWRITE        ;整體顯示ON
    MOV   COM,#01H        ;清屏
    LCALL  LCDWRITE
    LCALL  DL1MS
    MOV   COM,#06H        ;顯示右移
    LCALL  LCDWRITE
    LCALL  DL1MS
    RET
LCDWRITE:                     ;模塊寫入子程序
        MOV   A,COM         ;送待發(fā)數(shù)據(jù)命令A(yù)
        ANL   A,#0F0H        ;屏蔽低4位
        MOV   HDATA,A        ;將高4位送HDATA單元
        MOV   A,COM         ;取低4位
        SWAP A             ;高低4位互換
        ANL   A,#0F0H
        MOV   LDATA,A        ;將低4位送LDATA單元
        MOV   A,START        ;取起始字節(jié)
        LCALL SENDBIT        ;發(fā)送
        LCALL DL1MS         ;延時(shí)1ms
        MOV   A,HDATA
        LCALL  SENDBIT
        LCALL  DL1MS
        MOV   A,LDATA
        LCALL  SENDBIT
        LCALL  DL1MS
        RET
HZKDIS:                       ;顯示漢字子程序
        MOV   R5,#2
        MOV   START,#0F8H    ; 寫入命令(11111000)
MOV   COM,#80H        ;設(shè)定顯示位置
  LCALL  LCDWRITE
        MOV   DPTR,#TAB      ;指向文字型代碼表
        MOV   A,#00H         ;取漢字代碼低位
DIS_1:  MOV   R6,#8         ;每行十個(gè)漢字
DIS_2:  MOV    START,#0FAH   ;寫數(shù)據(jù)    (11111010)
        CLR   A
        MOVC  A,@A+DPTR
        MOV   COM,A
        CALL LCDWRITE        ;寫入顯示模塊
        INC   DPTR           ;取漢字代碼高位
        CLR   A
        MOVC  A,@A+DPTR
        MOV   COM,A
        CALL LCDWRITE        ;寫入顯示模塊
        INC   DPTR
        CALL  DL40MS
        DJNZ R6,DIS_2        ;未顯示完則繼續(xù)
        MOV   START,#0F8H    ; 寫入命令(11111000)
        MOV   COM,#90H        ;**行地址
        CALL  LCDWRITE
        DJNZ  R5,DIS_1
        MOV   R5,#2
        MOV   START,#0F8H    ; 寫入命令(11111000)
        MOV   COM,#88H        ;第三地址
        CALL  LCDWRITE
DIS_4:  MOV    R6,#08H   
DIS_3: 
        MOV   START,#0FAH    ;寫數(shù)據(jù)    (11111010)
        CLR   A
        MOVC  A,@A+DPTR
        MOV   COM,A
        CALL LCDWRITE        ;寫入顯示模塊
        INC   DPTR           ;取漢字代碼高位
        CLR   A
        MOVC  A,@A+DPTR
        MOV   COM,A
        CALL LCDWRITE        ;寫入顯示模塊
        INC   DPTR
        CALL  DL40MS
        DJNZ R6,DIS_3        ;未顯示完則繼續(xù)
        MOV   START,#0F8H    ; 寫入命令(11111000)
        MOV   COM,#98H        ;第四行地址
        CALL  LCDWRITE
        DJNZ R5,DIS_4        ;遇“0”結(jié)束顯示
       RET                   ;寫完兩行則結(jié)束
LCDFILL:                     ;繪圖
      MOV    R4,A
      MOV    XPOS,#0
      MOV    YPOS,#0
      MOV   START,#0F8H
      MOV   COM,#30H        ;重新選擇基本指令
      CALL  LCDWRITE
      MOV   COM,#01H        ;清屏
      CALL  LCDWRITE
      MOV   COM,#36H        ;擴(kuò)充功能設(shè)定
      CALL  LCDWRITE
LCD_A1:
      MOV    YPOS,#0
LCD_A2:
      MOV   START,#0F8H
      MOV   A,XPOS         ;設(shè)定繪圖首地址
      ADD   A,#80H          ;X坐標(biāo)
      MOV    COM,A
      CALL  LCDWRITE
      MOV   A,YPOS         ;Y坐標(biāo)
      ADD    A,#80H
      MOV    B,A
      MOV    COM,A
      CALL  LCDWRITE
      MOV   START,#0FAH
      MOV    COM,R4
      CALL  LCDWRITE
      CALL  LCDWRITE
      LCALL  DL1MS
      INC    YPOS
      MOV    A,B
      CJNE A,#87H,LCD_A2    ;*后一列地址為87H
      INC    XPOS
      MOV    A,XPOS
      CJNE A,#20H,LCD_A1    ;*后行地址為80H+20H=0A0H
      MOV    XPOS,#0
LCD_A3:MOV    YPOS,#0
LCD_A4:
      MOV   START,#0F8H
      MOV   A,XPOS         ;設(shè)定繪圖首地址
      ADD   A,#80H          ;X坐標(biāo)
      MOV    COM,A
      CALL  LCDWRITE
      MOV   A,YPOS         ;Y坐標(biāo)
      ADD    A,#80H
      MOV    B,A
      MOV    COM,A
      CALL  LCDWRITE
      MOV   START,#0FAH
      MOV    COM,R4
      CALL  LCDWRITE
      CALL LCDWRITE     
      INC    YPOS
      MOV    A,B
      CJNE A,#8FH,LCD_A4    ;*后一列地址為8FH
      INC    XPOS
      MOV    A,XPOS
      CJNE A,#20H,LCD_A3    ;*后行地址為80H+20H=0A0H
      RET
SENDBIT:                     ;串行字節(jié)數(shù)據(jù)發(fā)送子程序
MOV   R7,#08H        ;發(fā)送8位
SEND_1: RLC    A
        MOV   STD,C         ;數(shù)據(jù)送數(shù)據(jù)線
CLR   SCLK         ;產(chǎn)生同步時(shí)鐘
SETB    SCLK
DJNZ    R7,SEND_1     ;未發(fā)送完8位繼續(xù)
RET
DL1MS:               ;延時(shí)子程序
        PUSH   00H           ;0.1MS
        PUSH   01H
        PUSH   02H
        MOV   R2,#01H
WA_PA:  MOV    R0,#0FH
WA_PB:  MOV    R1,#0FH
        DJNZ   R1,$
        DJNZ   R0,WA_PB
        DJNZ   R2,WA_PA
        POP   02H
        POP   01H
        POP   00H
        RET
        NOP
        RET
DL40MS:                       ;延時(shí)子程序
        PUSH   00H           ;40MS
        PUSH   01H
        PUSH   02H
        MOV   R2,#01H
DL_PA:  MOV    R0,#0FFH
DL_PB:  MOV    R1,#0FFH
        DJNZ   R1,$
        DJNZ   R0,DL_PB
        DJNZ   R2,DL_PA
        POP   02H
        POP   01H
        POP   00H
        RET
        NOP
        NOP
        NOP
     
RET
TAB:
        DB   "  中南大學(xué)歡迎您  "
        DB   "為需要學(xué)習(xí)為未來學(xué)習(xí)"
    DB    00H
END

六、SMG16032ZK液晶顯示器(LCD)在并行接口上的應(yīng)用

 SMG16032ZK液晶顯示器(LCD)在并行接口方式上有兩種方式,8位元微處理器界面,4位元微處理器界面(8/4并行接口),當(dāng)PSB腳接高電平時(shí)(也可有程序控制),模塊進(jìn)入并行模式,在并行模式下可有指令DLFAAG來選擇8-位或是4-位接口,主控系統(tǒng)將配合(RS,RW,E,DB0……DB7)來達(dá)成傳輸動(dòng)作,從一個(gè)完整的流程來看,當(dāng)設(shè)定地址指令后(CGRAM,DDRAM)若要讀取數(shù)據(jù)時(shí)需要先DUMMYREAD一次,才會(huì)讀取到正確數(shù)據(jù)**次讀取時(shí)則不需DUMMY READ 除非又下設(shè)定地址指令才需要再次DUMMYREAD.在4-位傳輸模式中,沒有一個(gè)八位的指令或數(shù)據(jù)將被分為兩個(gè)字節(jié)來操作:較高4位(DB7-DB4)的資料將會(huì)被放在**個(gè)字節(jié)的(DB7-DB4)部分,而較低4位(DB3-DB0)的資料則會(huì)被放在**個(gè)字節(jié)(DB7-DB4)部分,至于相關(guān)的另4-位傳輸模式中的DB3-DB0接口未使用,相關(guān)時(shí)序具體見下圖(如圖:5)。

 

 

 

 

 

圖5(a) 8-bit并行時(shí)序


圖5(b) 4-bit并行時(shí)序

 

 

 

 

 

圖5(c) MPU寫資料到ST7920

 

 

 

 


                     5(d)  MPU從ST7920讀出資料

并行接口參考連接見(圖6):

                         
  圖6 并行硬件接口

具體參考程序如下:
;*RS--P3.1* *RW---P3.3* *E-----------P3.0*
;*PSB----------P3.4 *(可由硬件直接控制)
;*RESET----------P3.5  (可由硬件直接控制)
;注:AT89C2051的晶振頻率為12MHz
RS    equ P3.1                     ;定義數(shù)據(jù)與指令線
RW    equ P3.3                     ;定義讀寫線
E      equ P3.0                     ;定義使能控制線
PSB    equ P3.4                     ;定義串并口選擇線
RESET  equ P3.5                     ;定義復(fù)位線
XPOS  EQU 20H                         ;定義列地址
YPOS  EQU 21H                       ;定義行地址
FIRST_COL    EQU   30H        ;定義字符/漢字顯示起始行
FIRST_ROW    EQU   31H        ;定義字符/漢字顯示起始列
HZK_WID       EQU    32H       ;定義字符/漢字顯示長(zhǎng)度
HZK_LIN       EQU    33H       ;定義字符/漢字顯示行數(shù)
FIRST_ADD    EQU   34H        ;定義字符/漢字顯示起始位置
START_ADD    EQU   35H         ;起始位置緩存單元
FIRST_LIN    EQU   36H        ;起始行位置緩存單元
G_COLUMN    EQU   37H        ;定義圖形顯示起始行
G_ROW       EQU    38H       ;定義圖形顯示起始列
G_WID       EQU    39H       ;定義圖形顯示寬度
        ORG   0000H
LJMP  START
ORG  0100H
START:  MOV  SP,#60H
MOV  G_WID,#00H
MOV  G_ROW,#00H
SERB  RESET
SETB  PSB
CLR  RW
QIU1:LCALL INITIL           ;調(diào)用系統(tǒng)初始化程序
        MOV A,#0CH           ;開顯示,關(guān)游標(biāo)
        LCALL INPUT
        LCALL DELAY01
        MOV A,#01H           ;DDRAM清零,DDRAM地址計(jì)數(shù)器到00H
        LCALL INPUT
        LCALL DELAY01
      MOVFIRST_ADD,#00H         ;設(shè)定字符/漢字顯示起始位置為**個(gè)顯示單元
        MOVFIRST_LIN,#01H       ;設(shè)定字符/漢字顯示起始位置為**行
        MOV DPTR,#TAB             ;需要顯示漢字機(jī)內(nèi)碼數(shù)據(jù)表
        MOVword_WID,#08H       ;每行顯示漢字個(gè)數(shù)
        MOVword_LIN,#03H        ;顯示行數(shù)
MOV START_ADD,#00H       ;清頭個(gè)顯示地址緩存單元
LCALL   WORD_DISP        ;調(diào)用漢字顯示子程序
LCALL DELAY
        LCALL DELAY
        LCALL DELAY
;-----------------
;漢字顯示子程序
;---------------
WORD_DISP:
MOV R1,WORD_WID
WORD10: LCALL   DEADD               ;調(diào)用調(diào)整地址單元子程序
MOV A,START_ADD           ;設(shè)定DDRAM地址,顯示位置地址
          LCALLINPUT
WORD11:CLRA               ;因?yàn)橐B續(xù)輸入機(jī)內(nèi)碼高位(區(qū)碼)、低位(位碼)
        MOVC A,@A+DPTR           ;所以要輸入兩次數(shù)據(jù),如果是字符就是輸入兩個(gè)字符字符代碼可以看說明書
        LCALLDISPL           ;DATA    INPUT
        INCDPTR           ;顯示地址會(huì)自動(dòng)加一,如果連續(xù)寫就不用再輸入地址,空白可用某空白漢字或字符代替
        CLR A
        MOVC A, @A+DPTR
        LCALLDISPL           ;DATA    INPUT
        LCALL DELAY01
        INC DPTR
        DJNZ   R1,WORD11
        MOV   R1,WORD_WID        ;調(diào)整顯示長(zhǎng)度
        INC   FIRST_LIN        ;跳到下一行
        DJNZ   WORD_LIN,WORD10
        RET
INITIL: LCALLDELAY           ;延時(shí)
;首先選擇基本指令集
        MOV A,#30H           ;30---基本指令操作
        LCALL  INPUT
        LCALL  DELAY01
        MOV A,#01H       ;指令#01H為:**屏幕文字,把地址指針指向00H單元
        LCALL INPUT           ;
        LCALL  DELAY01
        MOV A,#06H           ;指定在資料寫入或讀取時(shí),設(shè)定游標(biāo)的移動(dòng)方向及指定顯示的移位
        LCALL  INPUT
        LCALL  DELAY01
        MOV  A,#0EH
        LCALL  INPUT
        LCALL  DELAY01
          RET
;-----------------
;SEARCH ADDRESS
;目的是為了轉(zhuǎn)換地址單元為DDRAM地址單元,以方便
;定義顯示位置
;漢字顯示DDRAM位置為:**行:80H----87H
;           **行:90H----97H
;-----------------
DEADD:  PUSH   DPH           ;地址轉(zhuǎn)換子程序
PUSH    DPL
PUSH    A
MOV   DPTR,#LINE_ADD       ;LINE-ADD為地址表指針
MOV    A,FIRST_LIN
MOVC    A,@A+DPTR
ADD    A,FIRST_ADD
MOV    START_ADD,A
POP    A
POP    DPL
POP    DPH
RET
LINE_ADD:
DB      00H,80H,90H,88H,98H.00H
READ:                 ;讀數(shù)據(jù)子程序
MOV P3,#0FBH               ;P3--CONTRAL    I/O
       NOP               ;P3=11111011B  RS=1    R/W=1  READDATA
        SETBE               ;E=E(I/O)
        LCALL  DELAY01
        MOV A,P1           ;P1=DATA(I/O)
        NOP
        CLR E
        RET
;--------------------------------------
CHK_BUSY:  CLR   RS           ;讀忙狀態(tài)子程序
        SETB   RW
           SETB    E
HEHE1:  JB      P1.7,HEHE1
        CLR   E
        RET
;--------------------------------------
;寫數(shù)據(jù)子程序
;----------------------------
DISPL:  LCALL   CHK_BUSY           ;P3--CONTRAL    I/O
       NOP               ;P3=11111001B  RS=1    WRITE DATA
        SETB   RS
        CLR   RW
        SETBE               ;E=E(I/O)
        MOV  P1,A           ;P1=DATA(I/O)
        LCALL  DELAY01
        NOP
        CLR E
        NOP
        MOV   P1,#0FFH
        RET
;--------------------------------------
;寫指令子程序
;----------------------------
INPUT:  LCALL   CHK_BUSY       ;以確保上一指令/數(shù)據(jù)模塊已經(jīng)接收處理完
                   ;P3--CONTRAL    I/O
       NOP               ;P3=11111000B    RS=0   WRITE    INSTRUTION
        CLR   RS
        CLR   RW
        SETBE               ;E=E(I/O)
        MOV P1,A           ;P1=DATA(I/O)
        LCALL  DELAY01
        NOP
        CLR E
        NOP
        MOV   P1,#0FBH
        RET
;----------------------
;DELAY TIME
;---------------------
DELAY:  MOV  R5,#03H
C0:    MOV  R6, #0FFH
C1:    MOV  R7, #0FFH
C2:    DJNZ R7, C2
        DJNZ R6, C1
        NOP
        NOP
        DJNZ R5, C0
        RET
DELAY01: MOV  R6, #6
D5:    MOV  R7, #08h
D6:    DJNZ R7, D6
        DJNZ R6, D5
        RET
;------------------
DELAY02: MOV  R6, #6
D52:    MOV  R7, #18h
D62:    DJNZ R7, D62
        DJNZ R6, D52
        RET
TAB:
        DB   "  中南大學(xué)歡迎您  "
        DB   "為需要學(xué)習(xí)為未來學(xué)習(xí)"
    DB    00H
END

七、結(jié)束語(yǔ)

  
通過對(duì)SMG16032ZK帶字庫(kù)的液晶顯示器(LCD)在串行接口和并行接口上的解析,此系列的液晶顯示器(LCD)跟不帶字庫(kù)液晶顯示器(LCD)在接口上有無(wú)法比擬的優(yōu)越性。其中串行接口方式可大量節(jié)省單片機(jī)的I/O口線且由于內(nèi)含中文字庫(kù)使得該模塊顯示漢字變得非常容易。同時(shí)也使非總線型單片機(jī)可使用圖形點(diǎn)陣液晶顯示模塊作顯示器件,從而拓寬了液晶顯示器(LCD)的應(yīng)用范圍。相信此系列帶中文字庫(kù)的液晶顯示器(LCD)將會(huì)成為國(guó)內(nèi)單片機(jī)系統(tǒng)的*佳顯示方案,并將獲得越來越廣泛的應(yīng)用。

參考文獻(xiàn)

1,李維諟 郭強(qiáng):《液晶顯示應(yīng)用技術(shù)》,電子工業(yè)出版社 ,2000年3月
2,陸愛明:《單片機(jī)和圖形液晶顯示器接口應(yīng)用技術(shù)》,電子產(chǎn)品世界,2001年9月
3,李華  李紅青:《MCS-51系列單片機(jī)實(shí)用接口》,北京航空航天大學(xué)出版社,1993年8月
4,臺(tái)灣矽創(chuàng)電子 《ST7920C33系列的芯片資料》,2005年3月
5,《SMG16032ZK使用說明書》,長(zhǎng)沙太陽(yáng)人電子有限公司 ,2005年1月
6,作者:劉國(guó)華
 

湘公網(wǎng)安備 43019002000596號(hào)

黄Av永久的网址| 久久综合九色综合久99| 2012av天堂| jk白丝喷水| 日韩AV无码午夜福利电影| 一区二区三区无码高清视频| 国产精品爽爽V在线观看无码| 大洼县| 无码电影AV| 久久亚州无码一本| 高清日韩无码网站| 人妻中文字幕电影| 成人久久18免费网站麻豆| 国产精品久久久久久久免费观看| 国产精品日日做人人爱| 久一久免费视频| 亚洲国产精品久久久久婷婷软件| 国产在线视频在线| 亚洲高清毛片一区二区| 国产电影久久久久久久| 亚洲专区| 国产精品久久久久AAAA| 欧美一区二区三区不卡| 欧美国产日韩久久mv| 免费 无码 国产在线观| 内射资源站| 久久网页| 亚洲AV无码国产精品永久一区| 日韩视频高清无码| 久久青青草亚洲| 鲁丝一区鲁丝二区鲁丝去| 欧美一级欧美| 欧美一区二区三区久久精品| 欧美四区| 亚洲第一AV无码专区| 欧美成人亚洲日韩一区二区三区| 欧美日韩国产成人| 中文字幕视频一区| 久久国产精品一国产精品金尊| 日韩三级黄片| 中文字幕av爱爱|