91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用51單片機(jī)體驗(yàn)高阻態(tài)的詳細(xì)步驟講解

GReq_mcu168 ? 來(lái)源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-11-21 08:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

51單片機(jī)的P0口工作在普通IO口模式下,為準(zhǔn)雙向IO口。而工作在第二功能狀態(tài)下時(shí),則為標(biāo)準(zhǔn)的雙向IO口。由于雙向IO口的輸出,要求能輸出高低電平,通常會(huì)采用互補(bǔ)推挽電路。

在第二功能狀態(tài)下,51單片機(jī)P0口采用的是互補(bǔ)推挽的輸出方式。何為互補(bǔ)推挽呢?下面是它的等效電路圖。

當(dāng)P0第二功能作為輸出時(shí),K1和K2兩個(gè)開(kāi)關(guān)輪流打開(kāi)。K2閉合K1打開(kāi),就會(huì)輸出高電平,并且其驅(qū)動(dòng)能力很大,因?yàn)殡娮娱_(kāi)關(guān)的阻值小(不像上拉電阻的值那么大)。反之K2打開(kāi),K1閉合,就會(huì)輸出低電平。

兩個(gè)開(kāi)關(guān)交替導(dǎo)通,互為補(bǔ)充,“挽”是“拉”的意思,兩個(gè)電子開(kāi)關(guān)分別負(fù)責(zé)在IO口輸出處“推”和“拉”電流,所以稱(chēng)為互補(bǔ)推挽。

這種IO口結(jié)構(gòu)的優(yōu)點(diǎn)很明顯,驅(qū)動(dòng)能力強(qiáng),穩(wěn)定可靠。缺點(diǎn)在于實(shí)現(xiàn)起來(lái)比較困難。在切換輸出電平的過(guò)程中,例如從低電平切換到高電平,當(dāng)K1斷開(kāi)時(shí),要求盡可能快的輸出高電平,也就是K2應(yīng)該立即閉合;同時(shí),如果K1還沒(méi)斷開(kāi),K2就提前閉合了,相同于兩個(gè)開(kāi)關(guān)同時(shí)導(dǎo)通,會(huì)直接短路,后果又會(huì)很?chē)?yán)重。所以需要用電路控制好兩個(gè)開(kāi)關(guān)的協(xié)調(diào)工作。

雙向IO口的輸入:高阻態(tài)、輸入電阻

雙向IO口的輸出,只要求能輸出高低電平,因此并不是必須采用互補(bǔ)推挽電路。而采用互補(bǔ)推挽電路的好處在于,這種電路同時(shí)又可以實(shí)現(xiàn)高阻態(tài)的輸入,從而實(shí)現(xiàn)標(biāo)準(zhǔn)雙向IO口。

當(dāng)圖中的K1和K2同時(shí)斷開(kāi)時(shí),IO口就可以工作在高阻態(tài)的輸入狀態(tài)下。高阻態(tài)到底是什么樣的一個(gè)概念呢?

當(dāng)IO口處于高阻態(tài)時(shí),也將其稱(chēng)為浮空輸入狀態(tài),其電平是懸浮不定的,既不是高電平也不是低電平。我們可以想象單片機(jī)在檢測(cè)IO口的電平高低時(shí),相當(dāng)于在CPU里面有一個(gè)類(lèi)似電壓表的東西,并且這個(gè)電壓表內(nèi)阻很大,例如圖中給出的100MΩ。在這里,我們可以把這個(gè)電壓表的內(nèi)阻稱(chēng)為P0.0口此時(shí)的輸入電阻(也可以近似認(rèn)為是輸出阻抗,電阻是對(duì)直流電而言,而阻抗是對(duì)交流電來(lái)說(shuō)的。這是模擬電路的知識(shí),這里不做細(xì)說(shuō))。

