久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > AT89S51/52的P0口為什么要接一個上拉電阻

AT89S51/52的P0口為什么要接一個上拉電阻

作者: 時間:2016-11-23 來源:網絡 收藏
P0口和其它三個口的內部電路是不同的,如下圖

本文引用地址:http://cqxgywz.com/article/201611/320389.htm

  P0口是接在兩個三極管D0和D1之間的,而P1-P3口的上部是接一個電阻的。P0口的上面那個三極管D0是在進擴展存儲器或擴展總線時使用MOVX指令時才會控制它的導通和截止,在不用此指令時都是截止的。在平常我們使用如:P0_1=0 P0_1=1這些語句時控制的都是下面那個三極管D1。
  我們先假設P1口接一個74HC373,來看一看它的等效圖


AT89S51的P1口上接了74HC373后就等于接了一個負載,如上圖右邊。一般來說這些數字電路的輸入阻抗都很大,都在幾百K到上兆歐姆,而P1口內的電阻R一般在幾十K以內。

如上圖,當我們發出指令P1=0時,三極管D導通,見中間的等效圖,這時P1點的電位為0。
  當發出P1=1的指令后,三極管D截止,見右邊等效圖,因為Rx的阻值要比R的阻值大得多,因此P1點的電位是接近電源電壓的。即高電平。

我們再來看看P0口接負載時的圖


當P0=0時,等效圖是中間的,三極管D1導通,P0點的電位為0。
而當P0=1時,等效圖是右邊的,三極管D1截止,而上面的三極管D0始終是截止的,這樣P0點就等效于懸空了,它處在不穩定狀態,P0點又是RX的高阻抗輸入點,很容易受到外界和周圍電路的干擾從而直接影響到74HC373的輸出狀態。因此就得加上個電阻。如下圖


加上電阻Rc后,電路的狀態就和P1口一樣了,這個電阻Rc就是上拉電阻

但你如果只是為了讓P0口驅動個發光管,那電路可以直接簡化成下圖那樣。S51內部的電流最好不超過15mA,如果發光管的電壓為2.2V那電阻就是(5-2.2)÷15=0.18K,也就是180歐姆。

當P0=0時P0點為低電位,發光管亮起,流過D1的電流約為15mA。
當P0=1時,P0點為懸空,但發光管和180歐電阻都是低阻抗元件,P點電位就為高電位,再說也無任何輸出影響,因此這樣電路是可以的。




關鍵詞: AT89S51P0口上拉電

評論


技術專區

關閉