新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于DSP控制的液晶顯示屏的設(shè)計(jì)及實(shí)現(xiàn)

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

作者: 時(shí)間:2014-12-18 來(lái)源:網(wǎng)絡(luò) 收藏

  2 與液晶顯示屏硬件接口的設(shè)計(jì)

本文引用地址:http://m.butianyuan.cn/article/267022.htm

  由于該款液晶顯示屏內(nèi)嵌了S控制器,并且將接口電路直接引出,因此對(duì)于用戶而言,整體設(shè)計(jì)大大簡(jiǎn)化,只需考慮同接口電路間的連接即可。

  以下是與該液晶顯示屏硬件接口的一種設(shè)計(jì)方案,如圖1所示。

  在該系統(tǒng)的設(shè)計(jì)過(guò)程中,選用了TI公司的TMS320C5402芯片。由于其內(nèi)部ROM不可寫,所以外掛一片32K的27256 EEPROM作為外部程序區(qū)來(lái)存儲(chǔ)程序與外部字庫(kù)??紤]到TMS320C5402芯片具有高達(dá)1Mbit的外擴(kuò)空間,實(shí)際應(yīng)用時(shí)用戶可以根據(jù)需要改變ROM的大小。對(duì)于液晶顯示屏的數(shù)據(jù)接口,因?yàn)镈SP與液晶顯示屏均由3.3V供電,可以直接將二者數(shù)據(jù)線相連,這樣DSP就能將ROM或RAM中的數(shù)據(jù)直接送入控制器的緩存中以便顯示。液晶顯示屏的控制信號(hào)由DSP地址線的第16位與第9位譯碼,因此在程序的設(shè)計(jì)中,指令口地址為8100H,數(shù)據(jù)口地址為8000H。由于DSP的讀寫管腳復(fù)用,當(dāng)該管腳為高時(shí),通過(guò)非門輸出低電平選通液晶顯示屏的讀信號(hào);當(dāng)讀管腳為低時(shí),則直接選通液晶顯示屏的寫管腳。

  3 DSP控制液晶顯示屏的軟件設(shè)計(jì)

  這里通過(guò)液晶顯示屏的初始化過(guò)程以及如何顯示一幅圖畫來(lái)具體說(shuō)明DSP控制液晶顯示屏的軟件設(shè)計(jì)。需要顯示的圖片如圖2所示??梢酝ㄟ^(guò)WINDOWS附帶的畫圖工具制作這樣一幅320×240的黑白位圖。針對(duì)這款顯示屏是由右向左顯示的特點(diǎn),需要將其垂直對(duì)稱翻轉(zhuǎn),最后將處理過(guò)的圖片以16進(jìn)制文件的形式燒入外部27256中。該圖片數(shù)據(jù)文件在DSP外部空間的起始地址為:0C000H。

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

  

流程圖

 

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

  指令設(shè)置語(yǔ)句:

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

  PORTW AR0,#8100H ;8100H為命令口地址

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

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

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

  …………

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

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

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

  …………

  液晶顯示屏的初始化程序如下:

  INIT:

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

  PORTW WR0,#8100H

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

  PORTW AR0,#8000H

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

  PORTW AR0,#8000H

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

  PORTW AR0,#8000H

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

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

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

  PORTW AR0,#8000H

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

  PORTW AR0,#8000H

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

  PORTW AR0,#8000H

  STM #00H,AR0

  PORTW AR0,#8000H

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

  PORTW AR0,#8100H

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

  PORTW AR0,#8000H

  STM #00H,AR0

  PORTW AR0,#8000H

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

  PORTW AR0,#8000H

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

  PORTW AR0,#8000H

  STM #40H,AR0

  PORTW AR0,#8000H

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

  PORTW AR0,#8000H

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

  PORTW AR0,#8000H

  STM #80H,AR0

  PORTW AR0,#8000H

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

  PORTW AR0,#8100H

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

  PORTW AR0,#8100H

  STM #0DH,AR0

  PORTW AR0,#8000H

  …………

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

  PORTW AR0,#8100H

  LD #240D,A ;清屏程序

  LOOP1:LD #40D,B

  LOOP2:STM #00H,AR0

  PORTW AR0,#8000H

  SUB #1H,B

  BC LOOP2,BNEQ

  SUB #1H,A

  BC LOOP1,ANEQ

  RET ;初始化結(jié)束

  顯示圖片的主程序如下:

  AMIN:STM #800H,SP

  CALL INIT ;調(diào)用液晶顯示屏初始化程序

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

  STM #42H,AR0

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

  LD #240,A

  CMP:LD #40,B

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

  SUB #1,B

  BC CMP1,BNEQ

  SUB #1,A

  BC CMP,ANEQ

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

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

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

led顯示器相關(guān)文章:led顯示器原理



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: DSP ED1335

評(píng)論


相關(guān)推薦

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

關(guān)閉