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