8051單片機(jī)端口結(jié)構(gòu)—P2口
掃描二維碼
隨時(shí)隨地手機(jī)看文章
P2口的位結(jié)構(gòu)與P0口類(lèi)似,有MUX開(kāi)關(guān)。驅(qū)動(dòng)部分與P1口類(lèi)似,但比P1口多了一個(gè)轉(zhuǎn)換部分。
當(dāng)CPU對(duì)片內(nèi)存儲(chǔ)器和I/0口進(jìn)行讀寫(xiě)時(shí),即執(zhí)行MOV指令,或在EA=1的條件下執(zhí)行MOVE指令,由內(nèi)部控制電路自動(dòng)使開(kāi)關(guān)MUX倒向鎖存器的Q端,這時(shí)P2口為一般I/O口;當(dāng)CPU 對(duì)片外存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),即執(zhí)行MOV指令,或在EA=1的條件下執(zhí)行MOVC指令,開(kāi)關(guān)倒向地址線(xiàn)端,這時(shí)P2口之輸出高8位地址。當(dāng)系統(tǒng)擴(kuò)展片外EPROM和RAM時(shí),由P2口輸出地址(低8位地址由P0輸出)。此時(shí),MUX在CPU的控制下,轉(zhuǎn)向內(nèi)部地址線(xiàn)的一端。因?yàn)樵L(fǎng)問(wèn)片外EPROM和RAM的操作往往接連不斷,P2口要不斷送出高8位地址,此時(shí)P2口無(wú)法再用作通用I/O口。
在不需要外接EPROM,而且片外RAM最多只需擴(kuò)展256字節(jié)的系統(tǒng)中,使用"MOVX Ri"類(lèi)指令訪(fǎng)問(wèn)片外RAM時(shí),尋址范圍是256字節(jié),只需低8位地址線(xiàn)就可以實(shí)現(xiàn)。P2口不受該指令影響。仍可作通用I/O口。若擴(kuò)展的RAM容量超過(guò)256字節(jié),使用"MOVX@DPTR"類(lèi)指令,尋址范圍是64KB,此時(shí)高8位地址總線(xiàn)用P2輸出。在片外RAM讀/寫(xiě)周期內(nèi),P2口鎖存器仍保護(hù)原來(lái)端口的數(shù)據(jù);在訪(fǎng)問(wèn)片處RAM周期結(jié)束后,多路開(kāi)關(guān)MUX自動(dòng)切換鎖存器Q端。