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口作為段選,而P2口作為位選,需要挺多數碼管顯示的。不夠用,如何擴充套件
樑絲祺 親,只能選用擴充套件方案。但138太麻煩了。建議你選用74154,是一個4 16線的譯碼器。http wenku.baidu.com view 5262f0c04028915f804dc25e.html 這是他的資料手冊。你的數碼管一共都加起來是12位,也就是只要能提供出去12個訊號就行了。...
51微控制器程式設計題微控制器P1 0 1 7口接發光二極體(愛心圖樣)試編寫流水燈的彙編程式使發光二極體逐個亮
啟動入口 org 0000h 復位啟動 ljmp start org 000bh t0中斷 ljmp t0int org 0100h ljmp start 主控程式 start mov sp,80h 初始堆疊值mov tmod,01h 定時器0工作於方式1,50毫秒 12.000mhz mov th...
51微控制器p0p1p2p3口,到底有啥區別啊,他們的基本功能
獅子最愛冥王星 51微控制器p0 p1 p2 p3口區別如下 一 意思不同 p0口作輸出口用時,需加上拉電阻。p0口有複用功能。當對外部儲存器進行讀寫操作時,p0口先是 提供外部儲存器的低8位地址,供外部儲存器地址鎖存器鎖存,然後充當資料線,用於寫出或讀入數 據。p1口 p2口只是普通io口。二 功...