基于32位微處理器的液晶顯示系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第1頁(yè)
基于32位微處理器的液晶顯示系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第2頁(yè)
基于32位微處理器的液晶顯示系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第3頁(yè)
基于32位微處理器的液晶顯示系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第4頁(yè)
基于32位微處理器的液晶顯示系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔-下載后可編輯基于32位微處理器的液晶顯示系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用引言近年來(lái)隨著低成本高性能32位微處理器的出現(xiàn),越來(lái)越多的工程設(shè)計(jì)人員把目光投向32位嵌入式產(chǎn)品的開(kāi)發(fā)中。目前ARM系列32位微處理器在低功耗移動(dòng)通信設(shè)備方面占有優(yōu)勢(shì);Motorola的MC683xx系列和ColdFire系列主要用于工控、智能化儀表和汽車(chē)電子等領(lǐng)域;SoC技術(shù)是系統(tǒng)開(kāi)發(fā)越來(lái)越傾向于32位CPU為,32位微處理器日益顯示出其巨大的優(yōu)越性。顯示器件是嵌入式系統(tǒng)進(jìn)行人機(jī)交互的重要設(shè)備,液晶顯示器具有體積小、微功耗、低輻射、性能可靠等優(yōu)點(diǎn),已經(jīng)成為工程技術(shù)人員進(jìn)行系統(tǒng)設(shè)計(jì)的。但目前常用的多種液晶顯示控制器還僅是基于8位總線并且管理顯示存儲(chǔ)器空間較小,在系統(tǒng)有大量高速實(shí)時(shí)數(shù)據(jù)的情況下就有些吃力,“顯示瓶頸”有待解決。對(duì)此本文提出了一種基于16位總線的大規(guī)模點(diǎn)陣圖形液晶顯示控制器SED1353和32位微處理器相結(jié)合的液晶顯示系統(tǒng),有效地解決上述問(wèn)題。

SED1353圖形液晶顯示控制器簡(jiǎn)介及其接口原理

SED1353圖形液晶顯示控制器作為計(jì)算機(jī)系統(tǒng)控制液晶顯示模塊的專(zhuān)用芯片,具有8位/16位計(jì)算機(jī)總線接口;內(nèi)置調(diào)色板,支持256種色彩或16級(jí)灰度的液晶顯示屏;具有管理128KB顯示存儲(chǔ)器空間的能力,可支持分辨率為1024×1024點(diǎn)陣液晶顯示模塊,提供了比較寬的應(yīng)用領(lǐng)域。

SED1353是一種可以由微處理器管理顯示存儲(chǔ)器的液晶顯示控制芯片,即微處理器可以采用訪問(wèn)外部存儲(chǔ)器的方法直接對(duì)顯示存儲(chǔ)器和它的16個(gè)內(nèi)部寄存器進(jìn)行設(shè)置讀取。相比由控制器管理顯示存儲(chǔ)器方式的液晶顯示控制器(典型芯片如SED1335),SED1353的優(yōu)點(diǎn)是顯而易見(jiàn)的,它不需要反復(fù)寫(xiě)指令再寫(xiě)數(shù)據(jù)完成對(duì)顯示存儲(chǔ)器和內(nèi)部寄存器的管理,控制效率大為提高。由于要分配一定地址空間給顯示存儲(chǔ)器,SED1353控制器的缺點(diǎn)是占系統(tǒng)資源比較多。微處理器在訪問(wèn)SED1353的內(nèi)部寄存器時(shí),地址總線分為三部分:A15~A10組合作為寄存器片選信號(hào)I/OCS;A9~A4作為基地址且需要與上電時(shí)的VD12~VD7比較,相等才進(jìn)行內(nèi)部譯碼選通寄存器;A3~A0作為16個(gè)寄存器AUX[0~F]的地址。微處理器訪問(wèn)顯示存儲(chǔ)器時(shí),地址總線分為兩部分:A19~A17高位地址對(duì)應(yīng)顯示存儲(chǔ)器的128KB地址空間,與VD15~VD13設(shè)置相等才內(nèi)部譯碼選通顯示存儲(chǔ)器;A16等地址線組合作為顯示存儲(chǔ)器片選信號(hào)MEMCS#,以對(duì)顯示存儲(chǔ)器單元進(jìn)行操作。

硬件系統(tǒng)設(shè)計(jì)

MC68332與SED1353的接口電路設(shè)計(jì)

