51單片機(jī)各引腳及端口詳解_第1頁(yè)
51單片機(jī)各引腳及端口詳解_第2頁(yè)
51單片機(jī)各引腳及端口詳解_第3頁(yè)
51單片機(jī)各引腳及端口詳解_第4頁(yè)
51單片機(jī)各引腳及端口詳解_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、51單片機(jī)各引腳及端口詳解51單片機(jī)引腳功能:MCS-51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,,引腳分布請(qǐng)參照一一單片機(jī)引腳圖:IP0n8位雙向口線(在引腳的3曠32號(hào)端子).rpi口8位雙向口線(在引腳的8號(hào)端子)一I慫P2口8位雙向口線(在引腳的2:28號(hào)端子)。I,P2口8位雙向口線(在引腳的1017號(hào)端子).施這4個(gè)I/O口具有不完全相同的功能:,大家可得學(xué)好了,其它書(shū)本里雖然有,但寫(xiě)的太深,對(duì)于初學(xué)者來(lái)說(shuō)很難理解的臬我這里都是按我自已的表達(dá)方式來(lái)寫(xiě)的,相信你也能夠理解的。P0口有三個(gè)功能:1、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)做數(shù)據(jù)總線(如圖1中的D0'7為數(shù)據(jù)總線接口)2、外部擴(kuò)展存

2、儲(chǔ)器時(shí),當(dāng)作地址總線(如圖1中的A0*7為地址總線接口)3、不擴(kuò)展時(shí),可做一般的I/O使用,但內(nèi)部無(wú)上拉電阻,.作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻°P1口只做I/O口使用:其內(nèi)部有上拉電阻。P2口有兩個(gè)功能:U擴(kuò)展外部存儲(chǔ)器時(shí)$當(dāng)作地址總線使用2、做-一般I/O口使用,其內(nèi)部有上拉電阻;P3口有兩個(gè)功能:除了作為I/O使用外(其內(nèi)部有上拉電阻),還有一些特殊功能人由特殊寄存器來(lái)設(shè)置,具體功能請(qǐng)參考我們后面的引口說(shuō)明。有內(nèi)部EPRCH的單片機(jī)芯片(例如8751),為寫(xiě)入程序需提供專(zhuān)門(mén)的編程脈沖和編程電源這些信號(hào)也是由信號(hào)引腳的形式提供的,即;編程脈沖;30腳(ALE/PR0G編程電壓(

3、25V>131腳(EA/Vpp)接觸過(guò)工業(yè)設(shè)備的兄弟可能會(huì)看到有些印刷線路板上會(huì)有一個(gè)電池,這個(gè)電池是干什么用的呢這就是單片機(jī)的備用電源,當(dāng)外接電源下降到下限值時(shí),備用電源就會(huì)經(jīng)第二功能的方式由第9腳(即RST/VPD弓|人,以保護(hù)內(nèi)部RAM中的信息不會(huì)丟失?在介紹這說(shuō)了是電阻那當(dāng)然就是一個(gè)電阻啦,當(dāng)作為輸入時(shí),上拉電阻將其電位拉高京若輸個(gè)I/O口時(shí)提到了一個(gè)上拉電阻”那么上拉電阻又是一個(gè)什么東東呢他起什么作用呢都入為低電平則可提供電流源;所以如果P0口如果作為輸入時(shí),處在高阻抗?fàn)顟B(tài),只有外接一個(gè)上拉電阻才能有效.ALE地址鎖存控制信號(hào):在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把P0口的輸出低8位地

4、址送鎖存器鎖存起來(lái),以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離,參見(jiàn)圖2 ( 8051 擴(kuò)展 2KB EEPROMI 路,在圖中 ALE與4LS373鎖存器的G相連接,當(dāng)CPU寸外部進(jìn)行存取時(shí),用以鎖住地址的低位地址,即P0 口輸出。由于ALE是以晶振六分之一的固定頻率輸出的正脈沖,當(dāng)系統(tǒng)中未使用外部存儲(chǔ)器時(shí)ALE腳也會(huì)有六分之一的固定頻率輸出,因此可作為外部時(shí)鐘或外部定時(shí)脈沖使用OPSEN外部程序存儲(chǔ)器讀選通信號(hào):在讀外部ROM寸PSEN氏電平有效,以實(shí)現(xiàn)外部ROM單元的讀操作。1、內(nèi)部ROM讀取時(shí),PSEN不動(dòng)作;2、外部ROM讀取時(shí),在每個(gè)機(jī)器周期會(huì)動(dòng)作兩次弓3、外部RAM賣(mài)取時(shí)*兩個(gè)PSEN脈沖被跳過(guò)

5、不會(huì)輸出;®19&J*<t一4、夕卜接,ROM寸,與ROM勺0E腳相接例參見(jiàn)圖2C8051擴(kuò)展2KBEEPROI電路,在圖中PSEN與擴(kuò)展ROM的0E腳相接)EA/VPP訪問(wèn)和序存儲(chǔ)器控制信號(hào)U接高電平時(shí);CPU讀取內(nèi)部程序存儲(chǔ)器(ROM擴(kuò)展外部ROM當(dāng)讀取內(nèi)部程序存儲(chǔ)器超過(guò)OFFFH(8051)仆FFH(8052)時(shí)自動(dòng)讀取外部ROM2*接低電平時(shí):CPU賣(mài)取外部程序存儲(chǔ)器(ROMo3、8751燒寫(xiě)內(nèi)部EPROIW,利用此腳輸入21V的燒寫(xiě)電壓石RST:賽位信號(hào);當(dāng)輸入的信號(hào)連續(xù)2個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作。y .* °.

6、XTAL1和XTAL2外接晶振引腳°當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí)屋此二引腳用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí))用于接外部時(shí)鐘脈沖信號(hào)。VCC電源+5V輸入VSS GND 接地 M8031各端口工作原理講解并行端口P0端口總線工/ 0端口,雙向,苴態(tài).數(shù)據(jù)地址分時(shí)復(fù)用,該端口除用于數(shù)據(jù)的輸入/輸出外,在8031單片 機(jī)外接程序存儲(chǔ)器時(shí),還分時(shí)地輸出/輸入地址/指令。由P。端口輸出的信號(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)下,

7、當(dāng)切換開(kāi)關(guān)MUX向下時(shí)j從內(nèi)部總線來(lái)的數(shù)據(jù)經(jīng)鎖存器反相和場(chǎng)效應(yīng)管T2反相,輸出到端口引腳線上.此時(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í)地輸出到端口線上,此外Tl. T2的通斷組合,形成高電平、低電平與高阻浮動(dòng)三態(tài)的輸出第在輸入狀態(tài)下,從鎖存器和從引腳上讀來(lái)的信號(hào)一般是一致的,但也有例外尊例如,當(dāng)從內(nèi)部總線輸出低電平后山鎖存器8 0, Q=1,場(chǎng)效應(yīng)管T2開(kāi)通,端口線呈低電平狀態(tài)。此時(shí)無(wú)論端口線上外接的信號(hào)是低電乎還是高電平 確地讀入端口引腳上的信號(hào)。又如管T2截止。如外接引腳信號(hào)為低電平,從引腳讀入單片機(jī)的信號(hào)都是低

8、電平,因而不能正當(dāng)從內(nèi)部總線輸出高電平后,鎖存器Q= 1,Q=0,場(chǎng)效應(yīng),從引腳上讀入的信號(hào)就與從鎖存器讀入的信號(hào)不同0¥4t 為此,8031單片機(jī)在對(duì)端口 P0 一工Xi1.”k P3的輸入操作上”有如下約定二.為此,8031單片機(jī)在對(duì)端口 P0 1 / r 9 * w L4 P3的輸入操作上,有如下約定一凡屬于讀-修改-寫(xiě)方式的指令,從鎖存器讀入信號(hào)+其它指令則從端口引腳線上讀入信號(hào)°讀-修改一寫(xiě)指令的特點(diǎn)是,從端口輸入(讀)信號(hào),在單片機(jī)內(nèi)加以運(yùn)算(修改)后,再輸出(寫(xiě))到該端口上a下面是幾條讀 一修改一寫(xiě)指令的例子.這樣安排的原因在于讀-修改-寫(xiě)指令需要得到端口原輸

9、出的狀態(tài),修改后再輸出,讀鎖存器而不是讀引腳,可以避免因外部電路的原因而使原端口的狀態(tài)被讀錯(cuò)。P0端口是8031單片機(jī)的總線口 ,分時(shí)出現(xiàn)數(shù)據(jù),D7 D0低8位地址A7 A0,以及三態(tài),用來(lái)接口存儲(chǔ)器、外部電路與外部設(shè)備。P0端口是使用最廣泛的I /0端口。P1端口;通用1/ 0端口“準(zhǔn)雙向靜態(tài)口E輸出的信息有鎖存,二輸入有讀引腳和讀鎖存器之分?P1端口的一位結(jié)構(gòu)見(jiàn)下圖,由圖可見(jiàn),P1端口與P0端口的主要差別在于,P1端口用內(nèi)部上拉電阻R代替了P01*34.,”端口的場(chǎng)效應(yīng)管口,并且輸出的信息僅來(lái)自內(nèi)部總線,由內(nèi)部總線輸出的數(shù)據(jù)經(jīng)鎖存器反相和場(chǎng)效應(yīng)管反相后,鎖存在端口線上,所以,PL端口是具有

10、輸出鎖存的靜態(tài)口Q由下圖可見(jiàn),要正確地從引腳上讀入外部信息,必須先使場(chǎng)效應(yīng)管關(guān)斷,以便由外部輸入的信息確定引腳的狀益為此?在作引腳讀入前,必須先對(duì)該端口寫(xiě)入L具彳T這種操作特點(diǎn)的輸入/輸出端口,稱(chēng)為準(zhǔn)雙向1/0口&.8031單片機(jī)的PL、P2、P3都是準(zhǔn)雙向口BP0端口由于輸出有三態(tài)功能又輸入前,端口線已處于高阻態(tài),無(wú)需先寫(xiě)入1后再作讀操作°單片機(jī)復(fù)位后,各個(gè)端口已自動(dòng)地被寫(xiě)入了L此時(shí),可直接作輸入操作.如果在應(yīng)用端口的el3“.”,二Jof-)?。丁了,°,.«t*過(guò)程中,,已向P1-P3端口線輸出過(guò)0,則再要輸入時(shí),必須先寫(xiě)1后再讀引腳,才能得到正確的

11、信9,丁1、Y/,-、”'7二3T7息.此外,隨輸入指令的不同/端口也有讀鎖存器與談引腳之分。'PI端口是51單片機(jī)中唯一僅有的單功能1/0端口,.并且沒(méi)有特定的專(zhuān)用功能,輸出信號(hào)鎖存在引腳上9、P2端口:P2端口的一位結(jié)構(gòu)見(jiàn)下圖:由圖可見(jiàn),P2端口在片內(nèi)既有上拉電阻,又有切換開(kāi)關(guān)MUX所以P2端口在功能上兼有P0端口和P1端口的特點(diǎn),這主要表現(xiàn)在輸出功能上,當(dāng)切換開(kāi)關(guān)MUX向左時(shí),從內(nèi)部總線輸出的位數(shù)據(jù)經(jīng)反相器和場(chǎng)效應(yīng)管反相后,輸出在端口引腳線上;當(dāng)MUX向右時(shí),輸出的一位地址信號(hào)也經(jīng)反相器和場(chǎng)效應(yīng)管反相后“輸出在端口引腳線上吊由于8031單片機(jī)必須外接程序存儲(chǔ)器才能構(gòu)成應(yīng)用

12、電路,而P2端口就是用來(lái)周期性地輸出從外存中取指令的地址(高8位地址):,因此,P2端口的切換開(kāi)關(guān)MUX總是在進(jìn)行切換般分時(shí)地輸出從內(nèi)部總線來(lái)的數(shù)據(jù)和從地址信號(hào)線上來(lái)的地址“因此P2端口是動(dòng)態(tài)的I /。端口 J輸出數(shù)據(jù)雖被鎖存,但不是穩(wěn)定地出現(xiàn)在端口線上°其實(shí)這里輸出的數(shù)據(jù)往往也是一種土蜒只不過(guò)是外部RAM的高8位地址出在輸入功能方面”2端口與P0和H端口相同,有讀引腳和讀鎖存器之分,并且P2端口也是準(zhǔn)雙向可見(jiàn),P2端口的主要特點(diǎn)包括:不能輸出靜態(tài)的數(shù)據(jù);自身輸出外部程序存儲(chǔ)器的高8位地址;(這是針對(duì)執(zhí)行MOVX旨令時(shí),還輸出外部RAM的高位地址,.故稱(chēng)P2端口為動(dòng)態(tài)地址端口q803

13、1說(shuō)的,P2端口的描述與8051的不同。805L有內(nèi)部的ROM無(wú)需外加ROM所以8051的P2可以輸出靜態(tài)的數(shù)據(jù)。也可以作為外部存儲(chǔ)器的地址總線0)P3端口:雙功能靜態(tài)I/0:口P3端口的一位結(jié)構(gòu)見(jiàn)下圖a由上圖可見(jiàn),P3端口和Pl端口的結(jié)構(gòu)相似,區(qū)別僅在于P3端口的各端口線有兩種功能選擇人當(dāng)處于第一功能時(shí),第二輸出功能線為1,此時(shí),內(nèi)部總線信號(hào)經(jīng)鎖存器和場(chǎng)效應(yīng)管輸入/輸田,其作用與P1端口作用相同,也是靜態(tài)準(zhǔn)雙向1/0端口。當(dāng)處于第二功能時(shí),鎖存器輸出1,通過(guò)第二輸出功能線輸出特定的內(nèi)含信號(hào)在輸入方面僅即可以通過(guò)緩沖器讀入引腳信號(hào)由于輸出信號(hào)鎖存并且有雙重功能 J S還可以通過(guò)替代輸入功能讀入

14、片內(nèi)的特定第二功能信號(hào)。故P3端口為靜態(tài)雙功能端口口不;.»«P3口的特殊功能(即第二功能):使P3端品各線處于第二功能的條件是:串行I/O處于運(yùn)行狀態(tài)(RXD,TXD);打開(kāi)了處部中斷4INT0,INT1);定時(shí)器/計(jì)數(shù)器處于外部計(jì)數(shù)狀態(tài)(TO,T1)執(zhí)行讀寫(xiě)外部RAM的指令(RD,WR)1*T*1*在應(yīng)用中,如不設(shè)定P3端口各位的第二功能(WR,RDB號(hào)的產(chǎn)生不用設(shè)置),則P3端口線自劭處于第一功能狀態(tài),也就是靜態(tài)I/O端口的工作狀態(tài)m在更多的場(chǎng)合是根據(jù)應(yīng)用的需要幾條端口線設(shè)置為第二功能,而另外幾條端口線處于第一功能運(yùn)行狀態(tài)°在這種情況下,不宜對(duì)P3*二*彳4

