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