新四季網

51單片機調試步驟(用51單片機體驗高阻態的詳細步驟講解)

2023-04-19 02:30:08

在51單片機的P0口工作在普通IO口模式下,為準雙向IO口。而工作在第二功能狀態下時,則為標準的雙向IO口。由於雙向IO口的輸出,要求能輸出高低電平,通常會採用互補推挽電路。

在第二功能狀態下,51單片機P0口採用的是互補推挽的輸出方式。何為互補推挽呢?下面是它的等效電路圖。

當P0第二功能作為輸出時,K1和K2兩個開關輪流打開。K2閉合K1打開,就會輸出高電平,並且其驅動能力很大,因為電子開關的阻值小(不像上拉電阻的值那麼大)。反之K2打開,K1閉合,就會輸出低電平。

兩個開關交替導通,互為補充,「挽」是「拉」的意思,兩個電子開關分別負責在IO口輸出處「推」和「拉」電流,所以稱為互補推挽。

這種IO口結構的優點很明顯,驅動能力強,穩定可靠。缺點在於實現起來比較困難。在切換輸出電平的過程中,例如從低電平切換到高電平,當K1斷開時,要求儘可能快的輸出高電平,也就是K2應該立即閉合;同時,如果K1還沒斷開,K2就提前閉合了,相同於兩個開關同時導通,會直接短路,後果又會很嚴重。所以需要用電路控制好兩個開關的協調工作。

雙向IO口的輸入:高阻態、輸入電阻

雙向IO口的輸出,只要求能輸出高低電平,因此並不是必須採用互補推挽電路。而採用互補推挽電路的好處在於,這種電路同時又可以實現高阻態的輸入,從而實現標準雙向IO口。

當圖中的K1和K2同時斷開時,IO口就可以工作在高阻態的輸入狀態下。高阻態到底是什麼樣的一個概念呢?

當IO口處於高阻態時,也將其稱為浮空輸入狀態,其電平是懸浮不定的,既不是高電平也不是低電平。我們可以想像單片機在檢測IO口的電平高低時,相當於在CPU裡面有一個類似電壓表的東西,並且這個電壓表內阻很大,例如圖中給出的100MΩ。在這裡,我們可以把這個電壓表的內阻稱為P0.0口此時的輸入電阻(也可以近似認為是輸出阻抗,電阻是對直流電而言,而阻抗是對交流電來說的。這是模擬電路的知識,這裡不做細說)。

現在試想,如果我不小心用手碰到了P0.0埠,而由於人體本身就是阻值很大的導體,周圍有很多電磁波幹擾,手上可能存在一些很微弱的電流,這個時候,電壓表的讀數就會發生變化,單片機讀取的電平高低就會變。高阻態表現出來的結果就是外界很小的幹擾,都可能導致讀取的電平變化,甚至即使沒有碰這個IO口,它每次讀取的結果也可能不一樣,因為外界的電磁波等可能會干擾到IO口。稍後我們會利用51單片機做個實驗,來體驗P0口的高阻態。

高阻態的意義、輸出電阻

為什麼雙向IO口輸入的時候要求是高阻態呢?

我們假設有一種裝置,等效電路如下圖。開關上下切換,它就會輸出高低電平,通過電壓表可以檢測出來。但是其驅動能力很弱,連LED也驅動不了。裝置裡的100kΩ,可以叫做裝置的輸出電阻(同樣也可以近似認為是輸出阻抗)。

讓這個裝置輸出低電平,然後連接51單片機的P1.0口。這時,VCC經過10kΩ上拉電阻到達IO口,再到裝置內部的100kΩ電阻,通過開關K接到GND。根據分壓原理,P1.0上的電壓值大概是4.55V,於是單片機讀取的是高電平。而事實是,裝置想輸出低電平告知51單片機。這裡單片機管腳作為輸入功能,卻幹擾了外界裝置的輸出值,相當於單片機的這個IO口也在輸出。

當單片機的P0口工作在第二功能的輸入狀態,或者工作在普通IO口的輸入狀態,且沒有外界上下拉電阻,內部的兩個電子開關都是斷開的,對外部呈現高阻態。從圖中可以看出,裝置輸出的電平能被準確的讀取到單片機中。之所以能準確讀取,就是因為裝置輸出電阻比單片機IO口的輸入電阻要小。

有人可能會說,如果把裝置中的電阻換成1000MΩ,這個時候這個單片機又不能準確讀取電平了。但是一般情況下,我們不需要考慮這麼極端。如果是理想的高阻態,其輸入阻抗應該是無窮大,而這有點像超導體一樣比較特殊。一般情況下認為導線電阻幾乎為0,同樣也認為高阻態輸入電阻是無窮大。

總的來說,就是高阻態情況下,IO口輸入電阻很大,而不容易幹擾那些輸出電阻較大、驅動能力弱的裝置輸出到IO口上的電平。

用51單片機體驗高阻態

編寫程序如下:

#include reg52.h

sbit TOUCH = P0^0;

sbit LED = P1^0;

void main

{

TOUCH = 1;

while(1) {

LED = TOUCH;

}

}

電路方面,LED接在P1.0埠,仍然是採用灌電流的方式,低電平有效。P0.0什麼都不要接。特別注意,這個實驗必須在P0.0什麼都沒接的情況下才能進行。很多成品開發板上,P0.0都連接了外部上拉電阻,沒法做這個實驗,建議自己搭建麵包板。

程序燒寫好之後,理論上來說,TOUCH管腳作為高阻態輸入,電平是不確定的,因此LED的亮滅也是不定的。我在實際實驗時,P0.0懸空的情況下,LED是一直點亮的,這可能是因為51單片機的高阻態和理想的高阻態還有一點差距,讀取P0.0的電平為低。

當把手指或很大的電阻放在P0.0和VCC之間,就會發現LED熄滅了,或者變暗了(變暗了說明LED在閃爍,只是閃爍的很快所以看不出來,就像交流電驅動的白熾燈一樣)。手指的電阻很大,如果是P1.0口,或者在P0.0上外接了上拉或下拉電阻,這時通過手指很難改變其電平狀態。而由於是高阻態,所以P0.0原先的低電平,通過手指從VCC傳過來的很微弱的電流就變成了高電平。

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了