80C31和SED1335控制320×240LCD模塊

admin @ 2014-03-26 , reply:0

概述
    320×240LCDLCD模塊是一款低價位高品質的LCD模塊,具有高解析度(點為0.27mm×0.27mm)、高對比度FSTN、……

     320×240LCD LCD模塊是一款低價位高品質的LCD模塊,具有高解析度(點為0.27mm×0.27mm)、高對比度FSTN、高可*性、低功耗、低價格等優點,特別適用於數控機床、PDA、掌上電腦、遊戲機等產品。
  SED1335是日本SEIKOEPSON公司出品的液晶顯示控制器,在同類產品中是功能很強。其特點為:有較強功能的I/O緩衝器;指令功能豐富;四位數據并行發送;圖形和文本方式混合顯示。

SED1335指令集
  SED1335有13條指令,多數指令帶有參數,參數值由用戶根據所控制的液晶顯示模塊的特徵和顯示的需要來設置。指令表如表1所示。
  SED1335液晶控制板是用於MPU系統與液晶模塊之間的控制介面板,接收來自MPU系統的指令與數據,併產生相應的時序及數據控制模塊的顯示。A0為LCD控制器寄存器選擇輸入,類似於通常字元點陣LCD模塊的RS或D/I。MPU把指令代碼寫入指令輸入緩衝器內(即A0=1),指令的參數數據則隨後通過數據輸入緩衝器(A0=0)寫入。帶有參數指令代碼的作用之一就是選通相應的參數寄存器,除SLEEPIN、CSRDIR、CSRR和MREAD外任一條指令的執行都產生在附屬參數的輸入完成之後。MPU可用寫入新參數與餘下的舊參數有效地組合成新的參數,需要注意的是所寫參數的順序不能改變,也不能省略。
表1 SED1335指令集

----------------------------------------------------------------------
功能 指令 代碼 說明 參數量
----------------------------------------------------------------------
系統控制 SYSTEM SET 40H 初始化,顯示窗口空閑操作 8
----------------------------------------------------------------------
SLEEP IN 53H -
----------------------------------------------------------------------
顯示操作 DISP ON/OFF 59H/58H 設置開關,設置顯示方式 1
----------------------------------------------------------------------
SCROLL 44H 設置顯示區域,捲動 10
----------------------------------------------------------------------
CSRFORM 5DH 設置游標形狀 2
----------------------------------------------------------------------

硬體介面電路
  一般SED1335控制板有一跳線,用來選擇MPU是MCS51或MC68000單片機。此處硬體設計採用單片機80C31控制SED1335來完成對液晶顯示模塊的控制,介面電路圖略。
  80C31外擴32K的27256 EEPROM,用以存儲程序及顯示資料。LCD的八位數據D0~D7接到80C31的外部數據匯流排P0.0-P0.7上,LCD的片選CS接80C31的P2.7(A15),LCD的A0接80C31的P2.0(A8),所以LCD的口地址為0XXXXXX0XXXXXXXXB或0XXXXXX1XXXXXXXXB,V0為LCD的對比度調節,接一個20K的電位器中間抽頭,當向VEE方向調時,LCD對比度增大,向VDD方向調時,LCD對比度減小。

軟體
  SEED1335的程序設計非常簡潔方便,其流程是:
  在硬體系統上電複位后,軟體根據液晶模塊的參數(如液晶的行數、列數、掃描頻率等)和需要的顯示方式設置各個指令的參數來初始化系統,之後就可以由單片機把數據直接送給SED1335的顯示緩存,SED1335就可以控制液晶顯示。如果在後面需要改變顯示的形式(如使原來靜止的圖片翻轉),只要對應表1中的指令改變相應指令的參數,然後重新輸入數據即可改變顯示的方式。
  設置系統命令參數或送數據給顯緩的方法是:先將指令代碼送到SED1335的命令口地址,然後把該指令的參數送到數據口地址后即可把數據送到數據口地址。語法如下:
  MOV DPTR,#XXXXH;XXXXH為命令口或數據口地址
  MOV A,#XXH;XXH為指令代碼、代碼參數、數據
  MOVX @DPTR,A
  軟體初始化就是根據表1中提供的指令集設置一些有關LCD的參數,以便LCD能正確顯示圖文信息。對80C31而言,所有對LCD操作的指令均為訪外部I/O指令MOVX。例如,要顯示320×240的黑白點陣圖,先將點陣圖反色,把bmp.hex和程序一起燒錄到27256中,點陣圖存放在1000H開始的地址。針對320×240LCD點陣三層圖形疊加顯示初始化程序如下。
  INIT:
  MOV DPTR,#0101H;命令40H參數設置,#0101H為命令口地址
  MOV A,#40H
  MOVX @DPTR,A;把命令代碼送給命令口地址
  MOV A,#30H
  MOV DPTR,#0000H;#0000H為數據口地址
  MOVX @DPTR,A;把參數送給數據口地址
  MOV A,#07H;設置游標寬度為8
  MOVX @DPTR,A
  MOV A,#07H;設置游標高度為8
  MOVX @DPTR,A
  MOV A,#27H; 設置LCD每行需要的位元組數,每行320個點,行數
為320/8-1=39
  MOVX @DPTR,A
  MOV A,#36H;設置液晶的掃描頻率約為70HZ
  MOVX @DPTR,A
  MOV A,#239D;設置LCD的列數為239
  MOVX @DPTR,A
  ……
  MOV DPTR,#0101H;命令5AH,設置點單元捲動位置參數
  MOV A,#5AH
  MOVX @DPTR,A
 
 
