《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 簡單實用的四線點陣液晶驅(qū)動方式
簡單實用的四線點陣液晶驅(qū)動方式
晉建秀 吳運昌 甘偉明
摘要: 介紹了點陣液晶的一種四線驅(qū)動方法,該方法使用四線控制,連接簡單、成本較低,可以用于各種漢字及圖形點陣液晶的顯示。
Abstract:
Key words :

  摘  要: 介紹了點陣液晶的一種四線驅(qū)動方法,該方法使用四線控制,連接簡單、成本較低,可以用于各種漢字及圖形點陣液晶的顯示。 

  關(guān)鍵詞: 點陣液晶顯示屏  四線控制電路  漢字顯示 

   隨著科學(xué)技術(shù)的飛速發(fā)展,電子產(chǎn)品越來越向智能化、小型化、人性化、低功耗等方面發(fā)展。而液晶顯示屏的興起,為上述要求的實現(xiàn)提供了可能。液晶顯示屏大致可分為段式、字符式、點陣式,或者單色、彩色等。大多液晶顯示屏都實現(xiàn)了標(biāo)準(zhǔn)化和模塊化,采用通用的控制芯片(例如SED1330、SED1520、HD61202等)實現(xiàn)與單片機等的簡單連接,但此類液晶顯示模塊多采用并行的數(shù)據(jù)線和控制線連接。在實際應(yīng)用中,考慮到產(chǎn)品的成本和體積,采用并行的數(shù)據(jù)線和控制線連接,使用起來不是很方便。因此希望采用標(biāo)準(zhǔn)的工業(yè)總線I2C、SPI等連接,而這類產(chǎn)品卻很少見。本文巧妙地利用液晶顯示模塊的特點,采用一片74LS164實現(xiàn)液晶的四線控制,電路簡單實用。 

1 點陣液晶顯示模塊簡介 

  本文介紹的是一種采用SED1520芯片控制的122×32圖形點陣液晶顯示屏,它主要由行驅(qū)動/列驅(qū)動及122×32全點陣液晶顯示器組成,可完成圖形顯示,也可顯示七個半(16×16點陣)漢字。主要技術(shù)參數(shù)和顯示特性如下: 

  ·電源:VDD為+3V~+5V;LCD外接驅(qū)動電壓VDD-VLCD=5.0V。 

  ·顯示內(nèi)容:122(列)×32(行)點。 

  ·顯示顏色:黃綠底藍(lán)字。 

  ·顯示角度:6點鐘直視。 

  ·STN正視反射模式。 

  ·驅(qū)動方式:1/32 Duty,1/6 Bias。 

  ·驅(qū)動電流:最大240μA。 

    液晶顯示模塊驅(qū)動原理圖如圖1所示。

 

 

  液晶顯示模塊引腳特性如表1所示。 

 

 

  部分傳送指令表如表2所示。 

 

 

2 四線點陣液晶顯示屏驅(qū)動電路 

  四線點陣液晶顯示屏驅(qū)動電路如圖2所示。 

 

 

  系統(tǒng)采用一片74LS164以串入并出方式與點陣液晶顯示模塊FM12232C連接,通過四條信號線(SDA串行數(shù)據(jù)線、CLK/A0串行時鐘線即液晶顯示模塊的A0數(shù)據(jù)/指令控制線、E1主驅(qū)動芯片使能線、E2從驅(qū)動芯片使能線)實現(xiàn)點陣液晶顯示屏的驅(qū)動。與液晶顯示模塊所提供的電路連接方式相比,四條線與單片機2051連接至少減少7根口線,這樣大大節(jié)省了小型電子產(chǎn)品中寶貴的單片機口線資源,使產(chǎn)品更加人性化和智能化。 

  根據(jù)液晶顯示屏的控制指令及時序可知,只要在對模塊寫入數(shù)據(jù)的同時保證模塊指令操作延時足夠,就可以不檢查模塊狀態(tài),達(dá)到直接控制的目的。點陣液晶顯示屏的一個點對應(yīng)存儲器中的一位,置位則顯示,清除則不顯示,因此只要控制相應(yīng)的數(shù)據(jù)位就可控制液晶顯示屏的顯示。液晶顯示模塊的顯示數(shù)據(jù)采用分頁方式存儲(存儲器的劃分請參閱相關(guān)資料)。 

  數(shù)據(jù)傳送時,首先選擇使能端“E1”或“E2”,送數(shù)據(jù)到74LS164,然后送指令/數(shù)據(jù)選擇信號“A0”,關(guān)閉使能端,實現(xiàn)數(shù)據(jù)和指令的傳送,使液晶顯示屏顯示圖形或漢字等。 