現(xiàn)在試想,如果我不小心用手碰到了P0.0端口,而由于人體本身就是阻值很大的導(dǎo)體,周?chē)泻芏嚯姶挪ǜ蓴_,手上可能存在一些很微弱的電流,這個(gè)時(shí)候,電壓表的讀數(shù)就會(huì)發(fā)生變化,單片機(jī)讀取的電平高低就會(huì)變。高阻態(tài)表現(xiàn)出來(lái)的結(jié)果就是外界很小的干擾,都可能導(dǎo)致讀取的電平變化,甚至即使沒(méi)有碰這個(gè)IO口,它每次讀取的結(jié)果也可能不一樣,因?yàn)橥饨绲碾姶挪ǖ瓤赡軙?huì)干擾到IO口。稍后我們會(huì)利用51單片機(jī)做個(gè)實(shí)驗(yàn),來(lái)體驗(yàn)P0口的高阻態(tài)。

高阻態(tài)的意義、輸出電阻

為什么雙向IO口輸入的時(shí)候要求是高阻態(tài)呢?

我們假設(shè)有一種裝置,等效電路如下圖。開(kāi)關(guān)上下切換,它就會(huì)輸出高低電平,通過(guò)電壓表可以檢測(cè)出來(lái)。但是其驅(qū)動(dòng)能力很弱,連LED也驅(qū)動(dòng)不了。裝置里的100kΩ,可以叫做裝置的輸出電阻(同樣也可以近似認(rèn)為是輸出阻抗)。

讓這個(gè)裝置輸出低電平,然后連接51單片機(jī)的P1.0口。這時(shí),VCC經(jīng)過(guò)10kΩ上拉電阻到達(dá)IO口,再到裝置內(nèi)部的100kΩ電阻,通過(guò)開(kāi)關(guān)K接到GND。根據(jù)分壓原理,P1.0上的電壓值大概是4.55V,于是單片機(jī)讀取的是高電平。而事實(shí)是,裝置想輸出低電平告知51單片機(jī)。這里單片機(jī)管腳作為輸入功能,卻干擾了外界裝置的輸出值,相當(dāng)于單片機(jī)的這個(gè)IO口也在輸出。

當(dāng)單片機(jī)的P0口工作在第二功能的輸入狀態(tài),或者工作在普通IO口的輸入狀態(tài),且沒(méi)有外界上下拉電阻,內(nèi)部的兩個(gè)電子開(kāi)關(guān)都是斷開(kāi)的,對(duì)外部呈現(xiàn)高阻態(tài)。從圖中可以看出,裝置輸出的電平能被準(zhǔn)確的讀取到單片機(jī)中。之所以能準(zhǔn)確讀取,就是因?yàn)檠b置輸出電阻比單片機(jī)IO口的輸入電阻要小。

有人可能會(huì)說(shuō),如果把裝置中的電阻換成1000MΩ,這個(gè)時(shí)候這個(gè)單片機(jī)又不能準(zhǔn)確讀取電平了。但是一般情況下,我們不需要考慮這么極端。如果是理想的高阻態(tài),其輸入阻抗應(yīng)該是無(wú)窮大,而這有點(diǎn)像超導(dǎo)體一樣比較特殊。一般情況下認(rèn)為導(dǎo)線(xiàn)電阻幾乎為0,同樣也認(rèn)為高阻態(tài)輸入電阻是無(wú)窮大。

總的來(lái)說(shuō),就是高阻態(tài)情況下,IO口輸入電阻很大,而不容易干擾那些輸出電阻較大、驅(qū)動(dòng)能力弱的裝置輸出到IO口上的電平。

用51單片機(jī)體驗(yàn)高阻態(tài)

編寫(xiě)程序如下:

#include reg52.h

sbit TOUCH = P0^0;

sbit LED = P1^0;

void main()

{

TOUCH = 1;

while(1) {

LED = TOUCH;

}

}

