MCS-51單片機(jī)的引腳描述及片外總線結(jié)構(gòu)
HMOS制造工藝的MCS-51單片機(jī)都采用40引腳的直插封裝(DIP方式),制造工藝為CHMOS的80C51/80C31芯片除采用DIP封裝方式外,還采用方型封裝工藝,引腳排列如圖。其中方型封裝的CHMOS芯片有44只引腳,但其中4只引腳(標(biāo)有NC的引腳1、12、23、34)是不使用的。在以后的討論中,除有特殊說(shuō)明以外,所述內(nèi)容皆適用于CHMOS芯片。
如圖,是MCS-51的邏輯符號(hào)圖。在單片機(jī)的40條引腳中有2條專(zhuān)用于主電源的引腳,2條外接晶體的引腳,4條控制或與其它電源復(fù)用的引腳,32條輸入/輸出(I/O)引腳。
下面按其引腳功能分為四部分?jǐn)⑹鲞@40條引腳的功能。
1、主電源引腳VCC和VSS
VCC——(40腳)接+5V電壓;
VSS——(20腳)接地。
2、外接晶體引腳XTAL1和XTAL2
XTAL1(19腳)接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部,它是一個(gè)反相放大器的輸入端,這個(gè)放大器構(gòu)成了片內(nèi)振蕩器。當(dāng)采用外部振蕩器時(shí),對(duì)HMOS單片機(jī),此引腳應(yīng)接地;對(duì)CHMOS單片機(jī),此引腳作為驅(qū)動(dòng)端。
XTAL2(18腳)接外晶體的另一端。在單片機(jī)內(nèi)部,接至上述振蕩器的反相放大器的輸出端。采用外部振蕩器時(shí),對(duì)HMOS單片機(jī),該引腳接外部振蕩器的信號(hào),即把外部振蕩器的信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端;對(duì)XHMOS,此引腳應(yīng)懸浮。
3、控制或與其它電源復(fù)用引腳RST/VPD、ALE/PROG、PSEN和EA/VPP
①RST/VPD(9腳)當(dāng)振蕩器運(yùn)行時(shí),在此腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。推薦在此引腳與VSS引腳之間連接一個(gè)約8.2k的下拉電阻,與VCC引腳之間連接一個(gè)約10μF的電容,以保證可靠地復(fù)位。
VCC掉電期間,此引腳可接上備用電源,以保證內(nèi)部RAM的數(shù)據(jù)不丟失。當(dāng)VCC主電源下掉到低于規(guī)定的電平,而VPD在其規(guī)定的電壓范圍(5±0.5V)內(nèi),VPD就向內(nèi)部RAM提供備用電源。
②ALE/PROG(30腳):當(dāng)訪問(wèn)外部存貯器時(shí),ALE(允許地址鎖存)的輸出用于鎖存地址的低位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE端仍以不變的頻率周期性地出現(xiàn)正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此,它可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí)目的。然而要注意的是,每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。ALE端可以驅(qū)動(dòng)(吸收或輸出電流)8個(gè)LS型的TTL輸入電路。
對(duì)于EPROM單片機(jī)(如8751),在EPROM編程期間,此引腳用于輸入編程脈沖(PROG)。
③PSEN(29腳):此腳的輸出是外部程序存儲(chǔ)器的讀選通信號(hào)。在從外部程序存儲(chǔ)器取指令(或常數(shù))期間,每個(gè)機(jī)器周期兩次PSEN有效。但在此期間,每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。PSEN同樣可以驅(qū)動(dòng)(吸收或輸出)8個(gè)LS型的TTL輸入。
④EA/VPP(引腳):當(dāng)EA端保持高電平時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器,但在PC(程序計(jì)數(shù)器)值超過(guò)0FFFH(對(duì)851/8751/80C51)或1FFFH(對(duì)8052)時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序。當(dāng)EA保持低電平時(shí),則只訪問(wèn)外部程序存儲(chǔ)器,不管是否有內(nèi)部程序存儲(chǔ)器。對(duì)于常用的8031來(lái)說(shuō),無(wú)內(nèi)部程序存儲(chǔ)器,所以EA腳必須常接地,這樣才能只選擇外部程序存儲(chǔ)器。
對(duì)于EPROM型的單片機(jī)(如8751),在EPROM編程期間,此引腳也用于施加21V的編程電源(VPP)。
4、輸入/輸出(I/O)引腳P0、P1、P2、P3(共32根)
①P0口(39腳至32腳):是雙向8位三態(tài)I/O口,在外接存儲(chǔ)器時(shí),與地址總線的低8位及數(shù)據(jù)總線復(fù)用,能以吸收電流的方式驅(qū)動(dòng)8個(gè)LS型的TTL負(fù)載。
②P1口(1腳至8腳):是準(zhǔn)雙向8位I/O口。由于這種接口輸出沒(méi)有高阻狀態(tài),輸入也不能鎖存,故不是真正的雙向I/O口。P1口能驅(qū)動(dòng)(吸收或輸出電流)4個(gè)LS型的TTL負(fù)載。對(duì)8052、8032,P1.0引腳的第二功能為T(mén)2定時(shí)/計(jì)數(shù)器的外部輸入,P1.1引腳的第二功能為T(mén)2EX捕捉、重裝觸發(fā),即T2的外部控制端。對(duì)EPROM編程和程序驗(yàn)證時(shí),它接收低8位地址。
③P2口(21腳至28腳):是準(zhǔn)雙向8位I/O口。在訪問(wèn)外部存儲(chǔ)器時(shí),它可以作為擴(kuò)展電路高8位地址總線送出高8位地址。在對(duì)EPROM編程和程序驗(yàn)證期間,它接收高8位地址。P2可以驅(qū)動(dòng)(吸收或輸出電流)4個(gè)LS型的TTL負(fù)載。
④P3口(10腳至17腳):是準(zhǔn)雙向8位I/O口,在MCS-51中,這8個(gè)引腳還用于專(zhuān)門(mén)功能,是復(fù)用雙功能口。P3能驅(qū)動(dòng)(吸收或輸出電流)4個(gè)LS型的TTL負(fù)載。
作為第一功能使用時(shí),就作為普通I/O口用,功能和操作方法與P1口相同。
作為第二功能使用時(shí),各引腳的定義如表所示。
值得強(qiáng)調(diào)的是,P3口的每一條引腳均可獨(dú)立定義為第一功能的輸入輸出或第二功能。
表
口線
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
二、MCS-51單片機(jī)的片外總線結(jié)構(gòu)
綜合上面的描述可知,I/O口線都不能當(dāng)作用戶(hù)I/O口線。除8051/8751外真正可完全為用戶(hù)使用的I/O口線只有P1口,以及部分作為第一功能使用時(shí)的P3口。如圖,是MCS-51單片機(jī)按引腳功能分類(lèi)的片外總線結(jié)構(gòu)圖。
由圖我們可以看到,單片機(jī)的引腳除了電源、復(fù)位、時(shí)鐘接入,用戶(hù)I/O口外,其余管腳是為實(shí)現(xiàn)系統(tǒng)擴(kuò)展而設(shè)置的。這些引腳構(gòu)成MCS-51單片機(jī)片外三總線結(jié)構(gòu),即:
①地址總線(AB):地址總線寬為16位,因此,其外部存儲(chǔ)器直接尋址為64K字節(jié),16位地址總線由P0口經(jīng)地址鎖存器提供8位地址(A0至A7);P2口直接提供8位地址(A8至A15)。
②數(shù)據(jù)總線(DB):數(shù)據(jù)總線寬度為8位,由P0提供。
③控制總線(CB):由P3口的第二功能狀態(tài)和4根獨(dú)立控制線RESET、EA、ALE、PSEN組成。
下表列出各個(gè)子系列的配制情況供讀則參考。
芯片種類(lèi)
ROM/EPROM
8051(8751,8031)
8052(8752,8032)
80C51(87C51,80C31)
80C52(87C52,80C32)
8044(8744,8344)
MSC-51單片機(jī)中央處理器
中央處理器是單片機(jī)內(nèi)部的核心部件,它決定了單片機(jī)的主要功能特性。中央處理器主要由運(yùn)算部件和控制部件組成。下面我們把中央處理器功能模塊和有關(guān)的控制信號(hào)線聯(lián)系起來(lái)加以討論,并涉及相關(guān)的硬件設(shè)備(如振蕩電路和時(shí)鐘電路)。
1、運(yùn)算部件:它包括算術(shù)、邏輯部件ALU、布爾處理器、累加器ACC、寄存器B、暫存器TMP1和TMP2、程序狀態(tài)字寄存器PSW以及十進(jìn)制調(diào)整電路等。運(yùn)算部件的功能是實(shí)現(xiàn)數(shù)據(jù)的算術(shù)邏輯運(yùn)算、位變址處理和數(shù)據(jù)傳送操作。
MCS-51單片機(jī)的ALU功能十分強(qiáng),它不僅可對(duì)8位變量進(jìn)行邏輯“與”、“或”、“異或”、循環(huán)、求補(bǔ)、清零等基本操作,還可以進(jìn)行加、減、乘、除等基本運(yùn)算。為了乘除運(yùn)算的需要,設(shè)置了B寄存器。在執(zhí)行乘法運(yùn)算指令時(shí),用來(lái)存放其中一個(gè)乘數(shù)和乘積的高8位數(shù);在執(zhí)行除法運(yùn)算指令時(shí),B中存入除數(shù)及余數(shù)。MCS-51單片機(jī)的ALU還具有一般微機(jī)ALU,如Z80、MCS-48所不具備的功能,即布爾處理功能。單片機(jī)指令系統(tǒng)中的布爾指令集、存儲(chǔ)器中的位地址空間與CPU中的位操作構(gòu)成了片內(nèi)的布爾功能系統(tǒng),它可對(duì)位(bit)變量進(jìn)行布爾處理,如置位、清零、求補(bǔ)、測(cè)試轉(zhuǎn)移及邏輯“與”、“或”等操作。在實(shí)現(xiàn)位操作時(shí),借用了程序狀態(tài)標(biāo)志器(PSW)中的進(jìn)位標(biāo)志Cy作為位操作的“累加器”.
運(yùn)算部件中的累加器ACC是一個(gè)8位的累加器(ACC也可簡(jiǎn)寫(xiě)為A)。從功能上看,它與一般微機(jī)的累加器相比沒(méi)有什么特別之處,但需要說(shuō)明的是ACC的進(jìn)位標(biāo)志Cy就是布爾處理器進(jìn)行位操作的一個(gè)累加器。
MCS-51單片機(jī)的程序狀態(tài)PSW,是一個(gè)8位寄存器,它包含了程序的狀態(tài)信息。
評(píng)論