15、.?aC荷,a«端口作字節(jié)操作,需采用位操作的形式端口的負(fù)載能力和輸入/輸出操作P0端口能驅(qū)動(dòng)8個(gè)LSTTL負(fù)載6如需增加負(fù)載能力史可在P0總線上增加總線驅(qū)動(dòng)器。P1,P2,P3端口4rV、«,、,>QL丁干各能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。前已述及,由于PO-P3端口已映射成特殊功能寄存器中的P0-P3端口寄存器所以對(duì)這些端口寄存器的讀/寫(xiě)就實(shí)現(xiàn)了信息從相應(yīng)端口的輸入/輸出。例如:MOV.A,Pl把Pl端口線上的信息輸入到AMoVPl,A把A的內(nèi)容由Pl端口輸出MOVP3,#0FFH;使3端口線各位置I串行端口:MCS-51系列單片機(jī)片內(nèi)有一個(gè)串行I/0端口”通過(guò)引腳RX

16、DCP3.0)和TXD(P3.1)可與外設(shè)電路進(jìn)行全雙工的串行異步通信.1.串行端口的基本特點(diǎn)8031單片機(jī)的串行端口有4種基本工作方式,通過(guò)編程設(shè)置,可以使其工作在任一方式,以滿足不同應(yīng)用場(chǎng)合的需要。其中,方式0主要用于外接移位寄存器,以擴(kuò)展單片機(jī)的1/0電路;方式1多用于雙機(jī)之間或與外設(shè)電路的通信;;方式2,3除有方式1的功能外,還可用作多機(jī)通信,以構(gòu)成分布式多微機(jī)系統(tǒng)Q串行端口有兩個(gè)控制寄存器,用來(lái)設(shè)置工作方式、發(fā)送或接收的狀態(tài)、特征位、數(shù)據(jù)傳送的波特率C綠秒傳送的位數(shù),以及作為中斷標(biāo)志等。串行端口有一個(gè)數(shù)據(jù)寄存器SBUF在特殊功能寄存器中的字節(jié)地址為99H),該寄存器為發(fā)送和接收所共同

