系統(tǒng)擴(kuò)展—分離總線
單片機(jī)的芯片內(nèi)集成了計(jì)算機(jī)的基本功能部件,已具備了很強(qiáng)的功能,當(dāng)片內(nèi)ROM,RAM的容量,并行I/O端口,定時(shí)器及中斷源等資源都還可以很方便地進(jìn)行功能擴(kuò)展.特別是用的較多的廉價(jià)的EPROM.片內(nèi)RAM中具有128字節(jié),一般也都需要擴(kuò)展.
由8051系列單片機(jī)的結(jié)構(gòu)可知,雖然芯片內(nèi)部有4個(gè)8位I/O端口,但如果使用8031芯片,則可供外部輸入/輸出設(shè)備使用的端只有P1一個(gè).這對(duì)于眾多的外部設(shè)備如鍵盤,顯示器,開(kāi)關(guān),A/D轉(zhuǎn)換,D/A轉(zhuǎn)換等是遠(yuǎn)不夠用的.這就需要擴(kuò)展I/O接口.另外,外部設(shè)備與單片機(jī)在運(yùn)行速度上存在這很大的差別,要把快捷的單片機(jī)與慢速的外接設(shè)備(如打印機(jī))有機(jī)地聯(lián)系起來(lái),就需要在單片機(jī)與外部設(shè)備之間搭一緩沖橋梁,使二者能很好的匹配.這種用來(lái)使單片機(jī)與外部設(shè)備交換信息的橋梁就叫做接口.
并行接口電路作為單片機(jī)與外設(shè)間的緩沖界面應(yīng)具備以下功能:
1、每個(gè)端口都具有數(shù)據(jù)存和緩沖的功能,以便暫存數(shù)據(jù)和信息;2、每個(gè)端口都具有與CPU進(jìn)行信息交換應(yīng)答信號(hào);3、具有片選與控制引腳端,以作為CPU選中本芯片的片選端和傳送控制命令被控端;4、可用程序選擇工作方式和功能,即通常講的可編程.
很多接口電路都被制成標(biāo)準(zhǔn)通用接口芯片.用戶可根據(jù)系統(tǒng)的需要,選用適當(dāng)?shù)慕涌谛酒c單片機(jī)連接起來(lái),并用程序設(shè)置其工作方式,以組成用戶所需要的完整的單片機(jī)應(yīng)用系統(tǒng).
單片機(jī)的系統(tǒng)擴(kuò)展包括程序存儲(chǔ)器擴(kuò)展,數(shù)據(jù)存儲(chǔ)器擴(kuò)展和接口芯片擴(kuò)展等,所有這些擴(kuò)展都要用到單片機(jī)的外部總線,所以我們先學(xué)習(xí)單片機(jī)的總線擴(kuò)展.8051系列單片機(jī)由于受引腳的限制,數(shù)據(jù)線和地址線低8位是分別復(fù)用的.為了將它們分離出來(lái),以便和單片機(jī)之外的芯片(如ROM,RAM等)準(zhǔn)確地連接,在單片機(jī)外部增加了地址鎖存器,構(gòu)成與一般CPU類似的三總線.即數(shù)據(jù)總線,地址總線和控制總線.
采用74373作地址鎖存器CPU訪問(wèn)片外存儲(chǔ)器的過(guò)程如下:將低8位地址送P0口,高8位地址送P2口,同時(shí),地址鎖存允許信號(hào)ALE由低電平變?yōu)楦唠娖?待地址信號(hào)穩(wěn)定后,ALE由高變低,將出現(xiàn)在P0口上的地址信號(hào)鎖存到外部地址鎖存器74hc373輸出端.由于ALE信號(hào)為低電平時(shí),74373的輸出端不會(huì)隨輸入端的變化而變化,此時(shí)再將傳送的數(shù)據(jù)送P0口,則此時(shí)單片機(jī)的高8位地址總線和低8位地址總線就分離開(kāi)了,這樣就可以通過(guò)這組總線與外部存儲(chǔ)器相連.
在下面的學(xué)習(xí)過(guò)程中,我們要注意片選信號(hào)的三種連接方式:全譯碼方式,部分譯碼方式和線選方式,還要注意區(qū)分兩個(gè)概念:CPU的邏輯存儲(chǔ)單元地址,和存儲(chǔ)器的物理存儲(chǔ)單元地址.