單片機(jī)的IO口結(jié)構(gòu)
單片機(jī)的IO口的其中一種“準(zhǔn)雙向IO”的內(nèi)部結(jié)構(gòu),實(shí)際上我們的單片機(jī)IO口還有另外三種狀態(tài),分別是開(kāi)漏、推挽、高阻態(tài),我們通過(guò)圖1來(lái)看下三種狀態(tài)。
圖1 單片機(jī)IO口狀態(tài)示意圖
前邊我們簡(jiǎn)單介紹“準(zhǔn)雙向IO”的時(shí)候,我們是用三極管來(lái)說(shuō)明的,出于嚴(yán)謹(jǐn)?shù)膽B(tài)度,我們這里按照實(shí)際情況用MOS管畫(huà)圖示意。實(shí)際上三極管是靠電流導(dǎo)通的,而MOS管是靠電壓導(dǎo)通的,具體緣由和他們的內(nèi)部構(gòu)造有關(guān)系,在這里我們暫且不必關(guān)心,如果今后有必要了解可以直接查找模擬電子書(shū)或者百度相關(guān)資料進(jìn)行細(xì)致學(xué)習(xí)。在單片機(jī)IO口狀態(tài)這一塊內(nèi)容上,我們可以把MOS管當(dāng)三極管來(lái)理解。在我們的圖9-1中,T1相當(dāng)于一個(gè)PNP三極管,T2相當(dāng)于一個(gè)NPN三極管。
其中準(zhǔn)雙向IO口原理已經(jīng)講過(guò)了,開(kāi)漏輸出和準(zhǔn)雙向IO的唯一區(qū)別,就是開(kāi)漏輸出把內(nèi)部的上拉電阻去掉了。開(kāi)漏輸出如果要輸出高電平時(shí),T2關(guān)斷,IO電平要靠外部的上拉電阻才能拉成高電平,如果沒(méi)有外部上拉電阻IO電平就是一個(gè)不確定態(tài)。標(biāo)準(zhǔn)51單片機(jī)的P0口默認(rèn)就是開(kāi)漏輸出,如果要用的時(shí)候外部需要加上拉電阻。而強(qiáng)推挽輸出就有比較強(qiáng)的驅(qū)動(dòng)能力,如圖9-1中第三張小圖,當(dāng)內(nèi)部輸出一個(gè)高電平時(shí),通過(guò)MOS管直接輸出電流,沒(méi)有電阻的限流,電流輸出能力也比較大;如果內(nèi)部輸出一個(gè)低電平,那反向電流也可以很大,強(qiáng)推挽的一個(gè)特點(diǎn)就是驅(qū)動(dòng)能力強(qiáng)。
單片機(jī)IO還有一種狀態(tài)叫高阻態(tài)。通常我們用來(lái)做輸入引腳的時(shí)候,可以將IO口設(shè)置成高阻態(tài),高阻態(tài)引腳本身如果懸空,用萬(wàn)用表測(cè)量的時(shí)候可能是高可能是低,他的狀態(tài)完全取決于外部輸入引腳的電平,高阻態(tài)引腳對(duì)GND的電阻很大相當(dāng)于一個(gè)無(wú)窮大,所以稱之為高阻。
這就是單片機(jī)的IO口的四種狀態(tài),在我們51單片機(jī)學(xué)習(xí)過(guò)程中,我們的主要應(yīng)用是準(zhǔn)雙向IO口,隨著我們學(xué)習(xí)的深入,其他狀態(tài)也會(huì)有接觸,在這里介紹給大家學(xué)習(xí)一下。
編輯:admin 最后修改時(shí)間:2018-05-08