17、。發(fā)送時(shí),只寫(xiě)不讀;接收時(shí),只讀不寫(xiě)。在一定條件下,向陽(yáng)UF寫(xiě)入數(shù)據(jù)就啟.動(dòng)了發(fā)送過(guò)程;讀SBUf就啟動(dòng)了接收過(guò)程。串行通信的波特率可以程控設(shè)定6在不同工作方式中,由時(shí)鐘振蕩頻率的分頻值或由定時(shí)器T1的定時(shí)溢出時(shí)間確定,使用十分方便靈活今%串行端口的工作方式方式01/0端口。波特率固定為8位移位寄存器輸入/輸出方式。多用于外接移位寄存器以擴(kuò)展fosc/12p其中死如SC為時(shí)鐘頻率q在方式0中,串行端口作為輸出時(shí),只要向串行緩沖器SBUF寫(xiě)入一字節(jié)數(shù)據(jù)后,串行端口就把此8位數(shù)據(jù)以等的波特率,從RXD引腳逐位輸出(從低位到高位);此時(shí),TXD輸出頻率為fose/12的同步移位脈沖。數(shù)據(jù)發(fā)送前,僅管

18、不使用中斷,中斷標(biāo)志TI還必須清零,8位數(shù)據(jù)發(fā)送完后,TI自動(dòng)置I。如要再發(fā)送,必須用軟件將TI清零。:串行端口作為輸入時(shí),RXD為數(shù)據(jù)輸入端,TXD仍為同步信號(hào)輸出端,輸出頻率為fosc/12的同步移位脈沖使外部數(shù)據(jù)逐位移入RxDt當(dāng)接收到8位數(shù)據(jù)(一幀)后,中斷標(biāo)志RI自動(dòng)置。如果再接收,必須用軟件先將RI清零。串行方式0發(fā)送和接收的時(shí)序過(guò)程見(jiàn)下圖。10位異步通信方式,其中,1個(gè)起始位0),8個(gè)數(shù)據(jù)位(由低位到高位)和1個(gè)停止位口)一波特:率由定時(shí)器T1的溢出率和SM0D位的狀態(tài)確定&v*b一條寫(xiě)SBUF指令就可啟動(dòng)數(shù)據(jù)發(fā)送過(guò)程。在發(fā)送移位時(shí)鐘(由波特率確定).的同步下,從TxD先送出起始位,然后是8位數(shù)據(jù)位,最后是停止位“這樣的一幀10位數(shù)據(jù)發(fā)送完后,中斷標(biāo)志TI置在允許接收的條件下(REN=:1)J當(dāng)RXD出現(xiàn)由1到.0的負(fù)跳變時(shí),即被當(dāng)成是串行發(fā)送來(lái)的一幀數(shù)據(jù)的起始位,從而啟動(dòng)一次接收過(guò)程當(dāng)8位數(shù)據(jù)接收完,并檢測(cè)到高電乎停止位后,即把接收到的8位數(shù)據(jù)裝入SBUF置位RI,一幀數(shù)據(jù)的接收過(guò)程就完成了。,使用范圍寬,其計(jì)算式為:方式1的數(shù)據(jù)傳送波特率可以編程設(shè)置波特率=2SM0D/3Z(定時(shí)器R的溢出率

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論