新聞中心

EEPW首頁 > 設(shè)計應(yīng)用 > 51XA單片機與圖形液晶顯示器的接口設(shè)計

51XA單片機與圖形液晶顯示器的接口設(shè)計

——
作者:呂治安,張建華 (襄樊學(xué)院物理系,湖北省襄樊市 441053) 時間:2007-01-26 來源:《電子工程師》 收藏

0 引言

p51xa是philips公司的一種16位單片機,可管理的存儲器空間大,運行速度快,支持實時多任務(wù)系統(tǒng)的增強了實現(xiàn)高級語言的支持,可以運用在需要復(fù)雜、高速控制的場合,在體系結(jié)構(gòu)上與mcs-5高度兼容,便于實現(xiàn)向高性能微控制器的快速、平滑轉(zhuǎn)移。北京精電蓬遠(yuǎn)顯示技術(shù)有限公司的mgls240128t是一種240×128點陣的圖形lcd(器),可以顯示圖形、曲線,全屏可顯示15×8個漢字,適宜用在需要有較多顯示內(nèi)容的場合,它內(nèi)含t6963c控制器,能直接與intel系列的微處理器接口。

1 p51xag37單片機和t6963c簡介

p51xa單片機的內(nèi)部結(jié)構(gòu)和外部數(shù)據(jù)總線均為16位結(jié)構(gòu),支持?jǐn)U展的外部存儲器空間為1mb-16mb,p51xa內(nèi)核的結(jié)構(gòu)進(jìn)行了優(yōu)化,克服了一般微處理器單累加器的瓶頸,其內(nèi)核的幾個寄存器中的每一個都可作為累加器使用,可以實現(xiàn)預(yù)取指令和操作數(shù)據(jù)的回寫。p51xa在訪問外部存儲器時一個ale(地質(zhì)鎖存允許)脈沖可以讀取16個字節(jié),從而大大提高訪問外部存儲器的速度,p51xa的存儲器按分段組織,每段為64kb,p51xa有系統(tǒng)模式和用戶模式兩種工作模式,有ssp(系統(tǒng)堆棧指針)和usp(用戶堆棧指針)兩個堆棧指針,堆??梢园才旁趦?nèi)部存儲中,也可以安排在外部存儲器中。在運行實時多任務(wù)系統(tǒng)的情況下可以有效地實現(xiàn)任務(wù)間的保護(hù),p51xa支持4種類型的中斷--異常中斷、事件中斷、陷阱中斷和軟中斷,采用矢量中斷的方法,加快了中斷的相應(yīng)速度,圖1為p51xa訪問外部數(shù)據(jù)總線的單個數(shù)據(jù)的時序圖,在時鐘頻率為30m赫茲時的一個時鐘周期為33.3ns。

本文引用地址:http://www.butianyuan.cn/article/21244.htm

圖2為t6963c時序及參數(shù),p51xa工作在30m赫茲時與t6963c的時序配合有一定差異,需要用軟件和硬件的方法解決,在運行速度滿足要求的情況下可適當(dāng)減低xa的時鐘頻率。

mgls240128t內(nèi)部使用t6963c控制器和8kb的數(shù)據(jù)緩沖器,可以工作在圖形模式和本文模式,工作在本文模式時可以使用其內(nèi)部的字符發(fā)生器,也可以使用外部的字符發(fā)生器。但它的字符發(fā)生器的容量不大,如果系統(tǒng)中僅需要顯示部分特定的漢字,則可以在lcd的片內(nèi)ram中建立一個字符發(fā)生器,工作在本文模式,這里主要介紹圖形模式下工作。t6963c通過指令設(shè)置其顯示功能,指令可以帶1個或2個參數(shù),也可不帶參數(shù),t6963c的指令系統(tǒng)有10種指令,這里僅介紹用于圖形顯示的部分指令。如圖3所示。

mgls240128t內(nèi)部的顯示緩存在系統(tǒng)中的地址安排由其地址譯碼電路決定,而圖形顯示區(qū)的首地址則可以由軟件設(shè)定,通過修改顯示首地址可以實現(xiàn)滾動效果。首地址的第1個字節(jié)的d7位對應(yīng)于lcd顯示屏左上角的一個點,然后是d6、d5、…d0位等,再接下一個字節(jié)等,直到設(shè)定的圖形顯示區(qū)右邊界為止。然后是下一行第1個字節(jié),如此等等,寫入指令前最好先檢查它的狀態(tài)字,如t6963c處于準(zhǔn)確就緒狀態(tài),則可以寫入指令,順序是先寫入?yún)?shù),然后寫入指令。它的狀態(tài)字結(jié)構(gòu)如圖4所示。

進(jìn)行不同的操作時需檢測不同的狀態(tài)位。

