在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)IO口總結(jié)

            51單片機(jī)IO口總結(jié)

            作者: 時(shí)間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
            首先,看51單片機(jī)4類IO口,P0~P3,做一個(gè)結(jié)構(gòu)上直觀的比較

            本文引用地址:http://www.biyoush.com/article/201611/315569.htm

            之所以把P0口和P2口放在一起,是因?yàn)槠溆布Y(jié)構(gòu)上都包含一個(gè)多路開關(guān),用于選擇是做為普通I/O口使用還是作為‘數(shù)據(jù)/地址’總線使用。對(duì)于沒有內(nèi)部ROM的單片機(jī)(8031)或單片機(jī)內(nèi)部存儲(chǔ)器無法滿足程序大小需求,多路開關(guān)就與上面接通,作為單片機(jī)與擴(kuò)展存儲(chǔ)器通信的地址/數(shù)據(jù)總線使用。

            它們之間的不同也顯而易見,P0口引腳前2個(gè)mosfet(金屬氧化物半導(dǎo)體場(chǎng)效應(yīng)管)構(gòu)成了一個(gè)推挽結(jié)構(gòu),而P2口前mosfet則為普通開關(guān)作用,且包含上拉電阻。

            推挽結(jié)構(gòu):在輸出“地址/數(shù)據(jù)”信息時(shí),V1、V2管是交替導(dǎo)通的,負(fù)載能力很強(qiáng),可以直接與外設(shè)存儲(chǔ)器相連,無須增加總線驅(qū)動(dòng)器。

            從結(jié)構(gòu)上決定了它們的用途:假設(shè)擴(kuò)展了存儲(chǔ)器,則P0口作為地址/數(shù)據(jù)總線口,P2口作為高8位地址線。P0口作為IO輸出口時(shí),漏極開路輸出,類似于OC門,當(dāng)驅(qū)動(dòng)上接電流負(fù)載時(shí),需要外接上拉電阻。,所以不推薦使用。而PP2端口的多路開關(guān)總是在進(jìn)行切換,分時(shí)地輸出從內(nèi)部總線來的數(shù)據(jù)和從地址信號(hào)線上來的地址。因此P2端口是動(dòng)態(tài)的I/O端口,不能輸出靜態(tài)的數(shù)據(jù),也不推薦作為IO口使用。推薦P0,P2保留作為擴(kuò)展存儲(chǔ)器,而非IO口使用。

            另外,什么時(shí)候是IO口,什么時(shí)候是地址/數(shù)據(jù)口并非取決于硬件,而取決于當(dāng)前的狀態(tài)。

            這才叫IO口,具有輸出鎖存的靜態(tài)口,不必細(xì)說。

            P3端口和Pl端口的結(jié)構(gòu)相似,區(qū)別僅在于P3端口的各端口線有兩種功能選擇.

            使P3端品各線處于第二功能的條件是:

            1、串行I/O處于運(yùn)行狀態(tài)(RXD,TXD);

            2、打開了處部中斷(INT0,INT1);

            3、定時(shí)器/計(jì)數(shù)器處于外部計(jì)數(shù)狀態(tài)(T0,T1)

            4、執(zhí)行讀寫外部RAM的指令(RD,WR)

            而作為IO口使用時(shí)與P1完全相同。

            在更多的場(chǎng)合是根據(jù)應(yīng)用的需要,把幾條端口線設(shè)置為第二功能,而另外幾條端口線處于第一功能運(yùn)行狀態(tài)。在這種情況下,不宜對(duì)P3端口作字節(jié)操作,需采用位操作的形式。

            至于讀引腳和讀端口,一般教科書都會(huì)強(qiáng)調(diào),讀端口的指令為端口內(nèi)容取反這樣的“讀-修改-寫”指令。而讀引腳之前,先置1,然后用Mov A,Px之類的指令即可。沒有只讀端口的指令,因?yàn)槎丝趦?nèi)容是不會(huì)因?yàn)橐_的變化而變化,始終保持為為上次輸出值。只讀不改沒有意義。

            那么可能會(huì)有疑問,在P0作為地址/數(shù)據(jù)總線使用時(shí),并沒有使其置1?

            以訪問外部程序存儲(chǔ)器為例,P0口輸出低8位地址信息后,將變?yōu)閿?shù)據(jù)總線,以便讀指令碼(輸入)。在取指令期間,“控制”信號(hào)為“0”,V1管截止,多路開關(guān)也跟著轉(zhuǎn)向鎖存器反向輸出端Q非;CPU自動(dòng)將0FFH寫入P0口鎖存器,使V2管截止,在讀引腳信號(hào)控制下,通過讀引腳三態(tài)門電路將指令碼讀到內(nèi)部總線,這個(gè)過程和I/O讀引腳過程是一樣的。



            關(guān)鍵詞: 51單片機(jī)IO口總

            評(píng)論


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

            關(guān)閉