第2章 單片機的硬件結(jié)構(gòu)及工作原理_第1頁
第2章 單片機的硬件結(jié)構(gòu)及工作原理_第2頁
第2章 單片機的硬件結(jié)構(gòu)及工作原理_第3頁
第2章 單片機的硬件結(jié)構(gòu)及工作原理_第4頁
第2章 單片機的硬件結(jié)構(gòu)及工作原理_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機的引腳40pins

第2章單片機的硬件結(jié)構(gòu)及工作原理MCS-51單片機的片內(nèi)結(jié)構(gòu)2.1.2MCS-51的引腳

40只引腳雙列直插封裝(DIP)

1.電源引腳Vcc(40腳):+5V電源;Vss(20腳):接地。2.時鐘引腳XTAL1(19腳)XTAL2(18腳)電源和時鐘的正確連接是單片機工作的最基本條件。3.控制引腳

(1)RST(9腳):復(fù)位,高電平有效。在該引腳上加入大于2個機器周期的高電平,單片機復(fù)位。3.控制引腳

引腳第一功能與擴展相關(guān)。

(2)EA*/VPP(31腳):

第一功能(EA*):內(nèi)外程序存儲器選擇控制端。

EA*=1,訪問片內(nèi)程序存儲器,但在PC(程序計數(shù)器)值超過0FFFH(對于8051、8751)時,即超出片內(nèi)程序存儲器的4K字節(jié)地址范圍時,將自動轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序。

EA*=0,單片機則只訪問外部程序存儲器。

(3)ALE/PROG*(30腳):第一功能(ALE):ALE為地址鎖存允許。系統(tǒng)擴展時,該引腳的負跳沿可以將P0口的低8位數(shù)據(jù)鎖存在外接地址上,可實現(xiàn)P0口數(shù)據(jù)的地址數(shù)據(jù)分時傳輸。

(4)PSEN*(29腳):外部程序存儲器的讀選通信號。該引腳接外部存儲器的輸出允許腳。負跳沿有效。引腳第二功能:與程序燒錄相關(guān)EA*/VPP(31腳)-VPP:

用于施加編程電壓(例如+21V或+12V)。對89C51,加在VPP腳的編程電壓為+12V或+5V。ALE/PROG*(30腳)-PROG*:為編程脈沖輸入端。LED+5VVcc--EARST10uF1KP1.089S51P1.11K30P30PXTAL1XTAL2GND+5VVcc--EARST10uF

1KP1.089S51+5VP1.11K30P30PXTAL1XTAL2GNDK通用I/O口(GPIO)總線結(jié)構(gòu)有地址線,數(shù)據(jù)線,控制線4.I/O口引腳P0口:作為通用的I/O口使用時,需加上拉電阻,這時為準(zhǔn)雙向口。當(dāng)作為普通的I/O輸入時,應(yīng)先向端口的輸出鎖存器寫入1。P0口可驅(qū)動8個LS型TTL負載。當(dāng)51單片機擴展外部存儲器及I/O接口芯片時,P0口作為地址總線(低8位)及數(shù)據(jù)總線的分時復(fù)用端口。為雙向I/O口。(2)P1口:8位準(zhǔn)雙向I/O口,可驅(qū)動4個LS型TTL負載。(3)P2口:8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用,可驅(qū)動4個LS型TTL負載。

(4)P3口:8位準(zhǔn)雙向I/O口,雙功能復(fù)用口,可驅(qū)動4個LS型TTL負載。P3口還可提供第二功能,定義如表2-1所列,應(yīng)熟記。

2.4并行I/O端口

4個雙向的8位并行I/O端口(Port),記作P0~P3屬于特殊功能寄存器,還可位尋址。

2.4.1P0端口

