新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51手記之標(biāo)準(zhǔn)51(二)

        51手記之標(biāo)準(zhǔn)51(二)

        作者: 時(shí)間:2016-11-10 來(lái)源:網(wǎng)絡(luò) 收藏
        51手記標(biāo)準(zhǔn)51---I/O口
        有4組8位I/O口:P0、P1、P2、P3
        P0為雙向三態(tài)輸入輸出口,P1、P2、P3為準(zhǔn)雙向口,P0的驅(qū)動(dòng)能力是單個(gè)其余口的兩倍!
        外擴(kuò)數(shù)據(jù)RAM時(shí),P0口可作數(shù)據(jù)/地址總線,P2口作地址總線的高8位
        51的基礎(chǔ)是8031,8031的I/O口只有P1口!
        雙向三態(tài)I/O口:口線內(nèi)無(wú)固定上拉電阻,由兩個(gè)MOS管串接,既可開漏輸出,又可處于高阻的“浮空”狀態(tài),故稱為雙向三態(tài)I/O口。
        P0口是雙向指的是它被用作地址/數(shù)據(jù)端口時(shí),只有在這個(gè)時(shí)候,P0口才處于兩個(gè)開關(guān)管推挽狀態(tài),當(dāng)兩個(gè)開關(guān)管都關(guān)閉時(shí),才會(huì)出現(xiàn)高阻狀態(tài).當(dāng)P0口用于一般I/O口時(shí),內(nèi)部接Vcc的那個(gè)開關(guān)管是與引腳(端口)脫離聯(lián)系的,這個(gè)時(shí)候,只有拉地的那個(gè)開關(guān)管其作用,P0口作為輸出,是必須外接上拉電阻的,不然就無(wú)法輸出高電平;
        如果P0口作為輸入,則必須先對(duì)端口寫1,使拉地的開關(guān)管斷開,這個(gè)時(shí)候,如果不接上拉電阻,則是高阻狀態(tài),就是一個(gè)雙向口,如果接上拉電阻,則本身輸出高電平,對(duì)輸入信號(hào)的邏輯無(wú)影響(注意是對(duì)邏輯無(wú)影響,對(duì)實(shí)際參數(shù)有無(wú)影響我不確定,但是我認(rèn)為是有的).
        準(zhǔn)雙向I/O口:各口線在片內(nèi)均有固定的上拉電阻,當(dāng)這三個(gè)準(zhǔn)雙向I/O口作輸入口使用時(shí),要向該口先寫1,另外準(zhǔn)雙向I/O口無(wú)高阻的“浮空”狀態(tài)。
        雙向與準(zhǔn)雙向,根本原則是雙向包含了高阻這個(gè)狀態(tài),而不在于是否需要先寫1或者不寫,P1~P3口因?yàn)橛袃?nèi)部上拉電阻,因此無(wú)論如何不是雙向;P0口內(nèi)部無(wú)上拉電阻,在處于數(shù)據(jù)/地址功能時(shí),自動(dòng)完成3態(tài)的轉(zhuǎn)換,是雙向,處于一般I/O口時(shí),如果不接外部上拉,而且先向端口寫了1,那么就處于高阻狀態(tài),此時(shí),它也是一個(gè)人為的雙向口,這與它處于地址/數(shù)據(jù)功能時(shí)的自動(dòng)雙向有區(qū)別,以及與P1~P3處于輸入時(shí)輸出鎖存器為1是有區(qū)別的跟I2C總線上那種漏極開路或者集電極開路結(jié)構(gòu)差不多. 通過(guò)上拉電阻(或者下拉電阻)來(lái)提供一種電平的驅(qū)動(dòng).
        當(dāng)作為輸入使用時(shí),就將開關(guān)斷開,這樣就只剩下上拉(或者下拉)電阻,因而阻抗比較高,
        可以由其它設(shè)備驅(qū)動(dòng)該IO口。準(zhǔn)雙向口在做為輸入使用時(shí),實(shí)際上還是一種輸出狀態(tài).
        只是該輸出狀態(tài)的內(nèi)阻比較大而已. 而真正的雙向IO口,有方向控制寄存器,作為輸入
        使用時(shí)輸出部分被斷開.
        雙向口與準(zhǔn)雙向口的區(qū)別為雙向口有高阻態(tài),輸入為真正的外部信號(hào),準(zhǔn)雙向口內(nèi)部有上拉,故高電平為內(nèi)部給出不是真正的外部信號(hào)!軟件做處理時(shí)都要先向口寫“1”!


        關(guān)鍵詞: 51手記標(biāo)準(zhǔn)5

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 平顶山市| 阿克苏市| 福泉市| 天等县| 雷波县| 龙井市| 江西省| 额敏县| 神木县| 长岛县| 龙里县| 河池市| 海宁市| 信宜市| 万载县| 兴安盟| 介休市| 夹江县| 临邑县| 容城县| 梅河口市| 二手房| 安平县| 分宜县| 英山县| 翼城县| 淳化县| 文水县| 西峡县| 崇礼县| 晴隆县| 张家港市| 都匀市| 通州区| 汾西县| 常山县| 祥云县| 宁河县| 灌云县| 德清县| 本溪市|