本帖最后由 zl2168 于 2017-6-4 16:37 編輯
我猜測你提的問題是:如何確定單片機并行擴展時的擴展芯片單元地址。
6.1.2 并行擴展尋址方式
80C51系列單片機能尋址的存儲空間,包括ROM和外RAM,各有64kB。并行擴展時,可用其一部或全部,或者將其中一部分用作擴展I/O口。這些存儲器的芯片地址和存儲器內存儲單元的子地址如何確定、如何尋址呢?存儲器內存儲單元的子地址,由低位地址線,即與存儲器地址線直接連接的地址線確定;存儲器的芯片地址由高位地址線產生的片選信號確定。當存儲器芯片多于一片時,為了避免誤操作,必須利用片選信號來分別確定各芯片的地址分配。產生片選信號的方法有線選法和譯碼法二種。
⒈ 線選法
線選法是將高位地址線直接連到存儲器芯片的片選端,如圖6-2所示。圖中芯片I、II、III都是2k×8位存儲器芯片,由低位地址線A0~A10實現片內尋址。高位地址線A11~A13分別實現片選,均為低電平有效。為了不出現尋址錯誤,要求A11~A13中只允許有一根為低電平,另二根必須為高電平,否則出錯。3片存儲器芯片地址分配如表6-1所示。
線選法片選存儲器.jpg (20.08 KB, 下載次數: 85)
下載附件
2017-6-4 16:34 上傳
⒉ 譯碼法
譯碼法是通過譯碼器將高位地址線譯碼轉換為片選信號,2條地址線能譯成4種片選信號,3條地址線能譯成8種片選信號,4條地址線能譯成16種片選信號。所對應的TTL譯碼芯片有74139(雙2-4譯碼器)、74138(3-8譯碼器)和74154(4-16譯碼器),下面以74138為例說明譯碼法。
全譯碼方式實現片選.jpg (29.97 KB, 下載次數: 87)
下載附件
2017-6-4 16:36 上傳
以上摘自張志良編著《80C51單片機實用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于學習51單片機原理,程序(雙解c和匯編)語句條條有注解,便于閱讀理解,便于自學。
|