1.位電路結(jié)構(gòu)P0口某一位的電路包括:(1)一個數(shù)據(jù)輸出鎖存器,用于數(shù)據(jù)位的鎖存(2)兩個三態(tài)的數(shù)據(jù)輸入緩沖器。(3)一個多路轉(zhuǎn)接開關(guān)MUX,使P0口可作通用I/O口,或地址/數(shù)據(jù)線口。(4)數(shù)據(jù)輸出的驅(qū)動和控制電路,由兩只場效應(yīng)管(FET)組成,上面的場效應(yīng)管構(gòu)成上拉電路。2.工作過程分析(1)P0口作為地址或數(shù)據(jù)總線使用輸出:CPU發(fā)出控制信號為高電平,打開上面的與門,使MUX打向上邊,使內(nèi)部地址/數(shù)據(jù)線與下面的場效應(yīng)管反相接通。此時由于上下兩個FET處于反相,形成推拉式電路結(jié)構(gòu),大大提高負載能力。輸入:控制型號為低電平,MUX接Q*端,同時CPU發(fā)出FFH數(shù)據(jù),使得Q*=0,下方的FET截止,數(shù)據(jù)信息高阻抗輸入,外部數(shù)據(jù)通過輸入緩沖器進入內(nèi)部總線。(2)P0口作通用的I/O口使用

CPU發(fā)來的“控制”信號為低電平,上拉場效應(yīng)管截止,MUX打向下邊,與D鎖存器的Q*端接通。a.P0作輸出口使用來自CPU的“寫入”脈沖加在D鎖存器的CP端,內(nèi)部總線上的數(shù)據(jù)寫入D鎖存器,并向端口引腳P0.x輸出。由于輸出電路是漏極開路(因為這時上拉場效應(yīng)管截止),必須外接上拉電阻才能有高電平輸出(這時就不為雙向口)。b.P0作輸入口使用分為“讀鎖存器”和“讀引腳”兩種方式?!白x鎖存器”信號打開上面的緩沖器把鎖存器Q端的狀態(tài)讀入內(nèi)部總線;“讀引腳”信號把下方緩沖器打開,引腳上的狀態(tài)經(jīng)緩沖器讀入內(nèi)部總線。讀引腳時,鎖存器的輸出Q*端必須為0,使得下方的場效應(yīng)管截止,引腳的狀態(tài)才能經(jīng)緩沖器讀入內(nèi)部總線,否則引腳的高電平狀態(tài)無法讀入,同時會導(dǎo)致大的電流將場效應(yīng)管燒壞。每次從外部數(shù)據(jù)線讀數(shù)據(jù)時,必須先向鎖存器寫1。3.P0口的特點P0口為雙功能口——地址/數(shù)據(jù)復(fù)用口和通用I/O口。

(1)當(dāng)P0口用作地址/數(shù)據(jù)復(fù)用口時,為一個真正的雙向口,用作外擴存儲器,輸出低8位地址和輸出/輸入8位數(shù)據(jù)。(2)當(dāng)P0口用作通用I/O口時,由于需要在片外接上拉電阻,端口不存在高阻抗(懸浮)狀態(tài),因此為一個準(zhǔn)雙向口。讀取數(shù)據(jù)線上的數(shù)據(jù)時,必須先向鎖存器寫入1。2.4.2P1端口

字節(jié)地址90H,位地址90H~97H。

P1口某一位的位電路結(jié)構(gòu)如下:P1口的特點

P1口由于有內(nèi)部上拉電阻,沒有高阻抗輸入狀態(tài),稱為準(zhǔn)雙向口。作為輸出口時,不需要在片外接上拉電阻。

P1口“讀引腳”輸入時,必須先向鎖存器寫1。

