新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 一種基于DSP控制的液晶顯示屏的設計及實現

        一種基于DSP控制的液晶顯示屏的設計及實現

        作者: 時間:2012-04-27 來源:網絡 收藏

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

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

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

        指令設置語句:

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

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

        參數設置語句:

        STM#XXH,AR0;XXH為指令參數

        PORTWAR0,#8000H;8000H為數據口地址

        …………

        數據輸入語句:

        STM#XXH,AR0;XXH為用戶數據

        PORTWAR0,#8000H;8000H為數據口地址

        …………

        屏的初始化程序如下:

        INIT:

        STM#40H,AR0;系統設置命令,指令代碼:40H

        PORTWWR0,#8100H

        STM#10H,AR0;標準設置

        PORTWAR0,#8000H

        STM#87H,AR0;設置光標寬度為8

        PORTWAR0,#8000H

        STM#07H,AR0;設置光標高度為8

        PORTWAR0,#8000H

        STM#27H,AR0;設置LCD每行需要的字節數,

        PORTWAR0,#8000H每行320個點,行數為320/8=40

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

        PORTWAR0,#8000H

        STM#0F0H,AR0;設置LCD的點行數為240

        PORTWAR0,#8000H

        STM#28H,AR0;設置顯示屏一行所占顯緩的字節數

        PORTWAR0,#8000H

        STM#00H,AR0

        PORTWAR0,#8000H

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

        PORTWAR0,#8100H

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

        PORTWAR0,#8000H

        STM#00H,AR0

        PORTWAR0,#8000H

        STM#240D,AR0;設置第一顯示區的行數

        PORTWAR0,#8000H

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

        PORTWAR0,#8000H

        STM#40H,AR0

        PORTWAR0,#8000H

        STM#0F0H,AR0;設置第二顯示區的行數

        PORTWAR0,#8000H

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

        PORTWAR0,#8000H

        STM#80H,AR0

        PORTWAR0,#8000H

        STM#4CH,AR0;設置光標自動由左向右移動

        PORTWAR0,#8100H

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

        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;初始化結束

        顯示圖片的主程序如下:

        AMIN:STM#800H,SP

        CALLINIT;調用屏初始化程序

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

        STM#42H,AR0

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

        LD#240,A

        CMP:LD#40,B

        CMP1:PORTWAR1+,#8000H;將320×240的位圖數據依次寫入緩存區

        SUB#1,B

        BCCMP1,BNEQ

        SUB#1,A

        BCCMP,ANEQ

        B$;主程序結束

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

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 岑溪市| 鞍山市| 宜宾县| 酒泉市| 桦甸市| 江永县| 柘城县| 高阳县| 巨鹿县| 龙州县| 克山县| 乐山市| 永和县| 上饶市| 大城县| 庆安县| 巫溪县| 横山县| 安西县| 磴口县| 霍城县| 普兰店市| 泾阳县| 美姑县| 烟台市| 舒城县| 华安县| 潜山县| 石楼县| 会泽县| 平度市| 中超| 鄯善县| 安龙县| 翁牛特旗| 南华县| 方山县| 梁平县| 中西区| 盖州市| 鄱阳县|