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