1.位電路結(jié)構(gòu)P1口位電路結(jié)構(gòu)由三部分組成:(1)一個數(shù)據(jù)輸出鎖存器,用于輸出數(shù)據(jù)位的鎖存。(2)兩個三態(tài)的數(shù)據(jù)輸入緩沖器BUF1和BUF2,分別用于鎖存器數(shù)據(jù)和引腳數(shù)據(jù)的輸入緩沖。(3)數(shù)據(jù)輸出驅(qū)動電路,由一個場效應(yīng)管(FET)和一個片內(nèi)上拉電阻組成。2.工作過程分析P1口只能作為通用的I/O口使用。(1)P1口作為輸出口時,若CPU輸出1,Q=1,Q*=0,場效應(yīng)管截止,P1口引腳的輸出為1;若CPU輸出0,Q=0,Q*=1,場效應(yīng)管導(dǎo)通,P1口引腳的輸出為0。(2)P1口作為輸入口時,分為“讀鎖存器”和“讀引腳”兩種方式。“讀鎖存器”時,鎖存器的輸出端Q的狀態(tài)經(jīng)輸入緩沖器BUF1進入內(nèi)部總線;“讀引腳”時,先向鎖存器寫1,使場效應(yīng)管截止,P1.x引腳上的電平經(jīng)輸入緩沖器BUF2進入內(nèi)部總線。2.4.3P2口字節(jié)地址為A0H,位地址A0H~A7H。P2口是一個雙功能口,P2口某一位的位電路結(jié)構(gòu)。

1、P2口的特點作為地址輸出線使用時,P2口可以輸出外存儲器的高8位地址,與P0口輸出的低8位地址一起構(gòu)成16位地址線。作為通用I/O口使用時,P2口為一個準(zhǔn)雙向口。功能與P1口一樣。1.位電路結(jié)構(gòu)P2口某一位的電路包括:(1)一個數(shù)據(jù)輸出鎖存器,用于輸出數(shù)據(jù)位的鎖存。(2)兩個三態(tài)數(shù)據(jù)輸入緩沖器BUF1和BUF2,分別用于鎖存器數(shù)據(jù)和引腳數(shù)據(jù)的輸入緩沖。(3)一個多路轉(zhuǎn)接開關(guān)MUX,它的一個輸入是鎖存器的Q端,另一個輸入是內(nèi)部地址的高8位。(4)輸出驅(qū)動電路,由場效應(yīng)管(FET)和內(nèi)部上拉電阻組成。2.工作過程分析(1)P2口用作地址總線在內(nèi)部控制信號作用下,MUX與“地址”接通。當(dāng)“地址”線為0時,場效應(yīng)管導(dǎo)通,P2口引腳輸出0;當(dāng)“地址”線為1時,場效應(yīng)管截止,P2口引腳輸出1。(2)P2口用作通用I/O口在內(nèi)部控制信號作用下,MUX與鎖存器的Q端接通。

CPU輸出1時,Q=1,場效應(yīng)管截止,P2.x引腳輸出1;

CPU輸出0時,Q=0,場效應(yīng)管導(dǎo)通,P2.x引腳輸出0。輸入時,分為“讀鎖存器”和“讀引腳”兩種方式?!白x鎖存器”時,Q端信號經(jīng)上方的輸入緩沖器進入內(nèi)部總線;“讀引腳”時,先向鎖存器寫1,使場效應(yīng)管截止,P2.x引腳上的電平經(jīng)下方的輸入緩沖器進入內(nèi)部總線。2.4.4P3口由于89C51的引腳有限,因此在P3口電路中增加了引腳的第二功能。P3的每一位都可以分別定義為第二功能。P3口的第二功能定義

口引腳第二功能

P3.0 RXD(串行輸入口)--輸入

P3.1 TXD(串行輸出口)--輸出

P3.2 INT0*

(外部中斷0)--輸入

P3.3 INT1*

(外部中斷1)--輸入

P3.4 T0(定時器0外部計數(shù)輸入)

P3.5 T1(定時器1外部計數(shù)輸入)

P3.6 WR*

(外部數(shù)據(jù)存儲器寫選通)--輸出

P3.7 RD*

(外部數(shù)據(jù)存儲器讀選通)--輸出P3口的字節(jié)地址為B0H,位地址為B0H~B7H。P3口某一位的位電路結(jié)構(gòu)如下圖。P3口的特點P3口內(nèi)部有上拉電阻,不存在高阻抗輸入狀態(tài),為準(zhǔn)雙向口。

