新聞中心

EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 一種基于DSP控制的液晶顯示屏的設(shè)計及實(shí)現(xiàn)

一種基于DSP控制的液晶顯示屏的設(shè)計及實(shí)現(xiàn)

作者: 時間:2012-04-27 來源:網(wǎng)絡(luò) 收藏

需要顯示的圖片如圖2所示??梢酝ㄟ^WINDOWS附帶的畫圖工具制作這樣一幅320×240的黑白位圖。針對這款顯示屏是由右向左顯示的特點(diǎn),需要將其垂直對稱翻轉(zhuǎn),最后將處理過的圖片以16進(jìn)制文件的形式燒入外部27256中。該圖片數(shù)據(jù)文件在外部空間的起始地址為:0C000H。

由流程圖(圖3)可以看出,在系統(tǒng)硬件上電復(fù)位后,軟件根據(jù)用戶的需要自動對各項(xiàng)器指令代碼及其參數(shù)進(jìn)行設(shè)置,從而完成對液晶模塊的參數(shù)(如液晶的行數(shù)、列數(shù)、掃描頻率、光標(biāo)的位置等)以及顯示方式等一系列的初始化過程。在對系統(tǒng)進(jìn)行正確的初始化以后,可以通過將外部ROM中的數(shù)據(jù)直接送至SED1335顯示緩沖區(qū),器就可以液晶屏顯示出用戶所要的圖畫。同時用戶也可以根據(jù)自己的需要在主程序運(yùn)行的過程中改變圖片顯示的形式,只需在表1中選擇相應(yīng)的指令代碼以及參數(shù)即可。

設(shè)置系統(tǒng)指令及其參數(shù)的方法如下:根據(jù)用戶硬件電路的,先將指令代碼送到SED1335控制器的命令口地址;然后把該指令的參數(shù)依次送到數(shù)據(jù)口地址,經(jīng)過系統(tǒng)指令及其參數(shù)的設(shè)置后,就可以把數(shù)據(jù)送到數(shù)據(jù)口地址。具體語法形式如下:

指令設(shè)置語句:

STM#XXH,AR0;XXH為指令代碼

PORTWAR0,#8100H;8100H為命令口地址

參數(shù)設(shè)置語句:

STM#XXH,AR0;XXH為指令參數(shù)

PORTWAR0,#8000H;8000H為數(shù)據(jù)口地址

…………

數(shù)據(jù)輸入語句:

STM#XXH,AR0;XXH為用戶數(shù)據(jù)

PORTWAR0,#8000H;8000H為數(shù)據(jù)口地址

…………

屏的初始化程序如下:

INIT:

STM#40H,AR0;系統(tǒng)設(shè)置命令,指令代碼:40H

PORTWWR0,#8100H

STM#10H,AR0;標(biāo)準(zhǔn)設(shè)置

PORTWAR0,#8000H

STM#87H,AR0;設(shè)置光標(biāo)寬度為8

PORTWAR0,#8000H

STM#07H,AR0;設(shè)置光標(biāo)高度為8

PORTWAR0,#8000H

STM#27H,AR0;設(shè)置LCD每行需要的字節(jié)數(shù),

PORTWAR0,#8000H每行320個點(diǎn),行數(shù)為320/8=40

STM#36H,AR0;設(shè)置液晶的掃描頻率約為70Hz

PORTWAR0,#8000H

STM#0F0H,AR0;設(shè)置LCD的點(diǎn)行數(shù)為240

PORTWAR0,#8000H

STM#28H,AR0;設(shè)置顯示屏一行所占顯緩的字節(jié)數(shù)

PORTWAR0,#8000H

STM#00H,AR0

PORTWAR0,#8000H

STM#44H,AR0;SCROLL指令,指令代碼:44H

PORTWAR0,#8100H

STM#00H,AR0;確定第一顯示區(qū)的首地址

PORTWAR0,#8000H

STM#00H,AR0

PORTWAR0,#8000H

STM#240D,AR0;設(shè)置第一顯示區(qū)的行數(shù)

PORTWAR0,#8000H

STM#00H,AR0;確定第二顯示區(qū)的首地址

PORTWAR0,#8000H

STM#40H,AR0

PORTWAR0,#8000H

STM#0F0H,AR0;設(shè)置第二顯示區(qū)的行數(shù)

PORTWAR0,#8000H

STM#00H,AR0;確定第三顯示區(qū)的首地址

PORTWAR0,#8000H

STM#80H,AR0

PORTWAR0,#8000H

STM#4CH,AR0;設(shè)置光標(biāo)自動由左向右移動

PORTWAR0,#8100H

STM#5BH,AR0;設(shè)置顯示屏為兩層疊加顯示方式

PORTWAR0,#8100H

STM#0DH,AR0

PORTWAR0,#8000H

…………

STM#42H,AR0;屏顯緩寫指令

PORTWAR0,#8100H

LD#240D,A;清屏程序

LOOP1:LD#40D,B

LOOP2:STM#00H,AR0

PORTWAR0,#8000H

SUB#1H,B

BCLOOP2,BNEQ

SUB#1H,A

BCLOOP1,ANEQ

RET;初始化結(jié)束

顯示圖片的主程序如下:

AMIN:STM#800H,SP

CALLINIT;調(diào)用屏初始化程序

STM#0C03EH,AR1;位圖數(shù)據(jù)相對于BMP文件頭的地址

STM#42H,AR0

PORTWAR0,#8100H;送液晶顯示屏緩寫指令

LD#240,A

CMP:LD#40,B

CMP1:PORTWAR1+,#8000H;將320×240的位圖數(shù)據(jù)依次寫入緩存區(qū)

SUB#1,B

BCCMP1,BNEQ

SUB#1,A

BCCMP,ANEQ

B$;主程序結(jié)束

以上就是該系統(tǒng)的軟件。由于篇幅有限,這里省略了某些控制指令的設(shè)置,用戶可根據(jù)實(shí)際需要添加設(shè)置。在實(shí)際的軟件中,匯編語言執(zhí)行過程中由于本身延時而引起的數(shù)據(jù)丟失現(xiàn)象,可以適當(dāng)?shù)丶尤肟罩噶睿∟OP)來解決。同時,本程序中使用圖片顯示的例子只是用來說明控制器的利用方面就顯得有些浪費(fèi)而且靈活性較差。針對那些存儲空間有限、效率要求高的系統(tǒng),可以制作成字模存儲在外部ROM中供多次調(diào)用,當(dāng)顯示文字時只需計算出顯示地址而后調(diào)用字模入口地址即可。

本文提出的基礎(chǔ)DSP控制的液晶顯示屏,作為示波表顯示前端已在實(shí)際應(yīng)用中取得了成功。該系統(tǒng)中所選用具有64K大容量緩存區(qū)的SED1335控制器,適用于多種點(diǎn)陣規(guī)格的顯示屏使用,加之其內(nèi)部固化的字符發(fā)生器可產(chǎn)生160種字模,以及具有通過改變指令參數(shù)可圖像的閃爍、翻轉(zhuǎn)、移動等特點(diǎn),因此從總體性能方面而言其大大強(qiáng)于同類型的其它控制器,非常適用于各種便攜式系統(tǒng)顯示前端的設(shè)計。


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