在單片機(jī)學(xué)習(xí)、開發(fā)和應(yīng)用中,IO口的配置對(duì)功能的實(shí)現(xiàn)起著重要的作用,下面介紹常見的四種配置,而現(xiàn)在很多單片機(jī)都兼有這四種配置,可供選擇。
一.準(zhǔn)雙向口配置
如下圖,當(dāng)IO輸出為高電平時(shí),其驅(qū)動(dòng)能力很弱,外部負(fù)載很容易將其拉至低電平。當(dāng)IO輸出為低電平時(shí),其驅(qū)動(dòng)能力很強(qiáng),可吸收相當(dāng)大的電流。
準(zhǔn)雙向口有三個(gè)上拉晶體管,一個(gè)“極弱上拉”,當(dāng)端鎖存器為邏輯“1”時(shí)打開,當(dāng)端口懸空時(shí),“極弱上拉”將端口上拉至高電平。
第二個(gè)上拉晶體管為“弱上拉”,當(dāng)端口鎖存器為邏輯“1”且端口本身也為“1”時(shí)打開,此上拉提供的電流,使準(zhǔn)雙向口輸出為“1”。如果此時(shí)端口被外部裝置拉到邏輯“0”時(shí),通過(guò)施密特觸發(fā)器,控制“弱上拉”關(guān)閉,而“極弱上拉”維持開狀態(tài),為了把這個(gè)端口拉低,外部裝置必須有足夠的灌電流能力,使管腳上的電壓,降到門檻電以下。
第三個(gè)電感生產(chǎn)上拉晶體管為“強(qiáng)上拉”,當(dāng)端口鎖存器由“0”跳變到“1”時(shí),這個(gè)上拉用來(lái)加快端口由邏輯“0”到邏共模電感輯“1”的轉(zhuǎn)換速度。
準(zhǔn)雙向口做為輸入時(shí),通個(gè)一個(gè)施密特觸如器和一個(gè)非門,用以干擾和濾波。
準(zhǔn)雙向口用作輸入時(shí),可對(duì)地接按鍵,如下圖1,當(dāng)然也可以去掉R1直接接按鍵,當(dāng)按鍵閉合時(shí),端口被拉至低電平,當(dāng)按鍵松開時(shí),端口被內(nèi)部“極弱上拉”晶體管拉至高電平。當(dāng)端口作為輸出時(shí),不應(yīng)對(duì)地外接LED如圖形控制,求購(gòu)電感這樣端口的驅(qū)動(dòng)能力很弱,LED只能發(fā)很微弱的光,如果要驅(qū)動(dòng)LED,要采用圖3的方法,這樣準(zhǔn)雙向口在輸出為低時(shí),可吸收20mA的電流,故能驅(qū)動(dòng)LED。圖4的方法也可以,不過(guò)LED不發(fā)光時(shí),端口要吸收收很大電流。
電感器生產(chǎn)
二.開漏輸出配置
這種配置,關(guān)閉所有上拉晶體管,只驅(qū)動(dòng)下拉晶體管,下拉與準(zhǔn)雙向口下拉配置相同,因此只能輸出低電平(吸收電流),和高阻狀態(tài)。不能輸出高電平(輸也電流)。如果要作為邏輯輸出,必須接上拉電阻到VCC。這種配置也可以通過(guò)上圖3和圖4來(lái)驅(qū)動(dòng)LED。
<
三.推挽輸出配置
這種配置的下拉與準(zhǔn)雙向口和開漏配置相同,具有較強(qiáng)的拉電流能力,不同的是,具有持續(xù)的強(qiáng)上拉。因此可以用上圖2的方法來(lái)驅(qū)動(dòng)LED。
<
四.僅為輸入配置(高阻配置)
這種配置不能輸出電流,也不能有收電流,只能作為輸入數(shù)據(jù)使用。
以上四種配置各有其特點(diǎn),在使用中應(yīng)根據(jù)其特點(diǎn)靈活運(yùn)用。
準(zhǔn)雙向口的最大特點(diǎn)是既可以作為輸入,也可以作為輸出,不需要通過(guò)控制切換。
推挽輸出的特點(diǎn)是,無(wú)論輸也高電平還是低電平都有較大的驅(qū)動(dòng)能力,在輸也高電平時(shí),也能直接點(diǎn)亮LED,這在準(zhǔn)雙向口中是不能辦到的。這種配置不宜作為輸入,因?yàn)檫@需要外部設(shè)備有很強(qiáng)的拉電流的能胃。
僅為輸入配置的特點(diǎn)是端口只能作為輸入使用,可以獲得很高的輸入阻抗,在有模擬比較器或ADC的端口中用得較多。
開漏輸出配置與準(zhǔn)又向口相似,但內(nèi)部沒有上拉電阻。有很好的電氣兼容性,外部接上拉電阻到3V電源,就能和3V邏輯器件連接。外部接上拉電阻到5V電源,一體電感就要以和5V器件連接。
需要說(shuō)明的是以上四種配置均可以作為輸入,也就是都可以檢測(cè)端的邏輯狀態(tài),但其特性不同,不是每種配置都可以直接接按鍵。