1樓:匿名使用者
微控制器的i/o口輸出狀態有三種:
1、低電平0;
2、高電平1;
3、懸空。
微控制器如何控制i/o輸出呢?可以簡單理解為:
1、當需要輸出低電平0時,微控制器內部通過控制npn三極體基極,使三極體導通,三極體c極(i/o輸出端)和三極體e極(gnd端)導通,所以此時輸出為低電平。
2、如果內部有上拉電阻,也就是三極體c極有一電阻連線至vcc端。所以當微控制器內部使npn三極體關斷時,三極體c極(i/o輸出端)是通過電阻連線至vcc的,所以此時輸出為高電平。
3、如果內部沒有上拉電阻,所以當微控制器內部使npn三極體關斷時,三極體c極(i/o輸出端)是懸空的,和vcc、gnd都不連線,所以此時為懸空,不確定其狀態,具體狀態和外部電路有關。
所以當設計的電路和程式,不需要輸出高電平時,就不需上拉電阻。需要高電平,就必須在外部接一上拉電阻。
比如採用灌電流驅動一led時,當輸出低電平時,led發光,當不輸出低電平時,led無法形成迴路,就不會發光,此時就不需高電平,也不需上拉電阻。
2樓:匿名使用者
如果你需要p0口輸出高低電平就要加上拉電阻,不加上拉電阻p0口是高阻狀態不能輸出高低電平!
51微控制器p0口為什麼要接上拉電阻?
3樓:
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系列的微控制器一般不具備自程式設計能力。
4樓:蔚藍語風
也不會怎樣額額,要看你實現什麼功能了。
如果你要驅動數碼管,或者讓二極體亮,需要的電流是5~10ma ,但是p0口輸出電流不到1個毫安,是無法點亮發光二極體的。醬紫數碼管二極體之類的就永遠亮不起來了
上拉電阻接法如上圖,如果接上上拉電阻,阻值為1k,然後數碼管下端如果是低電平,5-0=5v
5v除以1k=0.5ma,正好可以點亮燈
5樓:匿名使用者
因為p0口內部沒有上拉,其它口有,你對比書本上兩都的io結構圖就知道了。
6樓:生活如歌
因為51微控制器p0口內部是漏極開路型(作i/o口用時)。
上拉電阻一般用10k,一端接p0口中,一端接vcc,通常都用排阻方便些。
不接上拉電阻的話輸出會不正常,比如輸出高電平時得不到高電平
微控制器p0口為什麼要接上拉電阻
7樓:從零學電子技術
從零學51微控制器2-什麼是上拉電阻?p0口為什麼要加上拉電阻?非常詳細深入的講解,不容錯過。
8樓:匿名使用者
以上都有道理,但stc的微控制器如89c52rc p0口還是需要接上拉,否則置1後依然不為高電平,必須上拉,昨晚湊巧遇到p0口不為1的現象,發現沒有加上拉,加了上拉的就可以了
9樓:匿名使用者
p0接上拉電阻是為了提高其驅動能力。
10樓:匿名使用者
微控制器p0口要接上拉電阻,是有條件的,條件就是:傳統的51微控制器,才需要在p0口加上拉電阻。原因是p0是開漏輸出的,當輸出高電平時,是無輸出的,需要用上拉電阻才能拉成高電平。
並不是為了提高其驅動能力的。因最初的51微控制器是用p0口作資料匯流排的,需要是準雙向口。
而現在的51微控制器不再需要p0口作資料匯流排了,所以,都做成 了i/o口了,就不再需要上拉電阻了。例如,stc微控制器,就不用上拉電阻了。
為什麼51微控制器p0口要接上拉電阻?
11樓:
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系列的微控制器一般不具備自程式設計能力。
12樓:從零學電子技術
從零學51微控制器2-什麼是上拉電阻?p0口為什麼要加上拉電阻?非常詳細深入的講解,不容錯過。
13樓:飛苓青蘭
簡單的說,p0輸出高電平時,由於內部結構,只能輸出高阻態。所以外接上拉電阻。
14樓:匿名使用者
微控制器的i/o口輸出狀態有三種:
1、低電平0;
2、高電平1;
3、懸空。
微控制器如何控制i/o輸出呢?可以簡單理解為:
1、當需要輸出低電平0時,微控制器內部通過控制npn三極體基極,使三極體導通,三極體c極(i/o輸出端)和三極體e極(gnd端)導通,所以此時輸出為低電平。
2、如果內部有上拉電阻,也就是三極體c極有一電阻連線至vcc端。所以當微控制器內部使npn三極體關斷時,三極體c極(i/o輸出端)是通過電阻連線至vcc的,所以此時輸出為高電平。
3、如果內部沒有上拉電阻,所以當微控制器內部使npn三極體關斷時,三極體c極(i/o輸出端)是懸空的,和vcc、gnd都不連線,所以此時為懸空,不確定其狀態,具體狀態和外部電路有關。
所以當設計的電路和程式,不需要輸出高電平時,就不需上拉電阻。需要高電平,就必須在外部接一上拉電阻。
比如採用灌電流驅動一led時,當輸出低電平時,led發光,當不輸出低電平時,led無法形成迴路,就不會發光,此時就不需高電平,也不需上拉電阻。
51微控制器p0口做輸入口時需要先寫一併且外接上拉電阻,是這樣的嗎?
15樓:匿名使用者
51微控制器p0口做輸入口時需要先寫1即可,外部不需要上拉電阻。其實,微控制器上電覆位時,p0已全部為置1狀態,就可以直接讀輸入狀態了。只有輸出過低電平,再讀輸入狀態時需先寫1。
否則,p0口從未輸出過低電平,也不需要先寫1就可以讀。即便是先寫1,對讀輸入狀態沒有影響。
16樓:巴爰范姜婉淑
51微控制器的io口不一定都要接上拉電阻。但以下情況下需要接上拉電阻:
1、當io直接驅動的裝置電流較大時(大於20毫安),需要接上拉電阻。
2、當p0口作為資料/地址匯流排時需要接上拉電阻。
3、當控制的外設需要特定的邏輯關係時需要接上拉電阻。
51微控制器的P0口如何接上拉電阻
只有第一種電路是正確的。可以使用 排電阻 其公共端接vcc。電阻值可以選用4.7k。好像都一樣啊?51微控制器接上拉,就是其p0口的驅動太小,為的是加大驅動,只要把p0口的8個位上加10k 20k的電阻接到電源就可以了,看著圖裡都是這種用法啊,排阻一樣,只是把電源共接了,你再看下書是不是我說的這樣 ...
微控制器p0口預設高電平,預設p0口都是1嗎?按鍵按下p0口變成
微控制器復位後,所有io口都為 1 所以p0口的值當然是ffh,都為高電平。至於按鍵按下p0口是否變成0,要看原理圖。 苗涵瑤貳聖 因為傳統的51微控制器的p0口是漏極開路,內部無上拉電阻,所以po口預設的是高阻態!一般p0口做普通io口用時要加上拉電阻,上拉電阻的大小1k 10k不等 微控制器p0...
51的微控制器中,P0口作為段選,而P2口作為位選,需要挺多數碼管顯示的。不夠用,如何擴充套件
樑絲祺 親,只能選用擴充套件方案。但138太麻煩了。建議你選用74154,是一個4 16線的譯碼器。這是他的資料手冊。你的數碼管一共都加起來是12位,也就是只要能提供出去12個訊號就行了。74154的4個輸入端a0a1a2a3可以分別連線微控制器的32腳,21腳,22腳,23腳,但你原來和第一個數碼...