新聞中心

EEPW首頁 > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 用80C31和SED1335控制三星LCD模塊

用80C31和SED1335控制三星LCD模塊

作者: 時(shí)間:2006-07-06 來源:網(wǎng)絡(luò) 收藏
韓國320240 是一款低價(jià)位高品質(zhì)的,具有高分辨率(點(diǎn)為0.27mm0.27mm)、高對(duì)比度FSTN、高可靠性、低功耗、低價(jià)格等優(yōu)點(diǎn),特別適用于數(shù)控機(jī)床、PDA、掌上電腦、游戲機(jī)等產(chǎn)品。

是日本SEIKOEPSON公司出品的液晶顯示器,在同類產(chǎn)品中是功能很強(qiáng)。其特點(diǎn)為:有較強(qiáng)功能的I/O緩沖器;指令功能豐富;四位數(shù)據(jù)并行發(fā)送;圖形和文本方式混合顯示。

指令集

  有13條指令,多數(shù)指令帶有參數(shù),參數(shù)值由用戶根據(jù)所的液晶顯示的特征和顯示的需要來設(shè)置。指令表如表1所示?!ED1335 液晶板是用于MPU系統(tǒng)與液晶模塊之間的控制接口板,接收來自MPU系統(tǒng)的指令與數(shù)據(jù),并產(chǎn)生相應(yīng)的時(shí)序及數(shù)據(jù)控制模塊的顯示。A0為LCD控制器寄存器選擇輸入,類似于通常字符點(diǎn)陣LCD模塊的RS或D/I。MPU把指令代碼寫入指令輸入緩沖器內(nèi)(即A0=1),指令的參數(shù)數(shù)據(jù)則隨后通過數(shù)據(jù)輸入緩沖器(A0=0)寫入。帶有參數(shù)指令代碼的作用之一就是選通相應(yīng)的參數(shù)寄存器,除SLEEPIN、CSRDIR、CSRR和MREAD外任一條指令的執(zhí)行都產(chǎn)生在附屬參數(shù)的輸入完成之后。MPU可用寫入新參數(shù)與余下的舊參數(shù)有效地組合成新的參數(shù),需要注意的是所寫參數(shù)的順序不能改變,也不能省略。

表1 SED1335指令集

 sed1335指令集


硬件接口電路

  一般SED1335控制板有一跳線,用來選擇MPU是MCS51或MC68000單片機(jī)。此處硬件設(shè)計(jì)采用單片機(jī)控制SED1335來完成對(duì)液晶顯示模塊的控制。

  外擴(kuò)32K的27256 EEPROM,用以存儲(chǔ)程序及顯示資料。LCD的八位數(shù)據(jù)D0~D7接到的外部數(shù)據(jù)總線P0.0-P0.7上,LCD的片選CS接80C31的 P2.7(A15),LCD的A0接80C31的P2.0(A8),所以LCD的口地址為0XXXXXX0XXXXXXXXB或 0XXXXXX1XXXXXXXXB,V0為LCD的對(duì)比度調(diào)節(jié),接一個(gè)20K的電位器中間抽頭,當(dāng)向VEE方向調(diào)時(shí),LCD對(duì)比度增大,向VDD方向調(diào)時(shí),LCD對(duì)比度減小。

軟件

  SEED1335的程序設(shè)計(jì)非常簡潔方便,其流程是:

  在硬件系統(tǒng)上電復(fù)位后,軟件根據(jù)液晶模塊的參數(shù)(如液晶的行數(shù)、列數(shù)、掃描頻率等)和需要的顯示方式設(shè)置各個(gè)指令的參數(shù)來初始化系統(tǒng),之后就可以由單片機(jī)把數(shù)據(jù)直接送給SED1335的顯示緩存,SED1335就可以控制液晶顯示。如果在后面需要改變顯示的形式(如使原來靜止的圖片翻轉(zhuǎn)),只要對(duì)應(yīng)表1 中的指令改變相應(yīng)指令的參數(shù),然后重新輸入數(shù)據(jù)即可改變顯示的方式。

  設(shè)置系統(tǒng)命令參數(shù)或送數(shù)據(jù)給顯緩的方法是:先將指令代碼送到SED1335的命令口地址,然后把該指令的參數(shù)送到數(shù)據(jù)口地址后即可把數(shù)據(jù)送到數(shù)據(jù)口地址。語法如下:

  MOV DPTR,#XXXXH;XXXXH為命令口或數(shù)據(jù)口地址
  MOV A,#XXH;XXH為指令代碼、代碼參數(shù)、數(shù)據(jù)
  MOVX @DPTR,A

  軟件初始化就是根據(jù)表1中提供的指令集設(shè)置一些有關(guān)LCD的參數(shù),以便LCD能正確顯示圖文信息。對(duì)80C31而言,所有對(duì)LCD操作的指令均為訪外部 I/O指令MOVX。例如,要顯示320240的黑白位圖,先將位圖反色,把bmp.hex和程序一起燒錄到27256中,位圖存放在1000H開始的地址。針對(duì)320240LCD點(diǎn)陣三層圖形疊加顯示初始化程序如下。

  INIT:
  MOV DPTR,#0101H;命令40H參數(shù)設(shè)置,#0101H為命令口地址
  MOV A,#40H
  MOVX @DPTR,A;把命令代碼送給命令口地址
  MOV A,#30H
  MOV DPTR,#0000H;#0000H為數(shù)據(jù)口地址
  MOVX @DPTR,A;把參數(shù)送給數(shù)據(jù)口地址
  MOV A,#07H;設(shè)置光標(biāo)寬度為8
  MOVX @DPTR,A
  MOV A,#07H;設(shè)置光標(biāo)高度為8
  MOVX @DPTR,A
  MOV A,#27H;設(shè)置LCD每行需要的字節(jié)數(shù),每行320個(gè)點(diǎn),行數(shù)為320/8-1=39
  MOVX @DPTR,A
  MOV A,#36H;設(shè)置液晶的掃描頻率約為70HZ
  MOVX @DPTR,A
  MOV A,#239D;設(shè)置LCD的列數(shù)為239
  MOVX @DPTR,A
  ……
  MOV DPTR,#0101H;命令5AH,設(shè)置點(diǎn)單元卷動(dòng)位置參數(shù)
  MOV A,#5AH
  MOVX @DPTR,A
  MOV DPTR,#0000H
  MOV A,#00H;送水平方向移動(dòng)位數(shù)參數(shù)0
  MOVX @DPTR,A;無須移動(dòng)
  MOV DPTR,#0101H;命令4CH,設(shè)置光標(biāo)移動(dòng)方向參數(shù)
  MOV A,#4CH
  MOVX @DPTR,A
  MOV DPTR,#0101H;命令5BH,設(shè)置合成顯示方式參數(shù)
  MOV A,#5BH
  MOVX @DPTR,A
  MOV DPTR,#0000H
  MOV A,#1CH;送顯示方式為三屏圖形疊加方式
  ……
  MOV DPTR,#0101H;下面為清屏程序
  MOV A,#42H;給SED1335顯緩寫操作命令
  MOVX @DPTR,A
  MOV R7,#81H;下面程序?qū)?2K顯緩全部清零
  MOV DPTR,#0000H
  LOOP: MOV R6,#0FFH

