新聞中心

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

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

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


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

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 紫阳县| 永丰县| 嘉祥县| 白山市| 兴安盟| 固阳县| 江永县| 库伦旗| 玉环县| 江阴市| 郁南县| 志丹县| 阳泉市| 衢州市| 利辛县| 营山县| 蒙山县| 江都市| 五常市| 石楼县| 子洲县| 临沧市| 滁州市| 长乐市| 澄城县| 祥云县| 衡东县| 乌拉特中旗| 滁州市| 二连浩特市| 扶沟县| 浑源县| 即墨市| 迁西县| 新邵县| 华坪县| 仲巴县| 吴堡县| 申扎县| 汽车| 衡水市|