新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > TC1602液晶模塊與單片機(jī)接口字符顯示試驗(yàn)

TC1602液晶模塊與單片機(jī)接口字符顯示試驗(yàn)

作者: 時(shí)間:2013-01-15 來(lái)源:網(wǎng)絡(luò) 收藏

  1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表2所示。它的讀寫(xiě)操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。(說(shuō)明:1為高電平、0為低電平)

表2: 1602液晶模塊內(nèi)部的控制器共有11條控制指令

  指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置
  指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H
  指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效
  指令4:顯示開(kāi)關(guān)控制。 D:控制整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍
  指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)
  指令6:功能設(shè)置命令 DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符
  指令7:字符發(fā)生器RAM地址設(shè)置
  指令8:DDRAM地址設(shè)置
  指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。
  指令10:寫(xiě)數(shù)據(jù)
  指令11:讀數(shù)據(jù)

  下面是液晶模塊的一些主要技術(shù)參數(shù):

  1、邏輯工作電壓(VDD):+4.5 ~ +5.5V
  2、LCD驅(qū)動(dòng)電壓(VDD - VL):+4.5 ~ +13.0V
  3、工作溫度(Ta): 0 ~ 60°C(常溫)/-20 ~ 75 °C(寬溫)
  4、工作電流: 2.0mA
  5、屏幕視域尺寸: 62.5 × 16.1mm


【EL液晶模塊應(yīng)用編程】

  EL液晶顯示模塊可以和51系列單片機(jī)直接接口,下面就是S51增強(qiáng)型實(shí)驗(yàn)板的液晶接口電路(圖2)。


圖2

  液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表3是TC1602EL液晶模塊的內(nèi)部顯示地址。


表3:1602液晶內(nèi)部顯示地址


  比如第二行第一個(gè)字符的地址是40H,那么是否直接寫(xiě)入40H就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷?xiě)入顯示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫(xiě)入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H),下面就是在1602液晶模塊第一行第1個(gè)字符位置顯示字母“A”程序。
;*******************TC1602液晶模塊試驗(yàn)**********************************
;******** 在1602液晶模塊第一行第1個(gè)字符位置顯示字母“A”程序 ********
    RS   EQU P3.4
    RW   EQU P3.5
    E    EQU P3.6

    ORG   0000H
    AJMP  START

    ORG   0033H
START: MOV   SP,#60H

MAIN:  LCALL  DELAY      ;判斷液晶忙狀態(tài)?
    ACALL  ENABLE
    MOV   P1,#00000001B  ;寫(xiě)指令01H,清屏
    ACALL  ENABLE
    MOV   P1,#00111000B  ;寫(xiě)指令38H,設(shè)定LCD為16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口
    ACALL  ENABLE
    MOV   P1,#00001111B  ;寫(xiě)指令0FH,顯示ON,光標(biāo)ON,閃爍ON
    ACALL  ENABLE
    MOV   P1,#00000110B  ;寫(xiě)指令06H,文字不動(dòng),光標(biāo)自動(dòng)右移
    ACALL  ENABLE
    MOV   P1,#80H     ;第一行第1個(gè)字符地址
    ACALL  ENABLE
    MOV   P1,#01000001B  ;字母A的代碼(#41H)
    SETB   RS       ;RS=1
    CLR   RW       ;RW=0
    CLR   E        ;E=0
    ACALL  DELAY      ;判斷液晶忙狀態(tài)?
    SETB  E        ;E=1
    AJMP  $
    ;-----------------
ENABLE: CLR   RS       ;寫(xiě)入控制命令的子程序
    CLR   RW
    CLR   E
    ACALL  DELAY
    SETB  E
    RET
    ;-----------------
DELAY: MOV   P1,#0FFH    ;判斷液晶顯示器是否忙的子程序
    CLR   RS
    SETB   RW
    CLR   E
    NOP
    SETB   E
    JB    P1.7,DELAY   ;如果為高電平表示忙就循環(huán)等待
    RET
    END

  程序在開(kāi)始時(shí)對(duì)液晶模塊功能進(jìn)行了初始化設(shè)置,約定了顯示格式。注意顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無(wú)需人工干預(yù),每次輸入指令都先調(diào)用判斷液晶模塊是否忙的子程序DELAY,然后輸入顯示位置的地址80H(第一行第1字符),最后輸入要顯示的字符"A"的代碼41H,顯示效果下面如圖3所示。

led顯示器相關(guān)文章:led顯示器原理




關(guān)鍵詞: TC1602 字符顯示 AT89S51

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