回覆列表
  • 1 # 使用者8156776498399

    P0口和其它三個口的內部電路是不同的,如下圖 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點電位就為高電位,再說也無任何輸出影響,因此這樣電路是可以的。 51微控制器是對所有相容Intel 8031指令系統的微控制器的統稱。該系列微控制器的始祖是Intel的8004微控制器,後來隨著Flash rom技術的發展,8004微控制器取得了長足的進展,成為應用最廣泛的8位微控制器之一,其代表型號是ATMEL公司的AT89系列,它廣泛應用於工業測控系統之中。很多公司都有51系列的相容機型推出,今後很長的一段時間內將佔有大量市場。51微控制器是基礎入門的一個微控制器,還是應用最廣泛的一種。需要注意的是51系列的微控制器一般不具備自程式設計能力。

  • 中秋節和大豐收的關聯?
  • 為什麼沒有家有兒女第五部?