|
SEED1335的程序設(shè)計(jì)非常簡(jiǎn)潔方便,其流程是: 在硬件系統(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ù)口地址。語(yǔ)法如下: 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。例如,要顯示320×240的黑白位圖,先將位圖反色,把bmp.hex和程序一起燒錄到27256中,位圖存放在1000H開始的地址。針對(duì)320×240LCD點(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
|