資源描述:
《雙向io口與準雙向io口的區(qū)別》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應用文檔-天天文庫。
1、單片機P0口是雙相口,而P1P2P3是準雙相口。舉個例子:相信大家都理解準媽媽,就是懷孕的女人,當然這里也是這樣的,就不是真正的雙相口了。為什么P0是雙向口,這里的差別是什么呢?最主要原因是:P0沒有上拉電阻,所以當P0最I(lǐng)O口的時候一定要加上上拉電阻,否則的話,你輸出的1就是無效了,這樣T2截止了,那么P0都就是呈現(xiàn)高阻狀態(tài)了。下圖分別是P0,P1P2P3的讀寫數(shù)據(jù),紅線表示輸出,藍線表示輸入(讀引腳)還有一個就是讀鎖存器的,沒畫出來。在讀引腳的時候,有一點注意:每當讀引腳的時候要確保場效應管T2是截止的,否則的話1(高電平)外部數(shù)據(jù)讀不出來,T2會把它拉低,所以通過MOVP
2、X,FFH,把T2截止,就完美了。在單片機學習、開發(fā)和應用中,IO口的配置對功能的實現(xiàn)起著重要的作用,下面介紹常見的四種配置,而現(xiàn)在很多單片機都兼有這四種配置,可供選擇。一.準雙向口配置如下圖,當IO輸出為高電平時,其驅(qū)動能力很弱,外部負載很容易將其拉至低電平。當IO輸出為低電平時,其驅(qū)動能力很強,可吸收相當大的電流。準雙向口有三個上拉晶體管,一個“極弱上拉”,當端鎖存器為邏輯“1”時打開,當端口懸空時,“極弱上拉”將端口上拉至高電平。第二個上拉晶體管為“弱上拉”,當端口鎖存器為邏輯“1”且端口本身也為“1”時打開,此上拉提供的電流,使準雙向口輸出為“1”。如果此時端口被外部裝
3、置拉到邏輯“0”時,通過施密特觸發(fā)器,控制“弱上拉”關(guān)閉,而“極弱上拉”維持開狀態(tài),為了把這個端口拉低,外部裝置必須有足夠的灌電流能力,使管腳上的電壓,降到門檻電以下。第三個上拉晶體管為“強上拉”,當端口鎖存器由“0”跳變到“1”時,這個上拉用來加快端口由邏輯“0”到邏輯“1”的轉(zhuǎn)換速度。準雙向口做為輸入時,通個一個施密特觸如器和一個非門,用以干擾和濾波。準雙向口用作輸入時,可對地接按鍵,如下圖1,當然也可以去掉R1直接接按鍵,當按鍵閉合時,端口被拉至低電平,當按鍵松開時,端口被內(nèi)部“極弱上拉”晶體管拉至高電平。當端口作為輸出時,不應對地外接LED如圖形控制,這樣端口的驅(qū)動能力
4、很弱,LED只能發(fā)很微弱的光,如果要驅(qū)動LED,要采用圖3的方法,這樣準雙向口在輸出為低時,可吸收20mA的電流,故能驅(qū)動LED。圖4的方法也可以,不過LED不發(fā)光時,端口要吸收收很大電流。二.開漏輸出配置這種配置,關(guān)閉所有上拉晶體管,只驅(qū)動下拉晶體管,下拉與準雙向口下拉配置相同,因此只能輸出低電平(吸收電流),和高阻狀態(tài)。不能輸出高電平(輸也電流)。如果要作為邏輯輸出,必須接上拉電阻到VCC。這種配置也可以通過上圖3和圖4來驅(qū)動LED。三.推挽輸出配置這種配置的下拉與準雙向口和開漏配置相同,具有較強的拉電流能力,不同的是,具有持續(xù)的強上拉。因此可以用上圖2的方法來驅(qū)動LED。
5、四.僅為輸入配置(高阻配置)這種配置不能輸出電流,也不能有收電流,只能作為輸入數(shù)據(jù)使用。以上四種配置各有其特點,在使用中應根據(jù)其特點靈活運用。準雙向口的最大特點是既可以作為輸入,也可以作為輸出,不需要通過控制切換。推挽輸出的特點是,無論輸也高電平還是低電平都有較大的驅(qū)動能力,在輸也高電平時,也能直接點亮LED,這在準雙向口中是不能辦到的。這種配置不宜作為輸入,因為這需要外部設(shè)備有很強的拉電流的能胃。僅為輸入配置的特點是端口只能作為輸入使用,可以獲得很高的輸入阻抗,在有模擬比較器或ADC的端口中用得較多。開漏輸出配置與準又向口相似,但內(nèi)部沒有上拉電阻。有很好的電氣兼容性,外部接上
6、拉電阻到3V電源,就能和3V邏輯器件連接。外部接上拉電阻到5V電源,就要以和5V器件連接。需要說明的是以上四種配置均可以作為輸入,也就是都可以檢測端的邏輯狀態(tài),但其特性不同,不是每種配置都可以直接接按鍵。================下面通過51的IO口介紹各種狀態(tài)的工作原理MCS-51有4組8位I/O口:P0、P1、P2和P3口,P1、P2和P3為準雙向口,P0口則為雙向三態(tài)輸入輸出口,下面我們分別介紹這幾個口線。一、P0口和P2口???圖1和圖2為P0口和P2口其中一位的電路圖。由圖可見,電路中包含一個數(shù)據(jù)輸出鎖存器(D觸發(fā)器)和兩個三態(tài)數(shù)據(jù)輸入緩沖器,另外還有一個數(shù)據(jù)輸
7、出的驅(qū)動(T1和T2)和控制電路。這兩組口線用來作為CPU與外部數(shù)據(jù)存儲器、外部程序存儲器和I/O擴展口,而不能象P1、P3直接用作輸出口。它們一起可以作為外部地址總線,P0口身兼兩職,既可作為地址總線,也可作為數(shù)據(jù)總線。圖1單片機P0口內(nèi)部一位結(jié)構(gòu)圖圖2單片機P0口內(nèi)部一位結(jié)構(gòu)圖???P2口作為外部數(shù)據(jù)存儲器或程序存儲器的地址總線的高8位輸出口AB8-AB15,P0口由ALE選通作為地址總線的低8位輸出口AB0-AB7。外部的程序存儲器由PSEN信號選通,數(shù)據(jù)存儲器則由WR和RD讀寫信號選