單片機IO口工作方式詳細分析
單片機I/O口工作方式基本有以下幾類:
1.準雙向IO口配置(弱上拉)
小結(jié):
灌電流能力強,拉電流能力弱
讀外部狀態(tài)前要先鎖存“1”(斷開下拉晶體管)
讀IO口狀態(tài)的原則是非高即低,只能準確識別外部的低電平信號,無法區(qū)分懸空和真正的高電平
作為輸入時,輸入阻抗不為高阻,可能出現(xiàn)將外部低電平誤讀為高電平的情況(例上拉電阻10K,外部電阻100K,IO=5*100/110=4.54V)
其應(yīng)用方式參考:
準雙向口用作輸入時,可對地接按鍵,如圖1,當然也可以去掉R1直接接按鍵,當按鍵閉合時,端口被拉至低電平,當按鍵松開時,端口被內(nèi)部“極弱上拉”晶體管拉至高電平。
當端口作為輸出時,不應(yīng)對地外接LED如圖2控制,這樣端口的驅(qū)動能力很弱(拉電流能力弱),LED只能發(fā)很微弱的光,如果要驅(qū)動LED,要采用圖3的方法,這樣準雙向口在輸出為低時,可吸收20mA的電流(灌電流能力強),故能驅(qū)動LED。圖4的方法也可以,不過LED不發(fā)光時,端口要吸收很大電流。
2.推挽輸出配置
小結(jié):
能真正輸出高低電平,具有很強的驅(qū)動能力(灌電流,拉電流能力強)
如果當兩個推挽輸出結(jié)構(gòu)相連在一起,一個輸出高電平,即上面的MOS導(dǎo)通,下面的MOS閉合時;同時另一個輸出低電平,即上面的MOS閉合,下面的MOS導(dǎo)通時。電流會從第一個引腳的VCC通過上端MOS再經(jīng)過第二個引腳的下端MOS直接流向GND。整個通路上電阻很小,會發(fā)生短路,進而可能造成端口的損害。這也是為什么推挽輸出不能實現(xiàn)" 線與"的原因。
推挽輸出可以用圖2的方式通過拉電流驅(qū)動LED燈亮。
3.開漏輸出配置
小結(jié):
通過外部上拉電阻輸出高電平
若有外部上拉,可作為輸入IO讀取外部狀態(tài)(同準雙向IO,先鎖存“1”)
通過外部上拉電源進行電平轉(zhuǎn)換與外部器件兼容
4.高阻輸入
小結(jié):
電路無法流入流出,只能作為輸入數(shù)據(jù)使用
編輯:admin 最后修改時間:2018-05-18