3 相關(guān)軟件 

  相關(guān)軟件采用匯編語言編寫。由于篇幅限制,只提供傳送指令和數(shù)據(jù)到液晶顯示模塊的子程序,并通過初始化程序和顯示漢字程序介紹如何使用上述子程序。關(guān)于顯示漢字子程序、其它顯示字符串、動畫、圖形以及在Windows下提取字庫和圖形庫相關(guān)程序,如有需要請與作者聯(lián)系。 

  源程序如下: 

    sda     bit     p1.7    ;定義sda線 

    clk     bit     p1.6    ;定義clk線 

    e1      bit     p1.5    ;定義master 使能 

    e2      bit     p1.4    ;定義slave使能 

    a0      bit     p1.6    ;定義數(shù)據(jù)/指令選擇線 

    outmi:                  ;送顯示指令到master SED1520 

        setb    e1      ;master使能 

        clr     e2      ;slave關(guān)閉 

        lcall   trndata     ;傳送一個字節(jié) 

    clr     a0  ;設(shè)置此字節(jié)為指令 

    clr     e1  ;master關(guān)閉 

    ret 

    outsi:      ;送顯示指令到slave  SED1520 

        setb    e2 

        clr     e1 

        lcall   trndata 

        clr     a0 

        clr     e2 

        ret 

    outmd:      ;送顯示數(shù)據(jù)到master     SED1520 

        setb    e1 

        clr     e2 

        lcall   trndata 

        setb    a0 

        clr     e1 

        ret 

    outsd:      ;送顯示數(shù)據(jù)到slave SED1520 

        setb    e2      ;slave使能 

        clr     e1      ;master關(guān)閉 

        lcall   trndata ;傳送一個字節(jié) 

        setb    a0      ;設(shè)置此字節(jié)為顯示數(shù)據(jù) 

        clr     e2      ;slave關(guān)閉 

        ret 

    trndata:                ;傳送一個字節(jié)到液晶顯示模塊 

        push        a       ;保存原始數(shù)據(jù) 

        setb        sda     ;sda線置位 

        setb        clk     ;clk線置位 

        mov         r7,#08h 

    trn_loop:    

        rlc     a 

        clr     clk 

        mov     sda,C 

        setb    clk 

        djnz    r7,trn_loop 

        pop     a   ;恢復(fù)原始數(shù)據(jù) 

        ret 

    init:               ;初始化液晶顯示模塊 

        mov    a,#0e3h ;LCD復(fù)位 

        lcall   outmi 

        lcall   outsi 

        mov    a,#0aeh  ;關(guān)顯示 

        lcall   outmi 

        lcall   outsi 

        mov    a,#0a4h  ;動態(tài)驅(qū)動  

        lcall   outmi 

        lcall   outsi 

        mov   a,#0a9h  ;刷新率選擇1/32 

        lcall   outmi 

        lcall   outsi 

        mov   a,#0a0h   ;ADC選擇右移 

        lcall   outmi 

        lcall   outsi 

        mov   a,#0eeh   ;結(jié)束讀寫 

        lcall   outmi 

        lcall   outsi 

        mov   a,#00h    ;設(shè)置列地址0 

        lcall   outmi 

        lcall   outsi 

        mov   a,#0c0h   ;設(shè)置顯示開始行0 

        lcall   outmi 

        lcall   outsi 

        mov   a,#0afh          ;開顯示 

        lcall   outmi 

        lcall   outsi 

        ;下面為漢字顯示 

            mov  r1,#20            ;漢字顯示的起始為第 20列 

        mov     dptr,#tian     ;“天”字字庫地址 

        clr     10h        ;10h=‘0’顯示在第一行 

        mov     1fh,#10h      ;1fh=‘10h’表示為16×16 點陣 

        lcall       dishz          ;調(diào)用顯示漢字子程序 

    ;子程序名稱:    dishz     

    ;dptr:          對應(yīng)字庫的起始地址 

    ;r1:        顯示數(shù)據(jù)在122列中的起始列 

    ;位10h:    0——顯示在第一行,1——顯示在第二行 

    ;1fh:       顯示漢字16×16=10h,顯示字符16×8=8h 

參考文獻 

1 何立民. 單片機應(yīng)用系統(tǒng)設(shè)計. 北京: 北京航空航天大學(xué)出版社,1990 

2 李維言是,郭 強.液晶顯示應(yīng)用技術(shù). 北京:電子工業(yè)出版社,2000 

3 孫德和,袁 鉞.常用集成電路芯片IC參考大全. 北京:海洋出版社,1992

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。