P3口作為第二功能的輸出/輸入,或第一功能通用輸入,均須將相應(yīng)位的鎖存器置1。實際應(yīng)用中,由于復(fù)位后P3口鎖存器自動置1,滿足第二功能條件,所以不需要任何設(shè)置工作,就可以進入第二功能操作。當(dāng)某位不作為第二功能使用時,可作為第一功能通用I/O使用。引腳輸入部分有兩個緩沖器,第二功能的輸入信號取自緩沖器BUF3的輸出端,第一功能的輸入信號取自緩沖器BUF2的輸出端。1.位電路結(jié)構(gòu)P3口某一位的電路包括:(1)一個數(shù)據(jù)輸出鎖存器,用于輸出數(shù)據(jù)位的鎖存。(2)3個三態(tài)數(shù)據(jù)輸入緩沖器BUF1、BUF2和BUF3,分別用于讀鎖存器、讀引腳數(shù)據(jù)和第二功能數(shù)據(jù)的輸入緩沖。(3)輸出驅(qū)動電路,由“與非門”、場效應(yīng)管(FET)和內(nèi)部上拉電阻組成。

2.工作過程分析(1)P3口用作第二輸入/輸出功能當(dāng)選擇第二輸出功能時,該位的鎖存器需要置“1”,使“與非門”為開啟狀態(tài)。當(dāng)?shù)诙敵鰹?時,場效應(yīng)管截止,P3.x引腳輸出為1;當(dāng)?shù)诙敵鰹?時,場效應(yīng)管導(dǎo)通,P3.x引腳輸出為0。當(dāng)選擇第二輸入功能時,該位的鎖存器和第二輸出功能端均應(yīng)置1,保證場效應(yīng)管截止,P3.x引腳的信息由輸入緩沖器BUF3的輸出獲得。(2)P3口用作第一功能——通用I/O口當(dāng)P3口用作第一功能通用輸出時,第二輸出功能端應(yīng)保持高電平,“與非門”為開啟狀態(tài)。CPU輸出1時,Q=1,場效應(yīng)管截止,P3.x引腳輸出為1;CPU輸出0時,Q=0,場效應(yīng)管導(dǎo)通,P3.x引腳輸出為0。當(dāng)P3口用作第一功能通用輸入時,P3.x位的輸出鎖存器和第二輸出功能均應(yīng)置1,場效應(yīng)管截止,P3.x引腳信息通過輸入BUF3和BUF2進入內(nèi)部總線,完成“讀引腳”操作。當(dāng)P3口實現(xiàn)第一功能通用輸入時,也可以執(zhí)行“讀鎖存器”操作,此時Q端信息經(jīng)過緩沖器BUF1進入內(nèi)部總線。2.5時鐘電路與時序時鐘電路用于產(chǎn)生MCS51單片機工作所必需的時鐘控制信號。2.5.1時鐘電路時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量直接影響系統(tǒng)的穩(wěn)定性。C1和C2典型值通常選擇為30pF左右。晶體的振蕩頻率在1.2MHz~12MHz之間。某些高速單片機芯片的時鐘頻率已達40MHz(如89S52)

。1.內(nèi)部時鐘方式

片內(nèi)一個用于構(gòu)成振蕩器的高增益反相放大器,反相放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。XTAL1XTAL2GND8XX51C1C22.外部時鐘方式

常用于多片單片機同時工作。外部時鐘源直接接到XTAL1端,XTAL2端懸空。

外部時鐘XTAL1XTAL2GND懸空8XX512.5.2機器周期、指令周期與指令時序單片機執(zhí)行的指令的各種時序均與時鐘周期有關(guān)1.時鐘周期(振蕩周期)單片機的基本時間單位。若時鐘的晶體的振蕩頻率為fosc,則時鐘周期Tosc=1/fosc。;例如:fosc=6MHz,Tosc=166.7ns。2.機器周期CPU完成一個基本操作所需的時間稱為機器周期。執(zhí)行一條指令分為幾個機器周期。每個機器周期完成一個基本操作。MCS-51單片機每12個時鐘周期為1個機器周期。一個機器周期又分為6個狀態(tài):S1~S6。每個狀態(tài)又分為兩拍:P1和P2。每個狀態(tài)稱為狀態(tài)周期。因此,一個機器周期中的12個時鐘周期表示為:

S1P1、S1P2、S2P1、S2P2、…、S6P2。

3、指令周期執(zhí)行一條指令所需的時間。

51單片機中按字節(jié)可分為單字節(jié)、雙字節(jié)、三字節(jié)指令。因此執(zhí)行一條指令的時間也不同。對于簡單的單字節(jié)指令,取出指令立即執(zhí)行,只需一個機器周期的時間。而有些復(fù)雜的指令,如轉(zhuǎn)移、乘、除指令則需兩個或多個機器周期。從指令的執(zhí)行時間看,單字節(jié)和雙字節(jié)指令一般為單機器周期和和雙機器周期,三字節(jié)指令都是雙機器周期,只有乘、除指令占用4個機器周期。

4種時序單位中,時鐘周期和機器周期是單片機內(nèi)計算其他時間值(例如,波特率、定時器的定時時間等)的基本時序單位。

例:單片機外接晶振頻率12MHZ時的各種時序單位:時鐘周期=1/fosc=1/12MHZ=0.0833us

狀態(tài)周期=2/fosc=2/12MHZ=0.167us

機器周期=12/fosc=12/12MHZ=1us

指令周期=(1~4)機器周期=1~4us

程序存放在內(nèi)存,而程序的執(zhí)行則在CPU中,因此指令的執(zhí)行必須先把指令從內(nèi)存取出放到CPU的指令寄存器后再執(zhí)行。指令的執(zhí)行分為:取指階段:根據(jù)PC的值從內(nèi)存中獲得指令執(zhí)行階段:根據(jù)指令產(chǎn)生一系列的控制信號,完成指令的內(nèi)容。2.5.3指令的取指和執(zhí)行2.6復(fù)位操作和復(fù)位電路2.6.1復(fù)位操作單片機的初始化操作,擺脫死鎖狀態(tài)。引腳RST加上大于2個機器周期的高電平可使單片機復(fù)位。復(fù)位時,PC初始化為0000H,使MCS-51單片機從0000H單元開始執(zhí)行程序。在復(fù)位有效期間,ALE腳和PSEN*腳均為高電平,內(nèi)部RAM的狀態(tài)不受復(fù)位的影響。2.6.2復(fù)位電路

片內(nèi)復(fù)位結(jié)構(gòu):

復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。最簡單的上電自動復(fù)位電路:上電復(fù)位和按鍵手動復(fù)位兼有的電路RS取200Ω,RK取1KΩ實用的復(fù)位電路電路能輸出高、低兩種電平的復(fù)位控制信號,以適應(yīng)外圍I/O接口芯片所要求的不同復(fù)位電平信號。MCS-51單片機的片內(nèi)結(jié)構(gòu)2.2、MCS-51的CPU

CPU是單片機的核心部件。它由運算器和控制器等部件組成。

(一)、運算器

1.算術(shù)邏輯運算單元(ALU)

運算器的功能是進行算術(shù)運算:加、減、乘、除、加1、減1、比較、BCD碼十進制調(diào)整等。

邏輯運算:與、或、異或、求反、循環(huán)等邏輯操作。 位操作:內(nèi)部有布爾處理器,它以進位標(biāo)志位C為位累加器,用來處理位操作??蓪ξ恢谩?”、對位清零、位判斷等。操作結(jié)果的狀態(tài)信息送至狀態(tài)寄存PSW。

2.累加器A(Acc)(1)是ALU的輸入之一,又是運算結(jié)果的存放單元。(2)數(shù)據(jù)傳送大多都通過累加器A。

A的進位標(biāo)志Cy同時又是位處理機的位累加器。寄存器B