電路方面,LED接在P1.0端口,仍然是采用灌電流的方式,低電平有效。P0.0什么都不要接。特別注意,這個(gè)實(shí)驗(yàn)必須在P0.0什么都沒(méi)接的情況下才能進(jìn)行。很多成品開(kāi)發(fā)板上,P0.0都連接了外部上拉電阻,沒(méi)法做這個(gè)實(shí)驗(yàn),建議自己搭建面包板。

程序燒寫(xiě)好之后,理論上來(lái)說(shuō),TOUCH管腳作為高阻態(tài)輸入,電平是不確定的,因此LED的亮滅也是不定的。我在實(shí)際實(shí)驗(yàn)時(shí),P0.0懸空的情況下,LED是一直點(diǎn)亮的,這可能是因?yàn)?1單片機(jī)的高阻態(tài)和理想的高阻態(tài)還有一點(diǎn)差距,讀取P0.0的電平為低。

當(dāng)把手指或很大的電阻放在P0.0和VCC之間,就會(huì)發(fā)現(xiàn)LED熄滅了,或者變暗了(變暗了說(shuō)明LED在閃爍,只是閃爍的很快所以看不出來(lái),就像交流電驅(qū)動(dòng)的白熾燈一樣)。手指的電阻很大,如果是P1.0口,或者在P0.0上外接了上拉或下拉電阻,這時(shí)通過(guò)手指很難改變其電平狀態(tài)。而由于是高阻態(tài),所以P0.0原先的低電平,通過(guò)手指從VCC傳過(guò)來(lái)的很微弱的電流就變成了高電平。

備注1:考慮到不同人的皮膚電阻不一樣,不能保證用手指接觸都能實(shí)現(xiàn)LED亮滅變化。如果沒(méi)有效果,可以嘗試用較大電阻(例如100kΩ)代替手指進(jìn)行實(shí)驗(yàn)。

備注2:如果你通電的時(shí)候發(fā)現(xiàn)LED原先是熄滅的,說(shuō)明P0.0讀取到的是高電平,則應(yīng)該用兩個(gè)手指分別放在P0.0和GND上,使得電平變化,LED點(diǎn)亮。當(dāng)然LED不亮還有一種可能是,你的程序沒(méi)有被執(zhí)行,可能是單片機(jī)最小系統(tǒng)電路出現(xiàn)了問(wèn)題,或者程序?qū)戝e(cuò)了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    278

    文章

    5714

    瀏覽量

    134509

