標題:
單片機P0口什么時候工作在總線模式啊
[打印本頁]
作者:
zlc哈哈哈
時間:
2017-11-28 15:07
標題:
單片機P0口什么時候工作在總線模式啊
我知道51單片機P0工作在I/O方式的時候需要上拉電阻,工作在總線的時候不需要,那么我想問怎么區(qū)分這兩種模式,從程序中還是什么
作者:
仰望的笨小孩
時間:
2017-11-28 17:11
P0 口是一個8位的三態(tài)雙向數(shù)據(jù)總線口,可作為通用IO接口使用,也可作為地址數(shù)據(jù)線分時復用口使用。它由一個輸出鎖存器,兩個三態(tài)輸入緩沖器,一個轉換開關MUX,一個輸出驅動電路(TI 和T2),一個與門及一個非門組成。鎖存器起輸出鎖存作用。兩個三態(tài)輸入緩沖器分別由“讀引腳”和“讀鎖存器”兩個不同的控制信號控制,場效應管T1 T2組成輸出驅動器,與非門及轉換開關構成輸出控制電路。
P0口的工作方式由片內"控制"信號進行轉換;
當控制信號等于0時,MUX轉向D鎖存器的反相輸出端,P0作為通用IO口。
當“控制“信導等于1時,MUX轉向上方,P0口作為地址/數(shù)據(jù)線時分復用口。
轉換開關(p0口的工作方式)的“控制“號是由硬件根據(jù)操作指令自動產(chǎn)生。
P0口既可以作為地址放據(jù)分時復用總線口,此時是一個真正的雙向口,也可以作為通用
的IO接口,但只是一個準雙向口。準雙向口工作的特點是當復位時,口鎖存器均置1,8
根引牌可當一般引腳線使用,而在某引腳由原輸出狀態(tài)變?yōu)檩斎霑r則應先寫人1,以免錯讀引御上的信息,此外,還可以通過“讀一修改一寫”類指令對端口實行“讀一改一寫”操作。
P0 口在實際應用中,一般情況下都是作為單片機系統(tǒng)的地址/數(shù)據(jù)分時復用總線口使
用的,這時PO口就不能再作1O口使用了。在作地址/數(shù)據(jù)分時復用總線口使用時,它分
時輸出低8位地址和傳送數(shù)據(jù)信息,其輸出的低8位地址要片外領存,常用的辦法是低8
位地址與ALE信號配合于以實現(xiàn)。
作者:
yzwzfyz
時間:
2017-11-29 13:17
早期P0口是作總線用的,后來程序存儲器、內存都做在單片機內部了,就不需要作總線用了。
可是某的單片機的內部程序或內存小了,不哆用又需要在外面擴充,就時就又需要P0作總線用了。
對于程序區(qū),當程序運行超出單片機內部最大地址時,P0自動轉為總線用;
對于內存,當用MOVX指令時,且地址也超出單片機內部的最大地址內存地址時,P0自動轉為總線方式。
現(xiàn)在多半不作總線用了,因為幾乎無須再外接存儲器了,因為你可以根據(jù)需要選擇不同的單片機青型號來解決這個問題,所以極少再將P0作總線用了。
作者:
zl2168
時間:
2017-11-29 16:00
由CPU根據(jù)操作指令自動控制,不需用戶考慮。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1