《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > P51XA單片機(jī)與圖形液晶顯示器的接口設(shè)計(jì)
P51XA單片機(jī)與圖形液晶顯示器的接口設(shè)計(jì)
呂治安 張建華
摘要: P51XA是PHILIPS公司的一種16位單片機(jī),可管理的存儲(chǔ)器空間大,,運(yùn)行速度快,,支持實(shí)時(shí)多任務(wù)系統(tǒng)的增強(qiáng)了實(shí)現(xiàn)高級(jí)語言的支持,可以運(yùn)用在需要復(fù)雜,、高速控制的場合,,在體系結(jié)構(gòu)上與MCS-5高度兼容,,便于實(shí)現(xiàn)向高性能微
Abstract:
Key words :

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

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

           p51xa訪問外部數(shù)據(jù)總線的單個(gè)數(shù)據(jù)的時(shí)序圖
        圖2為T6963C時(shí)序及參數(shù),,P51XA工作在30M赫茲時(shí)與T6963C的時(shí)序配合有一定差異,,需要用軟件和硬件的方法解決,在運(yùn)行速度滿足要求的情況下可適當(dāng)減低XA的時(shí)鐘頻率,。

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

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

    進(jìn)行不同的操作時(shí)需檢測不同的狀態(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ù)自動(dòng)讀寫方式設(shè)置 

       設(shè)置數(shù)據(jù)自動(dòng)讀/寫方式后,,每讀/寫顯示緩沖區(qū)一次,,其內(nèi)部地址指針自動(dòng)加1,格式如下:
 
       B0H:設(shè)置自動(dòng)寫 

       B1H:設(shè)置自動(dòng)讀 

       B2H/B3H:自動(dòng)讀/寫結(jié)束

       (4)數(shù)據(jù)一次讀寫方式 

       共有6條,,分別如下所示(其中DATA為要寫入的數(shù)據(jù),,讀操作時(shí)不需要數(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è)計(jì)" title="設(shè)計(jì)">設(shè)計(jì) 
       雖然P51XA有SFR(特殊功能寄存器)總線,,可以將擴(kuò)展的外部接口器件連接在SFR總線上,,但并不是每一種派生產(chǎn)品都將SFR總線引到片上外,所以在大多數(shù)情況下和MCS-51類似,,利用外部數(shù)據(jù)存儲(chǔ)器空間來擴(kuò)展外部接口,,由于一般使用XA的場合往往需要數(shù)據(jù)存儲(chǔ)器的空間較大,而XA的外部數(shù)據(jù)存儲(chǔ)器空間是分段結(jié)構(gòu)的,,為了使接口電路簡單一般可將系統(tǒng)中需要擴(kuò)展的外部接口集中在一個(gè)專門的段內(nèi),,同時(shí)盡可能安排在該段的前1KB空間,以便于用直接尋址方式訪問,。在簡單的前,、后臺(tái)方式下,擴(kuò)展的外部接口可直接用絕對(duì)地址進(jìn)行訪問,。

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

           接口硬件設(shè)計(jì)
 

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

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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。