MC68332通過(guò)地址總線、數(shù)據(jù)總線,CS8片選信號(hào)、數(shù)據(jù)傳輸寬度信號(hào)SIZ0、A0及讀寫(xiě)控制R/W,外圍器件接口應(yīng)答信號(hào)DSACK1,同SED1353進(jìn)行異步數(shù)據(jù)傳送。SED1353的I/O地址空間分配為$200000~$23FFFF。其中SED1353的16個(gè)8位寄存器地址為$200000~$20000F;顯示存儲(chǔ)器占用128KB地址空間,即$220000~$23FFFF。CS8允許的地址空間塊大小設(shè)置為256KB,起始地址$200000。DSACD1指明外部外圍器件寬度為16位;可訪問(wèn)管理/用戶級(jí)空間;允許進(jìn)行讀寫(xiě)訪問(wèn)。故CS8基址寄存器和選擇寄存器編程為:CSBAR8=$2022;CSOR8=$7BF0。MC68332與SED1353的接口電路如圖1所示。圖1還給出了SED1353與液晶屏LM64P83L的接口電路。SED1353通過(guò)顯示存儲(chǔ)器的數(shù)據(jù)總線VD15~VD0的復(fù)位上電設(shè)置自己的I/O地址。設(shè)數(shù)值1表示該端接一個(gè)10kΩ電阻上拉至高電平,0表示不接上拉電阻,x表示任意。故設(shè)置VD15~VD13=001;VD12~VD4=000000xxx;其中VD3~VD0=1,表示16位數(shù)據(jù)總線、直接訪問(wèn)方式、M68000時(shí)序及總線高低字節(jié)交換。

地址譯碼GAL的設(shè)計(jì)

當(dāng)MC68332的字或長(zhǎng)字?jǐn)?shù)據(jù)傳送到SED1353的I/O偶數(shù)地址(受對(duì)準(zhǔn)限制)時(shí),需要使BHE#、AB0/UDS#同時(shí)低電平有效。單字節(jié)傳輸雖然不受對(duì)準(zhǔn)限制,但單字節(jié)數(shù)據(jù)傳送到SED1353的I/O奇數(shù)地址時(shí)(如訪問(wèn)SED1353內(nèi)部8位寄存器),需要使SED1353的BHE#低電平有效,AB0/UDS#高電平無(wú)效;此外,MC68332設(shè)置定義的CS8定義的地址空間包括了內(nèi)部寄存器和顯示存儲(chǔ)器的地址空間,此時(shí)還不能將各自的片選信號(hào)分開(kāi)。因此可通過(guò)可編程邏輯器件來(lái)解決這一問(wèn)題,GAL將依據(jù)下列等式編程:

IOCS#=!(!CS8!A17!A16!A15!A14!A13!A12!A11!A10)

MEMCS#=CS8

BHE#=SIZ0!A0

軟件設(shè)計(jì)

MC68332的硬件初始化程序設(shè)計(jì)

MC68332的復(fù)位向量和初始化程序駐留在ROM中,在系統(tǒng)復(fù)位后MC68332從異常情況向量表中取出向量后在管理方式下執(zhí)行初始化程序來(lái)定義相關(guān)地址、常數(shù)及其他參數(shù)。首先進(jìn)行硬件初始化,依次初始化全局寄存器、各模塊和外部設(shè)備等。MC68332地址空間的分配如下:尋址空間的$000000~$0FFFFF分配為ROM存儲(chǔ)區(qū),$100000~$13FFFF為SRAM存儲(chǔ)區(qū),$200000~$23FFFF為顯示存儲(chǔ)區(qū),$240000~$FFDFFF分配給其他外設(shè)(如串行通信模塊的MC68HC681等)。通過(guò)設(shè)備BAR寄存器,把片上RAM定位在$FFE000~$FFE7FF。通過(guò)設(shè)置SIM模塊的MCR寄存器,把$FFF000~$FFFFFF存儲(chǔ)區(qū)作為模塊寄存器區(qū)。硬件初始化完成后,MC68332通過(guò)設(shè)置用戶堆棧指針地址USP、狀態(tài)寄存器SR以及程序計(jì)數(shù)器PC將控制權(quán)交給應(yīng)用程序。應(yīng)用程序一般工作在用戶方式下。本文中液晶顯示系統(tǒng)使用的液晶屏為SHARP公司的LM64P83L,STN單色雙屏結(jié)構(gòu)640×480點(diǎn)陣。限于篇幅,只列出SED1353硬件初始化程序清單。

SED1353初始化程序:

INCLUDESED1353.ASM

INITMOVE.B#$00,AUX00;設(shè)置為正常工作模式

MOVE.B#$44,AUX01;設(shè)置關(guān)顯示,雙屏結(jié)構(gòu),不屏蔽XSCL,8位LCD數(shù)據(jù),16位顯存結(jié)構(gòu)

MOVE.B#$27,AUX02;設(shè)置顯示域?qū)挾萀BCB8:0=1×640/16-1=39(十進(jìn)制)

MOVE.B#$04,AUX03;設(shè)置正常運(yùn)行方式,單色無(wú)灰度顯示,1位/像素

MOVE.B#$EF,AUX04;設(shè)置掃描行數(shù),TDLC7:0=480/2-1=239(十進(jìn)制)

MOVE.B#$00,AUX05;使用默認(rèn)值,每幀WF翻轉(zhuǎn)

MOVE.B#$00,AUX06;設(shè)置上半屏顯示首址為$220000

MOVE.B#$00,AUX07

MOVE.B#$80,AUX08;設(shè)置下半屏顯示首址為$224B00(使用連續(xù)地址)

MOVE.B#$25,AUX09

MOVE.B#$00,AUX0C;使用默認(rèn)非顯示周期