運算結(jié)果的另一個存放單元,一般乘法,除法指令中使用。(1)Cy(PSW.7)進位標(biāo)志位(2)OV(PSW.2)溢出標(biāo)志位

指示運算是否溢出。注意各種算術(shù)運算指令對該位的影響(3)Ac(PSW.6)輔助進位標(biāo)志位,用于BCD碼的十進制調(diào)整運算。(4)F0(PSW.5)用戶使用的狀態(tài)標(biāo)志位。(5)P(PSW.0)奇偶標(biāo)志位,主要用于串行通信的校驗。

P=1,A中“1”的個數(shù)為奇數(shù)

P=0,A中“1”的個數(shù)為偶數(shù)

3.程序狀態(tài)字寄存器PSW:用于保存ALU操作結(jié)果的狀態(tài)信息(5)RS1、RS0(PSW.4、PSW.3):4組工作寄存器區(qū)選擇控制。工作寄存器:

R0-R7,每個寄存器長度為1個字節(jié)。用于保存數(shù)據(jù)。用戶可以通過修改PSW中的RS1、RS2切換當(dāng)前的工作寄存器組。

RS1RS0所選的4組寄存器

000區(qū)(內(nèi)部RAM地址00H~07H)

011區(qū)(內(nèi)部RAM地址08H~0FH)

102區(qū)(內(nèi)部RAM地址10H~17H)

113區(qū)(內(nèi)部RAM地址18H~1FH)

(二)控制器1.程序計數(shù)器PC(ProgramCounter)16位寄存器,存放下一條要執(zhí)行的指令在程序存儲器中的地址?;竟ぷ鞣绞接幸韵聨追N:

(1)程序計數(shù)器自動加1

(2)執(zhí)行有條件轉(zhuǎn)移或無條件轉(zhuǎn)移指令時,PC將被置入新的數(shù)值,從而使程序的流向發(fā)生變化。(3)執(zhí)行子程序調(diào)用或中斷調(diào)用,完成下列操作: ①PC的現(xiàn)行值保護②將子程序入口地址或中斷向量的地址送入PC。2.指令寄存器IR、指令譯碼器及控制邏輯電路2.3MCS-51存儲器的結(jié)構(gòu)

51單片機將程序存儲器和數(shù)據(jù)存儲器分開,各有自己的尋址方式、控制信號和功能,稱為哈佛結(jié)構(gòu)。程序存儲器用來存放程序和始終要保留的常數(shù)。數(shù)據(jù)存儲器存放程序運行中所需要的常數(shù)和變量。外部數(shù)據(jù)存儲器

(RAM)外部程序存儲器

(ROM)內(nèi)部程序存儲器內(nèi)部數(shù)據(jù)存儲器8XX5151單片機存儲器物理結(jié)構(gòu)從物理空間看,MCS-51有四個存儲器地址空間:片內(nèi)數(shù)據(jù)存儲器片內(nèi)程序存儲器片外數(shù)據(jù)存儲器片外程序存儲器單片機的存儲器邏輯結(jié)構(gòu)外部數(shù)據(jù)存儲器

FFFFH0000H外部

RAM外部ROM1000HFFFFH內(nèi)部數(shù)據(jù)存儲器

內(nèi)部數(shù)據(jù)RAM7FH80H00HFFH特殊功能寄存器(SFR)H0000程序存儲器

0FFFH內(nèi)部ROM(EA=1)8051H00000FFFH8031外部ROM(EA=0)從邏輯上看,51單片機有三個存儲器空間:片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器片內(nèi)、片外統(tǒng)一編址的程序存儲器程序儲存器用來存放編制好的始終保留的固定程序和表格常數(shù)。程序儲存器以程序計數(shù)器PC作為地址指針,通過16位地址總線,可尋址的地址空間為64KB。對于內(nèi)部有ROM的單片機(51、52系列),

