新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)管腳說(shuō)明(一)

51單片機(jī)管腳說(shuō)明(一)

作者: 時(shí)間:2012-07-31 來(lái)源:網(wǎng)絡(luò) 收藏

各端口工作原理講解

并行端口

P0端口

總線(xiàn)I/O端口,雙向,三態(tài),數(shù)據(jù)地址分時(shí)復(fù)用,該端口除用于數(shù)據(jù)的輸入/輸出外,在8031外接程序存儲(chǔ)器時(shí),還分時(shí)地輸出/輸入地址/指令。由Po端口輸出的信號(hào)無(wú)鎖存,輸入的信息有讀端口引腳和讀端口鎖存器之分。P0端口8位中的一位結(jié)構(gòu)圖見(jiàn)下圖:

由上圖可見(jiàn),P0端口由鎖存器、輸入緩沖器、切換開(kāi)關(guān)與相應(yīng)控制電路、場(chǎng)效應(yīng)管驅(qū)動(dòng)電路構(gòu)成。

在輸出狀態(tài)下,當(dāng)切換開(kāi)關(guān)MUX向下時(shí),從內(nèi)部總線(xiàn)來(lái)的數(shù)據(jù)經(jīng)鎖存器反相和場(chǎng)效應(yīng)管T2反相,輸出到端口引腳線(xiàn)上。此時(shí),場(chǎng)效應(yīng)管T1關(guān)斷,因而這種輸出方式應(yīng)為外接上拉電阻的漏極開(kāi)路式。當(dāng)切換開(kāi)關(guān)MUX向上時(shí),一位地址/數(shù)據(jù)信號(hào)分時(shí)地輸出到端口線(xiàn)上。此外,由T1、T2的通斷組合,形成高電平、低電平與高阻浮動(dòng)三態(tài)的輸出。

在輸入狀態(tài)下,從鎖存器和從引腳上讀來(lái)的信號(hào)一般是一致的,但也有例外。例如,當(dāng)從內(nèi)部總線(xiàn)輸出低電平后,鎖存器Q=0,Q=1,場(chǎng)效應(yīng)管T2開(kāi)通,端口線(xiàn)呈低電平狀態(tài)。此時(shí)無(wú)論端口線(xiàn)上外接的信號(hào)是低電乎還是高電平,從引腳讀入的信號(hào)都是低電平,因而不能正確地讀入端口引腳上的信號(hào)。又如,當(dāng)從內(nèi)部總線(xiàn)輸出高電平后,鎖存器Q=1,Q=0,場(chǎng)效應(yīng)管T2截止。如外接引腳信號(hào)為低電平,從引腳上讀入的信號(hào)就與從鎖存器讀入的信號(hào)不同。為此,8031在對(duì)端口P0一P3的輸入操作上,有如下約定:為此,8031單片機(jī)在對(duì)端口P0一P3的輸入操作上,有如下約定:凡屬于讀-修改-寫(xiě)方式的指令,從鎖存器讀入信號(hào),其它指令則從端口引腳線(xiàn)上讀入信號(hào)。

讀-修改-寫(xiě)指令的特點(diǎn)是,從端口輸入(讀)信號(hào),在單片機(jī)內(nèi)加以運(yùn)算(修改)后,再輸出(寫(xiě))到該端口上。下面是幾條讀--修改-寫(xiě)指令的例子。

這樣安排的原因在于讀-修改-寫(xiě)指令需要得到端口原輸出的狀態(tài),修改后再輸出,讀鎖存器而不是讀引腳,可以避免因外部電路的原因而使原端口的狀態(tài)被讀錯(cuò)。

P0端口是8031單片機(jī)的總線(xiàn)口,分時(shí)出現(xiàn)數(shù)據(jù)D7一D0、低8位地址A7一AO,以及三態(tài),用來(lái)接口存儲(chǔ)器、外部電路與外部設(shè)備。P0端口是使用最廣泛的I/O端口。

P1端口:

通用I/0端口,準(zhǔn)雙向靜態(tài)口。輸出的信息有鎖存,輸入有讀引腳和讀鎖存器之分。P1端口的一位結(jié)構(gòu)見(jiàn)下圖. 由圖可見(jiàn),P1端口與P0端口的主要差別在于,P1端口用內(nèi)部上拉電阻R代替了P0端口的場(chǎng)效應(yīng)管T1,并且輸出的信息僅來(lái)自?xún)?nèi)部總線(xiàn)。由內(nèi)部總線(xiàn)輸出的數(shù)據(jù)經(jīng)鎖存器反相和場(chǎng)效應(yīng)管反相后,鎖存在端口線(xiàn)上,所以,P1端口是具有輸出鎖存的靜態(tài)口。

由下圖可見(jiàn),要正確地從引腳上讀入外部信息,必須先使場(chǎng)效應(yīng)管關(guān)斷,以便由外部輸入的信息確定引腳的狀態(tài)。為此,在作引腳讀入前,必須先對(duì)該端口寫(xiě)入l。具有這種操作特點(diǎn)的輸入/輸出端口,稱(chēng)為準(zhǔn)雙向I/O口。8031單片機(jī)的P1、P2、P3都是準(zhǔn)雙向口。P0端口由于輸出有三態(tài)功能,輸入前,端口線(xiàn)已處于高阻態(tài),無(wú)需先寫(xiě)入l后再作讀操作。

單片機(jī)復(fù)位后,各個(gè)端口已自動(dòng)地被寫(xiě)入了1,此時(shí),可直接作輸入操作。如果在應(yīng)用端口的過(guò)程中,已向P1一P3端口線(xiàn)輸出過(guò)0,則再要輸入時(shí),必須先寫(xiě)1后再讀引腳,才能得到正確的信息。此外,隨輸入指令的不同,H端口也有讀鎖存器與讀引腳之分。

Pl端口是803l單片機(jī)中唯一僅有的單功能I/O端口,并且沒(méi)有特定的專(zhuān)用功能,輸出信號(hào)鎖存在引腳上,故又稱(chēng)為通用靜態(tài)口。



關(guān)鍵詞: 說(shuō)明 管腳 單片機(jī)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