80C31和SED1335控制320×240LCD模塊 
 
  手上有320×240LCD的同學,可以按以下介紹試驗一下:
320×240LCD LCD模塊是一款低價位高品質的LCD模塊,具有高解析度(點為0.27mm×0.27mm)、高對比度FSTN、高可*性、低功耗、低價格等優點,特別適用於數控機床、PDA、掌上電腦、遊戲機等產品。
  SED1335是日本SEIKOEPSON公司出品的液晶顯示控制器,在同類產品中是功能很強。其特點為:有較強功能的I/O緩衝器;指令功能豐富;四位數據并行發送;圖形和文本方式混合顯示。

SED1335指令集
  SED1335有13條指令,多數指令帶有參數,參數值由用戶根據所控制的液晶顯示模塊的特徵和顯示的需要來設置。指令表如表1所示。
  SED1335液晶控制板是用於MPU系統與液晶模塊之間的控制介面板,接收來自MPU系統的指令與數據,併產生相應的時序及數據控制模塊的顯示。A0為LCD控制器寄存器選擇輸入,類似於通常字元點陣LCD模塊的RS或D/I。MPU把指令代碼寫入指令輸入緩衝器內(即A0=1),指令的參數數據則隨後通過數據輸入緩衝器(A0=0)寫入。帶有參數指令代碼的作用之一就是選通相應的參數寄存器,除SLEEPIN、CSRDIR、CSRR和MREAD外任一條指令的執行都產生在附屬參數的輸入完成之後。MPU可用寫入新參數與餘下的舊參數有效地組合成新的參數,需要注意的是所寫參數的順序不能改變,也不能省略。
表1 SED1335指令集

----------------------------------------------------------------------
功能 指令 代碼 說明 參數量
----------------------------------------------------------------------
系統控制 SYSTEM SET 40H 初始化,顯示窗口空閑操作 8
----------------------------------------------------------------------
SLEEP IN 53H -
----------------------------------------------------------------------
顯示操作 DISP ON/OFF 59H/58H 設置開關,設置顯示方式 1
----------------------------------------------------------------------
SCROLL 44H 設置顯示區域,捲動 10
----------------------------------------------------------------------
CSRFORM 5DH 設置游標形狀 2
----------------------------------------------------------------------

硬體介面電路
  一般SED1335控制板有一跳線,用來選擇MPU是MCS51或MC68000單片機。此處硬體設計採用單片機80C31控制SED1335來完成對液晶顯示模塊的控制,介面電路圖略。
  80C31外擴32K的27256 EEPROM,用以存儲程序及顯示資料。LCD的八位數據D0~D7接到80C31的外部數據匯流排P0.0-P0.7上,LCD的片選CS接80C31的P2.7(A15),LCD的A0接80C31的P2.0(A8),所以LCD的口地址為0XXXXXX0XXXXXXXXB或0XXXXXX1XXXXXXXXB,V0為LCD的對比度調節,接一個20K的電位器中間抽頭,當向VEE方向調時,LCD對比度增大,向VDD方向調時,LCD對比度減小。

軟體
  SEED1335的程序設計非常簡潔方便,其流程是:
  在硬體系統上電複位后,軟體根據液晶模塊的參數(如液晶的行數、列數、掃描頻率等)和需要的顯示方式設置各個指令的參數來初始化系統,之後就可以由單片機把數據直接送給SED1335的顯示緩存,SED1335就可以控制液晶顯示。如果在後面需要改變顯示的形式(如使原來靜止的圖片翻轉),只要對應表1中的指令改變相應指令的參數,然後重新輸入數據即可改變顯示的方式。
  設置系統命令參數或送數據給顯緩的方法是:先將指令代碼送到SED1335的命令口地址,然後把該指令的參數送到數據口地址后即可把數據送到數據口地址。語法如下:
  MOV DPTR,#XXXXH;XXXXH為命令口或數據口地址
  MOV A,#XXH;XXH為指令代碼、代碼參數、數據
  MOVX @DPTR,A
  軟體初始化就是根據表1中提供的指令集設置一些有關LCD的參數,以便LCD能正確顯示圖文信息。對80C31而言,所有對LCD操作的指令均為訪外部I/O指令MOVX。例如,要顯示320×240的黑白點陣圖,先將點陣圖反色,把bmp.hex和程序一起燒錄到27256中,點陣圖存放在1000H開始的地址。針對320×240LCD點陣三層圖形疊加顯示初始化程序如下。
  INIT:
  MOV DPTR,#0101H;命令40H參數設置,#0101H為命令口地址
  MOV A,#40H
  MOVX @DPTR,A;把命令代碼送給命令口地址
  MOV A,#30H
  MOV DPTR,#0000H;#0000H為數據口地址
  MOVX @DPTR,A;把參數送給數據口地址
  MOV A,#07H;設置游標寬度為8
  MOVX @DPTR,A
  MOV A,#07H;設置游標高度為8
  MOVX @DPTR,A
  MOV A,#27H; 設置LCD每行需要的位元組數,每行320個點,行數
為320/8-1=39
  MOVX @DPTR,A
  MOV A,#36H;設置液晶的掃描頻率約為70HZ
  MOVX @DPTR,A
  MOV A,#239D;設置LCD的列數為239
  MOVX @DPTR,A
  ……
  MOV DPTR,#0101H;命令5AH,設置點單元捲動位置參數
  MOV A,#5AH
  MOVX @DPTR,A




[admin via 研發互助社區 ] 80C31和SED1335控制320×240LCD模塊已經有2476次圍觀

http://cocdig.com/docs/show-post-44104.html