LOOP1: MOV A,#00H
  MOVX @DPTR,A
  DJNZ R6,LOOP1
  DJNZ R7,LOOP
  RET

  以上初始化程序只列出了部分命令代碼和參數(shù)設(shè)置。

  主程序是把圖片數(shù)據(jù)送給SED1335讓液晶顯示。

  DAT EQU #0000H;SED1335控制器數(shù)據(jù)口地址
  COM EQU #0101H;SED1335控制器命令口地址

  SD1L EQU #00H;第一屏開始顯示的顯緩首地址的低八位
  SD1H EQU #00H;第一屏開始顯示的顯緩首地址的高八位
  ……
  PIC EQU #1000H;圖片數(shù)據(jù)存放起始地址
  ORG 0000H
  AJMP START
  ORG 0080H
  START:
  MOV SP,#60H
  LCALL INIT;初始化LCD
  MOV DPTR,COM
  MOV A,#46H
  MOVX @DPTR,A
  MOV DPTR,DAT
  MOV A,SD1L
  MOVX @DPTR,A
  MOV DPTR,COM
  MOV A,#42H;數(shù)據(jù)寫入顯示緩沖區(qū)指令42H
  MOVX @DPTR,A
  MOV DPTR,PIC
  MOV R7,#240D;送外循環(huán)次數(shù)240行
  BMP:MOV R6,#40D;每行320點(diǎn)需要40個(gè)字節(jié)數(shù)據(jù)
  BMP1:MOV A,#3EH;位圖數(shù)據(jù)相對(duì)于bmp文件頭的地址
  MOVC A,@A+DPTR;查取位圖數(shù)據(jù)
  INC DPTR
  PUSH DPL
  PUSH DPH
  MOV DPTR,DAT
  MOVX @DPTR,A;將位圖數(shù)據(jù)送入顯緩區(qū)
  POP DPH
  POP DPL
  DJNZ R6,BMP1;直到將一屏位圖數(shù)據(jù)全部送完
  DJNZ R7,BMP
  ……

  實(shí)際試驗(yàn)中可以看到非常清晰的圖像顯示,如果看不到或者看不到深藍(lán)色,調(diào)節(jié)對(duì)比度就可以看到圖案。注意上電之后,SED控制板要能正確復(fù)位,否則將導(dǎo)致錯(cuò)誤,不能正確顯示,這個(gè)時(shí)候LCD一般顯示明亮的掃描線。還可以通過MPU寫入新參數(shù)讓顯示的圖像閃爍、翻轉(zhuǎn)、移動(dòng)來滿足不同的要求。對(duì)于一般系統(tǒng)的顯示前端,也可以通過相同的方法實(shí)時(shí)顯示處理過的數(shù)據(jù)。

  上面的設(shè)計(jì)過程是相對(duì)于顯示一副圖像時(shí)采用的,這種方法將耗費(fèi)許多空間。對(duì)于一般存儲(chǔ)空間較小的系統(tǒng),如果只要顯示漢字字符,可以將需要顯示的字模提取出來存儲(chǔ),在進(jìn)行顯示的時(shí)候再調(diào)用,也同樣容易實(shí)現(xiàn)而且更節(jié)省存儲(chǔ)空間。



關(guān)鍵詞: LCD 模塊 三星 控制 SED1335 80C31

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