(1)顯示區(qū)域設(shè)置
設(shè)置圖形區(qū)首地址:par1,par2,42h,其中:par1、par2分別為圖形顯示區(qū)首地址的低字節(jié)和高字節(jié),42h為指令代碼。
設(shè)置圖形區(qū)寬度(字節(jié)數(shù)/行):par,00h,43h。其中:par為用字節(jié)數(shù)表示的寬度,43h為指令代碼。

(2)顯示開關(guān)
格式如下:
98h:圖形顯示開
90h:圖形顯示關(guān)

(3)數(shù)據(jù)自動讀寫方式設(shè)置
設(shè)置數(shù)據(jù)自動讀/寫方式后,每讀/寫顯示緩沖區(qū)一次,其內(nèi)部地址指針自動加1,格式如下:
b0h:設(shè)置自動寫
b1h:設(shè)置自動讀
b2h/b3h:自動讀/寫結(jié)束

(4)數(shù)據(jù)一次讀寫方式
共有6條,分別如下所示(其中data為要寫入的數(shù)據(jù),讀操作時不需要數(shù)據(jù)):
data c0h:數(shù)據(jù)寫,地址加1
c1h:數(shù)據(jù)讀,地址加1
data c2h:數(shù)據(jù)寫,地址減1
c3h:數(shù)據(jù)讀,地址減1
data c4h:數(shù)據(jù)寫,地址不變
c5h:數(shù)據(jù)讀,地址不變

(5)位操作
該指令可將當(dāng)前地址指針位置的顯示緩沖區(qū)的某一字節(jié)的制定位置1或清零,格式如下:
1 1 1 1 n3 n2 n1 n0
其中:n3=1置1,n3=0清零,n2 n1 n0為字節(jié)內(nèi)的位地址。利用位操作指令可以在屏上顯示各種曲線或圖形。

2 接口硬件設(shè)計

雖然p51xa有sfr(特殊功能寄存器)總線,可以將擴展的外部接口器件連接在sfr總線上,但并不是每一種派生產(chǎn)品都將sfr總線引到片上外,所以在大多數(shù)情況下和mcs-51類似,利用外部數(shù)據(jù)存儲器空間來擴展外部接口,由于一般使用xa的場合往往需要數(shù)據(jù)存儲器的空間較大,而xa的外部數(shù)據(jù)存儲器空間是分段結(jié)構(gòu)的,為了使接口電路簡單一般可將系統(tǒng)中需要擴展的外部接口集中在一個專門的段內(nèi),同時盡可能安排在該段的前1kb空間,以便于用直接尋址方式訪問。在簡單的前、后臺方式下,擴展的外部接口可直接用絕對地址進(jìn)行訪問。

需要注意的是,p51xa的外部總線進(jìn)行了優(yōu)化,地址的低4位a0-a3不是分時復(fù)用的及在外部總線設(shè)為16位的情況下不需要地質(zhì)線a0,此時a0作為高位數(shù)據(jù)的寫信號線--wrh,而原來的wr作為低8位數(shù)據(jù)的寫信號線--wrl,在擴展8位的外部接口器件的時一般盡量安排在偶地址。lcd的模塊mgls240128t可以直接與p51xa總線實現(xiàn)接口,其邏輯圖見圖5所示,這里就mgls240128t連接在xa數(shù)據(jù)總線的低8位,寫入時用wrl控制信號線,xa地址總線的a1用做mgls240128t的cd控制,根據(jù)系統(tǒng)的具體安排,用xa地址線的高位譯碼后驅(qū)動mgls240128t的片選線。

3 接口軟件設(shè)計

接口軟件用hi-tech c編寫,分成為應(yīng)用程序提供服務(wù)的接口函數(shù)和訪問硬件的驅(qū)動程序等兩個層次,接口函數(shù)通過調(diào)用驅(qū)動程序?qū)崿F(xiàn)初始化、漢字、圖形等的顯示。

根據(jù)對t6963c的指令系統(tǒng)的分析可知,指令有雙字節(jié)數(shù)據(jù)、單字節(jié)數(shù)據(jù)和無數(shù)據(jù)等,在對t6963c進(jìn)行讀寫之前其必須根據(jù)其狀態(tài)寄存器來判斷是否可以進(jìn)行操作,以下為底層的3個寫指令/數(shù)據(jù)的函數(shù)和初始化函數(shù):


4 結(jié)束語

p51xa是一種與標(biāo)準(zhǔn)的mcs-51高度兼容、高性能的16位單片機,它為廣大熟悉mcs-51的開發(fā)人員提供了一種向16位單片機的平滑轉(zhuǎn)移,也為我們提供了更加廣泛的選擇。



關(guān)鍵詞: 液晶顯示 LCD

評論


相關(guān)推薦

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

關(guān)閉