MOVE.B#$00,AUX0D;不使用虛擬屏

ORI.B#$90,AUX01;開(kāi)顯示和LCDE使能不需要設(shè)置的寄存器會(huì)被自動(dòng)旁路

漢字顯示程序的設(shè)計(jì)

在對(duì)系統(tǒng)進(jìn)行完正確的初始化后將ROM中的字模數(shù)據(jù)送到SED1353顯示存儲(chǔ)器,就可以使液晶顯示屏顯示出漢字。顯示漢字需要指定其坐標(biāo)位置,坐標(biāo)對(duì)應(yīng)該漢字模入口地址。在顯示漢字界面前,首先清屏。由于本文中顯示存儲(chǔ)器結(jié)構(gòu)為16位,所以X方向以字為單位(偶數(shù)地址對(duì)齊)。故規(guī)定顯示區(qū)左上角坐標(biāo)為(0,0),右下角坐標(biāo)為(39,479)。每個(gè)漢字都有的代碼,所以在調(diào)用字模數(shù)據(jù)前需要對(duì)漢字的代碼進(jìn)行解碼,對(duì)坐標(biāo)進(jìn)行解析。

字模入口地址=Y坐標(biāo)×80+X坐標(biāo)×2;字模首地址=漢字代碼×32+字庫(kù)首地址。

以在坐標(biāo)(30,148)處顯示代碼為24的16×16漢字為例,程序如下:

(1)清屏子程序

MOVE.L#$220000,A4;賦當(dāng)前顯示首址

BRACLRLCD;調(diào)用清屏子程序

CLRLCDCLR.LD3

CLR.LD4

MOVE.W#480,D3;需要清480行

LOOP1MOVE.W#40,D4;每行40個(gè)字

LOOP2MOVE.W#$0000,(A4)+;清零

SUB.W#1,D4BNELOOP2SUB.W#1,D3

BNELOOP1RTS

(2)漢字顯示子程序

MOVE.L#0,A1;清A1,A2

MOVE.L#0,A2CLR.LD1;清D1~D4

CLR.LD2

CLR.LD3

CLR.LD4

MOVE.B#30,D2;賦坐標(biāo)值

MOVE.W#148,D3

BSRALXY;調(diào)坐標(biāo)解析子程序

MOVE.LD3,A1;坐標(biāo)的地址送出

MOVE.W#24,D4;賦代碼值

BSRDECODE;調(diào)解碼子程序

MOVE.LD4,A2;字模首址送出

LOOPMOVE.W(A2)+,(A1)

ADD.L#$50,A1;字模數(shù)據(jù)寫(xiě)入換行

SUB.B#1,D1

BNELOOP

END

DECODEMULU#32,D4

ADD.W#TAB16,D4

MOVE.B#16,D1;循環(huán)16次RTS

ALXYMULU#$50,D3

MULU#$2,D2

ADD.WD2,D3

ADD.L#$220000,D3

RTS

TAB16…

*****設(shè)“馬”漢字代碼為24******

DC.W$0020,$3FF0,$0020,$0820;馬

DC.W$0820,$0820,$0820,$0824

DC.W$0FFE,$0004,$0024,$FFF4

DC.W$0004,$0004,$0028,$0010

...

結(jié)束語(yǔ)

32位嵌入式處理器的軟件開(kāi)發(fā)以C語(yǔ)言為主,通常情況下用匯編語(yǔ)言編寫(xiě)與硬件有關(guān)的程序,語(yǔ)言C編寫(xiě)主程序?qū)崿F(xiàn)某些復(fù)雜算法,若再配上實(shí)時(shí)多任務(wù)任務(wù)操作系統(tǒng)更是如虎添翼。本文所述方法可移植性強(qiáng),稍作修改可應(yīng)用于摩托羅拉MC68K系列嵌入式系統(tǒng);選用的SED1353具有直接管理128K大容量顯示緩沖區(qū)的能力,編程簡(jiǎn)單、顯示速度快和執(zhí)行效率高;可支持多種單色/彩色液晶顯示屏,可以實(shí)現(xiàn)數(shù)據(jù)顯示、繪制圖表以及翻轉(zhuǎn)等功能,具有良好的顯示界面,提高了系統(tǒng)的可操作性,值得在智能化儀器儀表中推廣。

參考文獻(xiàn):

[1].SED1353datasheet/datasheet/SED1353_603280.html.[2].A15datasheet/datasheet/A15_1244519.html.[3].A10datasheet/datasheet/A10_1817627.html.[4].A17datasheet/datasheet/A17_1819429.html.[5].A16datasheet/datasheet/A16_1819409.html.[6].MC68332datasheet/datasheet/MC68332_475442.html.[7].CS8datasheet/datasheet/CS8_2332280.html.[8].CS8datasheet/datasheet/CS+8_1097860.html.[9].LM64P83Ldatasheet/datasheet/LM64P83L_843666.html.[10].M68000datasheet/datasheet/M68000_463752.html.[11].A14datasheet/datasheet/A14+_1490464.html.[

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論