=1,使程序從內(nèi)部ROM開始執(zhí)行。當(dāng)PC值超出內(nèi)部ROM的容量時,會自動轉(zhuǎn)向外部程序存儲器空間。外部程序存儲器地址空間為1000H~FFFFH。

=0,使程序從外部ROM開始執(zhí)行,內(nèi)部ROM不使用。

訪問程序存儲器使用MOVC指令。EAEA程序存儲器中的0000H地址是系統(tǒng)程序的啟動地址。

5個單元具有特殊用途,作為5個中斷源的中斷入口地址。

表2-35種中斷源的中斷入口地址

外中斷00003H

定時器T0000BH

外中斷10013H

定時器T1001BH

串行口

0023H由于入口地址之間的存儲空間有限,因此在編程時,通常在這些入口地址開始的兩三個地址單元中,放入一條轉(zhuǎn)移類指令,已使相應(yīng)的程序轉(zhuǎn)到指定的程序存儲器區(qū)域中執(zhí)行。內(nèi)部數(shù)據(jù)存儲器

共128個字節(jié),字節(jié)地址為00H~7FH,存放隨機讀寫的數(shù)據(jù)。(1)寄存器區(qū):地址0~1FH的前32個單元用途:①作通用寄存器R0~R7。②R0與R1可作間址寄存器使用。

32個單元的寄存器區(qū)分為四組,使用時只能選其中一組寄存器。選組由程序狀態(tài)字PSW的RS1和RS0位定。

RS1RS0選寄存器組

000組

011組

102組

113組

初始化時或復(fù)位時,自動選中0組。一旦選中一組,其它三組只能作為數(shù)據(jù)存儲器使用,而不能作為寄存器使用。(2)位地址區(qū):20H~2FH

共16個單元,每單元有八個位,每位有一個位地址,共128位,位地址范圍為00H~7FH,該區(qū)既可位尋址,又可字節(jié)尋址。(3)用戶RAM區(qū):

30H~7FH

只能字節(jié)尋址,用作數(shù)據(jù)緩沖區(qū)以及堆棧區(qū)。除選中的寄存組以外的存儲器均可以作為通用RAM區(qū)。

表2-5內(nèi)部RAM的可尋址位及位地址外部數(shù)據(jù)存儲器用于存放隨機讀寫的數(shù)據(jù)。最多可擴展64KB外部數(shù)據(jù)存儲器。單片機的外部數(shù)據(jù)存儲器和外部I/O口實行統(tǒng)一編址,并使用相同的作選通控制信號,均使用MOVX

指令訪問。

RDWR使用各類存儲器,注意:地址的重疊性:程序存儲器(ROM)與數(shù)據(jù)存儲器(RAM)全部64K字節(jié)地址空間重疊)。(2)程序存儲器(ROM)與數(shù)據(jù)存儲器(RAM)在使用上是嚴(yán)格區(qū)分的。特殊功能寄存器SFR(Special

FuctionRegister)共有21個字節(jié)的SFR,用于對單片機內(nèi)部各個功能部件進行控制。用途

A累加器、狀態(tài)標(biāo)志寄存器單片機內(nèi)部各部件專用的控制、狀態(tài)寄存器并行口、串行口影射寄存器地址空間:

21個特殊功能器不連續(xù)的分布在80H~FFH128個字節(jié)地址空間。地址為X0H和X8H是可位尋址的寄存器。表2-4SFR的名稱及其分布SP—堆棧指針

51單片機的堆棧設(shè)在片內(nèi)RAM,SP用于指示堆棧頂部在內(nèi)部RAM塊中的位置。堆棧功能:斷點保護:記錄子程序調(diào)用或者中斷服務(wù)程序的返回位置?,F(xiàn)場保護:保存單片機中相關(guān)寄存器單元內(nèi)容。復(fù)位后,SP中的內(nèi)容為07H。但是一般SP人為設(shè)置到30H以上的空間。堆棧的操作:壓入(PUSH):當(dāng)一個字節(jié)數(shù)據(jù)壓入

溫馨提示

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

評論

0/150

提交評論