原文標(biāo)題:?jiǎn)纹瑱C(jī)小白(19)IO口原理知識(shí)補(bǔ)充:雙向IO口、互補(bǔ)推挽、高阻態(tài)

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    態(tài)是什么意思

    本文詳細(xì)介紹態(tài)是什么意思。態(tài)這是一個(gè)數(shù)字電路
    發(fā)表于 02-11 12:30 ?1.4w次閱讀
    <b class='flag-5'>高</b><b class='flag-5'>阻</b><b class='flag-5'>態(tài)</b>是什么意思

    淺析單片機(jī)IO口輸入的態(tài)

    我們都知道單片機(jī)的雙向IO口既能輸入也能做輸出,推挽輸出時(shí)IO口能通過(guò)內(nèi)部上下MOS管開(kāi)關(guān)切換能輸出高低電平,態(tài)輸入時(shí),IO口內(nèi)部上下MOS管都關(guān)閉,IO口工作在
    發(fā)表于 04-03 10:31 ?1.6w次閱讀

    數(shù)字電路中的態(tài)和不定態(tài)的區(qū)別

    請(qǐng)各位大俠么講解一下態(tài)與不定態(tài)的區(qū)別?單片機(jī)的接口如何設(shè)置成
    發(fā)表于 08-26 16:52

    單片如何控制態(tài)輸出

    本帖最后由 hy658 于 2015-12-23 21:58 編輯 我們可以給單片機(jī)0或1.控制高電平或者低電平輸出,能不能控制輸出態(tài)?
    發(fā)表于 12-23 21:35

    關(guān)于單片機(jī)輸出引腳態(tài)的問(wèn)題

    單片機(jī)引腳什么時(shí)候表現(xiàn)為態(tài)?切斷芯片的電源是否就使得芯片的引腳呈現(xiàn)
    發(fā)表于 03-11 12:12

    【微信精選】單片機(jī)中的態(tài)

    `在我們剛一開(kāi)始接觸到51單片機(jī)的時(shí)候?qū)0口必須加上上拉電阻,否則P0就是態(tài)。對(duì)這個(gè)問(wèn)題可能感到疑惑,為什么是
    發(fā)表于 07-29 07:00

    單片機(jī)中的態(tài)到底什么意思?

    單片機(jī)中的態(tài)到底什么意思?在我們剛一開(kāi)始接觸到51單片機(jī)的時(shí)候?qū)0口必須加上上拉電阻,否則
    發(fā)表于 12-31 08:00

    簡(jiǎn)析單片機(jī)中的態(tài)

    在我們剛一開(kāi)始接觸到51單片機(jī)的時(shí)候?qū)0口必須加上上拉電阻,否則P0就是態(tài)。對(duì)這個(gè)問(wèn)題可能感到疑惑,為什么是
    發(fā)表于 07-24 07:32

    單片機(jī)中的態(tài)到底什么意思?

    單片機(jī)中的態(tài)是什么
    發(fā)表于 12-28 07:59

    單片機(jī)中的態(tài)解析

      在我們剛一開(kāi)始接觸到51單片機(jī)的時(shí)候?qū)0口必須加上上拉電阻,否則P0就是態(tài)。  對(duì)這個(gè)問(wèn)題可能感到疑惑,為什么是
    發(fā)表于 01-13 16:56

    態(tài)的相關(guān)資料下載

    懸空,顧名思義,就是不接任何器件啦態(tài):無(wú)上拉和無(wú)下拉,對(duì)外表現(xiàn)出電平不確定性不是所有的單片機(jī)都支持三態(tài)輸出。三
    發(fā)表于 11-24 08:19

    單片機(jī)中的態(tài)到底什么意思?

    在我們剛一開(kāi)始接觸到51單片機(jī)的時(shí)候?qū)0口必須加上上拉電阻,否則P0就是態(tài),對(duì)這個(gè)問(wèn)題可能感到疑惑,為什么是
    的頭像 發(fā)表于 01-01 09:05 ?1.1w次閱讀
    <b class='flag-5'>單片機(jī)</b>中的<b class='flag-5'>高</b><b class='flag-5'>阻</b><b class='flag-5'>態(tài)</b>到底什么意思?

    單片機(jī)知識(shí)講解:什么是態(tài)?

    在我們剛一開(kāi)始接觸到51單片機(jī)的時(shí)候?qū)0口必須加上上拉電阻,否則P0就是態(tài)。對(duì)這個(gè)問(wèn)題可能感到疑惑,為什么是
    的頭像 發(fā)表于 03-04 13:43 ?3w次閱讀

    單片機(jī)中高態(tài)的實(shí)質(zhì)及意義

    在我們剛一開(kāi)始接觸到51單片機(jī)的時(shí)候?qū)0口必須加上上拉電阻,否則P0就是態(tài)
    的頭像 發(fā)表于 02-19 20:08 ?6312次閱讀
    <b class='flag-5'>單片機(jī)</b>中高<b class='flag-5'>阻</b><b class='flag-5'>態(tài)</b>的實(shí)質(zhì)及意義

    Linux(Ubuntu)下51單片機(jī)的開(kāi)發(fā)環(huán)境的配置及詳細(xì)的操作步驟

    Linux(Ubuntu)下51單片機(jī)的開(kāi)發(fā)環(huán)境的配置及詳細(xì)的操作步驟視頻講解視頻詳細(xì)
    發(fā)表于 11-13 13:21 ?13次下載
    Linux(Ubuntu)下<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的開(kāi)發(fā)環(huán)境的配置及<b class='flag-5'>詳細(xì)</b>的操作<b class='flag-5'>步驟</b>