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