當(dāng)單片機(jī)內(nèi)部功能不能滿(mǎn)足應(yīng)用系統(tǒng)的要求,經(jīng)需要在片外連接相應(yīng)的外圍芯片以滿(mǎn)足應(yīng)用系統(tǒng)的要求的過(guò)程,叫做系統(tǒng)擴(kuò)展。
通過(guò)外圍接口技術(shù),可以通過(guò)單片機(jī)來(lái)控制LED數(shù)碼管、鍵盤(pán)、LCD顯示屏等外部設(shè)備以及進(jìn)行A/D、D/A轉(zhuǎn)換,使單片機(jī)應(yīng)用在更為廣泛的領(lǐng)域。
系統(tǒng)擴(kuò)展51單片機(jī)中集成了CPU、I/O口、定時(shí)器、中斷系統(tǒng)、存儲(chǔ)器等計(jì)算機(jī)的基本部件,外加電源、復(fù)位電路和時(shí)鐘單路等簡(jiǎn)單的輔助電路即構(gòu)成一個(gè)能夠正常工作的最小系統(tǒng),電路如下圖所示:
51單片機(jī)有很強(qiáng)外部拓展能力,大部分常規(guī)芯片都可作為單片機(jī)的外圍擴(kuò)展電路,可進(jìn)行的拓展有存儲(chǔ)器擴(kuò)展、I/O口擴(kuò)展、串行總線(xiàn)接口存儲(chǔ)器擴(kuò)展等。
總線(xiàn)(Bus)是計(jì)算機(jī)內(nèi)部CPU、內(nèi)存、輸入、輸出等設(shè)備傳遞信息的公用通道,它是由導(dǎo)線(xiàn)組成的傳輸線(xiàn)束, 主機(jī)的各個(gè)部件通過(guò)它相連接,外部設(shè)備通過(guò)相應(yīng)的接口電路再與總線(xiàn)相連接,從而形成了計(jì)算機(jī)硬件系統(tǒng)。按照計(jì)算機(jī)所傳輸?shù)男畔⒎N類(lèi),計(jì)算機(jī)的總線(xiàn)可以劃分為地址總線(xiàn)(Address Bus)、數(shù)據(jù)總線(xiàn)(Data Bus)及控制總線(xiàn)(Control Bus),分別用來(lái)傳輸數(shù)據(jù)、數(shù)據(jù)地址和控制信號(hào)。
單片機(jī)的系統(tǒng)擴(kuò)展法有并行擴(kuò)展法及串行擴(kuò)展法,并行擴(kuò)展法是用單片機(jī)的地址總線(xiàn)、數(shù)據(jù)總線(xiàn)及控制總線(xiàn)進(jìn)行系統(tǒng)擴(kuò)展,而串行擴(kuò)展法是用SPI(Serial Peripheral Interface)總線(xiàn)或者I2C(Inter-Integrated Circuit)總線(xiàn)進(jìn)行系統(tǒng)擴(kuò)展。
系統(tǒng)總線(xiàn)擴(kuò)展 總線(xiàn)信號(hào) 對(duì)應(yīng)引腳 擴(kuò)展總線(xiàn)信號(hào)名 信號(hào)含義P0口鎖存輸出 A0~A7 地址總線(xiàn)低8位
P2口 A8~A15 地址總線(xiàn)高8位
P0口 D0~D7 8位數(shù)據(jù)總線(xiàn)
ALE ALE 控制信號(hào),地址鎖存使能
PSEN PSEN 控制信號(hào),程序存儲(chǔ)器ROM使能,低電平有效
EA EA/VPP 控制信號(hào),外部訪(fǎng)問(wèn)使能,低電平有效
RD RD(P3.7) 控制信號(hào),讀信號(hào),低電平有效
WR WR(P3.8) 控制信號(hào),寫(xiě)信號(hào),低電平有效
51單片機(jī)包含的系統(tǒng)總線(xiàn)信號(hào)如上表所示,為了減少引腳數(shù)量,51系列單片機(jī)的擴(kuò)展總線(xiàn)中,數(shù)據(jù)線(xiàn)和地址線(xiàn)采用了分時(shí)復(fù)用技術(shù)。
P0口除了作一般I/O口外,還可以分時(shí)復(fù)用傳送地址總線(xiàn)信號(hào)的低8位(A0~A7)和數(shù)據(jù)總線(xiàn)信號(hào)(D0~D7),它在某一時(shí)刻傳送的是低8位地址信號(hào)還是數(shù)據(jù)信號(hào)由ALE引腳的電平狀態(tài)指明。 P2口除了作一般I/O口外,還可傳輸?shù)刂房偩€(xiàn)信號(hào)的高8位(A8~A15)。其他系統(tǒng)總線(xiàn)信號(hào)都為控制信號(hào),在執(zhí)行不同指令時(shí),隨硬件產(chǎn)生。
實(shí)際使用時(shí),通過(guò)外接一個(gè)8位鎖存器,可以實(shí)現(xiàn)地址信號(hào)和數(shù)據(jù)信號(hào)分離,如下圖中使用74LS373實(shí)現(xiàn)信號(hào)分離電路原理圖:
進(jìn)行總線(xiàn)擴(kuò)展時(shí),由于地址總線(xiàn)的寬度為16位,故外部ROM或RAM的最大直接尋址范圍都為64KB,同時(shí)它們的地址可以重疊使用。
地址譯碼法進(jìn)行總線(xiàn)擴(kuò)展時(shí),首先要進(jìn)行的是分配地址空間,就是把64KB的尋址空間通過(guò)地址譯碼的方法分成若干個(gè)大小相同的頁(yè)面,其中低位地址線(xiàn)用來(lái)選擇頁(yè)內(nèi)單元,高位地址線(xiàn)則用于頁(yè)面的選擇,不同的外部設(shè)備占用不同的頁(yè)面。分配完成后,就要想辦法進(jìn)行地址譯碼,以方便單片機(jī)進(jìn)行尋址。常用的地址譯碼方法有全地址譯碼法及“部分地址譯碼法”。
全地址譯碼是指所有的地址線(xiàn)都參與譯碼,所得到的地址空間是連續(xù)的,每一個(gè)數(shù)據(jù)單元與地址是一一對(duì)應(yīng)的,其電路的結(jié)構(gòu)一般比較復(fù)雜。例如一個(gè)存儲(chǔ)頁(yè)面大小為8KB,要把64KB的存儲(chǔ)空間分成8個(gè)頁(yè)面,則所有高位地址A13~A15都必須參與譯碼,產(chǎn)生8個(gè)獨(dú)立的頁(yè)面選擇信號(hào),形成一個(gè)連續(xù)的地址段,一般采用3-8譯碼器來(lái)實(shí)現(xiàn),如下圖:
評(píng)論
查看更多