51單片機不為人知的IO口之謎
準雙向口輸出類(lèi)型可用作輸出和輸入功能而不需重新配置口線(xiàn)輸出狀態(tài)。這是因為當口線(xiàn)輸出為1時(shí)驅動(dòng)能力很弱,允許外部裝置將其拉低。當引腳輸出為低時(shí),它的驅動(dòng)能力很強,可吸收相當大的電流。準雙向口有3個(gè)上拉晶體管適應不同的需要。在3個(gè)上拉晶體管中,有1個(gè)“極弱上拉”,當口線(xiàn)鎖存為1時(shí)打開(kāi)。當引腳懸空時(shí),這個(gè)極弱的上拉源產(chǎn)生很弱的上拉電流將引腳上拉為高電平。第2個(gè)上拉晶體管稱(chēng)為“弱上拉”,當口線(xiàn)寄存器為1且引腳本身也為1時(shí)打開(kāi)。此上拉提供基本驅動(dòng)電流使準雙向口輸出為1。如果一個(gè)引腳輸出為1而由外部裝置下拉到低時(shí),弱上拉關(guān)閉而“極弱上拉”維持開(kāi)狀態(tài),為了把這個(gè)引腳強拉為低,外部裝置必須有足夠的灌電流能力使引腳上的電壓將到門(mén)檻電壓以下。第3個(gè)上拉晶體管稱(chēng)為“強上拉”。當口線(xiàn)鎖存器由0到1跳變時(shí),這個(gè)上拉用來(lái)加快準雙向口由邏輯0到邏輯1轉換。當發(fā)生這種情況時(shí),強上拉打開(kāi)約2個(gè)機器周期以使引腳能夠迅速地上拉到高電平。準雙向口輸出如下圖所示,
本文引用地址:http://dyxdggzs.com/article/201611/323503.htm那么以上介紹的輸出狀態(tài),我們可以通過(guò)設置STC單片機的相關(guān)特殊寄存器實(shí)現。
2.當準雙向口作為輸入引腳時(shí)(讀取引腳狀態(tài))
此時(shí)我們首先需要將口所存數據“1”,這是為什么呢?大家仔細分析下這個(gè)電路,當口所存數據“0”時(shí),強上拉的下面的管是導通的,那么端口引腳就相當與地直接相連,這樣高電平信號將會(huì )被強制拉低輸入數據將無(wú)法正確檢測!
評論