怎樣實現(xiàn)片外數(shù)據(jù)存儲器的連接與訪問?
1.單片數(shù)據(jù)存儲器的連接與訪問
圖5-4為單片機與一片數(shù)據(jù)存儲器芯片6264(引腳如圖5-5所示,引腳功能見表5-3)的連接圖。在進行6264的擴展時需要注意以下幾點:
圖5-4單片數(shù)據(jù)存儲器芯片6264的擴展電路圖
圖5-5常用數(shù)據(jù)存儲器芯片的引腳圖
1)CS是片選信號,高電平有效,6264工作時該引腳必須處于高電平(直接連接至+5V電源即可)。
2)CE是片選信號,低電平有效,6264工作時該引腳必須為低電平。為了降低芯片功耗和防止干擾信號對6264中數(shù)據(jù)的影響,該引腳通常不直接接地,而是連接到單片機的高位地址總線上。其目的是通過單片機輸出的地址信號控制6264,僅當CE引腳上出現(xiàn)低電平時6264工作,其他情況下6264不工作。
3)WE引腳是寫選通信號,低電平有效。單片機的WR引腳與WE引腳相連,WR引腳的低電平控制6264通過數(shù)據(jù)總線接收來自于單片機的數(shù)據(jù),對應(yīng)于單片機的輸出(寫)操作。
4)OE是讀選通信號,低電平有效。單片機的RD引腳與OE引腳相連,RD引腳的低電平控制6264通過數(shù)據(jù)總線將數(shù)據(jù)傳送給單片機,對應(yīng)于單片機的輸入(讀)操作。
5)單片機的數(shù)據(jù)總線與6264的數(shù)據(jù)總線對應(yīng)相連。單片機的數(shù)據(jù)總線是未經(jīng)過地址鎖存器鎖存的P0口。
6)單片機地址總線的低位與6264的地址線相連。這里6264的地址線指的是引腳A12~A0,即6264的片內(nèi)地址線,片內(nèi)地址線上傳輸?shù)牡刂酚糜谶x擇6264中的存儲單元。
7)單片機地址總線的高位與6264的片選信號CE相連,用于選擇6264并使其工作。
8)表5-4給出了確定6264地址范圍的方法,由該表可知,圖5-4中的6264芯片有4組不同但作用等價的地址,其原因是:在6264擴展時,未用到的A14~A13引腳共有4個可能的電平狀態(tài)組合,每個組合對應(yīng)于一組芯片地址。但是,在實際應(yīng)用中,通常將未用的地址線引腳設(shè)置為高電平1。這是因為,在擴展多個存儲器芯片或I/O接口芯片時,未與6264片內(nèi)地址線相連的單片機地址線可能被連接到其他芯片的片選引腳,而多數(shù)芯片的片選信號是低電平有效的。因此為了保證在進行6264讀寫操作時不誤讀寫其他擴展芯片,應(yīng)當將未用到的地址線設(shè)置為高電平“1”。這是存儲器和I/O接口擴展時應(yīng)遵循的基本原則之一。
2.多片數(shù)據(jù)存儲器的連接與訪問
接下來,將通過例子說明單片機同時擴展多個數(shù)據(jù)存儲器的方法。
【例1】基于“線選法”的多片存儲器擴展。已知:圖5-6所示單片機系統(tǒng)擴展了兩片6264。要求:
1)分別確定1號和2號6264芯片的地址范圍。
2)編寫程序,從1號和2號6264芯片片內(nèi)地址A12~A0為1111100000010B的存儲單元中各取一個字節(jié),并分別存入單片機片內(nèi)RAM地址為50H和51H的單元中。
圖5-6基于“線選法”的多片存儲器擴展電路原理圖
分析:在本例中兩個6264芯片需要不同的片選信號,當A14為低電平“0”時選中1號6264,而A15為低電平“0”時則選中2號6264。這種用單片機的高位地址線作片選信號的存儲器擴展方法被稱為“線選法”。需要特別注意的是,因為1號和2號6264芯片共用單片機的低13位地址線(A12~A0)和8位數(shù)據(jù)線(D7~D0),所以單片機地址線A14和A15不能同時為低電平,否則當對其中一片6264進行讀寫操作時會誤操作另一片6264。
解:
1)1號和2號6264的地址范圍見表5-5。需要注意的是,1號和2號6264的片選信號不能同時為0;未用到單片機地址信號P2.5引腳狀態(tài)不影響對兩片6264存儲器芯片的訪問,通常將其設(shè)置為高電平。
2)1號和2號6264芯片片內(nèi)地址A12~A0為1111100000010B的存儲單元的指令訪問地址分別為1011111100000010B=0BF02H和0111111100000010B=7F02H,其中高3位地址分別對應(yīng)于A15和A14,以及未用到的地址信號A13(此處設(shè)置為高電平1)。
程序如下: