找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5703|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

8051存儲器,特殊功能寄存器結(jié)構(gòu)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:72519 發(fā)表于 2015-1-23 23:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 liuda 于 2015-1-23 23:55 編輯

程序存儲器
       當(dāng)EA引腳接高電平時,CPU將使用內(nèi)部程序存儲器,若程序超過內(nèi)部程序存儲器空間時,則CPU會自動從外部程序存儲器重讀取超過部分的程序代碼。
數(shù)據(jù)存儲器
       51的程序存儲器和數(shù)據(jù)存儲器是獨立分開的,所以訪問數(shù)據(jù)存儲器時,所使用的地址不會與程序存儲器沖突。
       51里的數(shù)據(jù)存儲器除內(nèi)部數(shù)據(jù)存儲器外,還可以擴展外部數(shù)據(jù)存儲器,且可以并存,只不過訪問他們的指令不一樣。
       內(nèi)部數(shù)據(jù)存儲器的結(jié)構(gòu):
       0000H~007FH之間的128B為可直接尋址或間接尋址的存儲器,它分為3部分:
1.         寄存器組區(qū)
0000H~001FH的32個地址位寄存器組區(qū)
10000H~0007H為寄存器組0(即RB0);0008H~000FH為寄存器組1(即RB1);0010H~0017H為寄存器組2(即RB2);0018H~001FH為寄存器組3(即RB3)
2每個寄存器組都包括R0、R1、R2、R3、R4、R5、R6、R7等8個寄存器,任何一個時間,都只能使用其中一個寄存器組。
3寄存器組的切換,可由程序狀態(tài)字(PSW)中的RS1、RS0來決定
RS0                      RS1                      寄存器組                     位址
0                          0                          RB0                      0000H~0007H
0                          1                          RB1                      0008H~000FH
1                          0                          RB2                      0010H~0017H
1                          1                          RB3                      0018H~001FH
4當(dāng)CPU復(fù)位時,系統(tǒng)的堆棧指針(SP)指向地址07H,所以將數(shù)據(jù)存入堆棧時,將從08H開始,即RB1里的R0地址。為了避免沖突和不必要的錯誤,通常會把堆棧指針移到30H以后的地址。
2.         可位尋址區(qū)
0020H~002FH共16字節(jié)的存儲器區(qū)為可位尋址區(qū)。
例如吧20H存儲器地址的bit 5設(shè)定為1,這可使用下指令:
SETB 20H.5
要把該位清除為0,可使用下指令:CLR 20H.5
3.         一般數(shù)據(jù)與堆棧區(qū)
0030H~007FH的80字節(jié)為一般數(shù)據(jù)訪問及堆棧區(qū)。
       0080H~00FFH之間的128B為特殊功能寄存器(SFR)。
特殊功能寄存器
P0、P1、P2、P3
它們是51的4個輸入/輸出端口,其地址分別為80H、90H、A0H及B0H。
P0口:該8位都為漏級開路輸出,每個引腳可以驅(qū)動8個LS型TTL負(fù)載;且內(nèi)部沒有上拉電阻,執(zhí)行輸出功能時,外部必須接上拉電阻(10千歐即可);若要執(zhí)行輸入功能,必須先輸出高電平,方能讀取該端口所連接的外部數(shù)據(jù);若系統(tǒng)連接外部存儲器,則P0可作為地址總線(A0~A7)及數(shù)據(jù)總線(D0~D7)的多功能引腳。
P1口:內(nèi)部有30千歐上拉電阻,執(zhí)行輸出功能時,不必連接外部上拉電阻;該8位都為漏級開路輸出,每個引腳可以驅(qū)動4個LS型TTL負(fù)載;若要執(zhí)行輸入功能,必須先輸出高電平,方能讀取該端口所連接的外部數(shù)據(jù);
P2口:內(nèi)部有30千歐上拉電阻,執(zhí)行輸出功能時,不必連接外部上拉電阻;該8位都為漏級開路輸出,每個引腳可以驅(qū)動4個LS型TTL負(fù)載;若要執(zhí)行輸入功能,必須先輸出高電平,方能讀取該端口所連接的外部數(shù)據(jù);若系統(tǒng)連接外部存儲器,而外部存儲器的地址線超過8條時,則P0口可作為地址總線(A8~A15)引腳。
P3口:內(nèi)部有30千歐上拉電阻,執(zhí)行輸出功能時,不必連接外部上拉電阻;該8位都為漏級開路輸出,每個引腳可以驅(qū)動4個LS型TTL負(fù)載;若要執(zhí)行輸入功能,必須先輸出高電平,方能讀取該端口所連接的外部數(shù)據(jù);
P3口其它功能:
P3                               其它功能                            說明
P3.0                             RXD                                   串行口的接收引腳
P3.1                             RTD                                   串行口的傳送引腳
P3.2                             INT0                                  INT0中斷輸入
P3.3                             INT1                                  INT1中斷輸入
P3.4                             T0                                      Timer 0輸入
P3.5                             T1                                      Timer 1輸入
P3.6                             WR                                     寫入外部存儲器控制引腳
P3.7                             RD                                     讀取外部存儲器控制引腳


SP
       SP為堆棧指針寄存器,其地址為81H。
DPL、DPH
       DPL與DPH均為8位的數(shù)據(jù)指針寄存器,其地址分別為82H、83H。若以DPL為低8位、DPH為高8位,即可組成一個16位的數(shù)據(jù)指針寄存器,簡稱DPTR,如此將可尋址到64KB的數(shù)據(jù)地址。
PCON
       PCON作為電源控制寄存器,其地址位87H,其功能是設(shè)定CPU的電源方式。
       它是一個不可位尋址的寄存器。如圖所示:
                     SMOD    ―    ―    ―    GF1        GF0        PD          IDL
                     Bit7         bit6  bit5  bit4  bit3         bit2         bit1         bit0
其中各位說明如下:
       SMOD位為比特率倍增位。當(dāng)串行端口工作于模式1、模式2、模式3,且使用定時器1為其比特率產(chǎn)生器時,若其為1,這比特率加倍,若為0,這比特率正常。
       GF1、GF0位為一般用途標(biāo)志位,用戶可自行設(shè)定或清除這兩個標(biāo)志。通常使用這個兩個標(biāo)志作為有中斷喚醒閑置模式中的8051系統(tǒng)。
       PD位為功率下降模式位。為1時,進入功率下降模式;為0時,結(jié)束功率下降模式。
       IDL位為閑置模式位。為1時,進入閑置模式;為0時,結(jié)束閑置模式。
TCON
       TCON為定時器/計數(shù)器控制寄存器,其地址為88H,詳細(xì)以后再講咯。
TMOD
       TMOD為計數(shù)器/計數(shù)方式控制寄存器,其地址為89H,其功能是設(shè)置它的方式,詳細(xì)以后再講咯。
TL0、TL1、TH0、TH1
       TL0、TH0為第一組定時器、計數(shù)器的計量寄存器,其地址為8AH、8CH,將TL0與TH0組合即可進行16位的定時/計數(shù)。TL1、TH1為第二組定時器、計數(shù)器的計量寄存器,其地址為8BH、8DH,將TL1與TH1組合即可進行16位的定時/計數(shù)。詳細(xì)以后再講咯。
SCON
       SCON為串行端口控制寄存器,其地址為98H,其功能是設(shè)定串行端口工作方式與標(biāo)志。
SBUF
       SBUF為串行端口緩沖器,其地址為99H, 這是由使用同一個地址的兩個寄存器所構(gòu)成,其中一個寄存器作為傳送數(shù)據(jù)用的緩沖器,另一個寄存器作為接收數(shù)據(jù)用的緩沖器。至于如何分辨同一個地址的兩個寄 存器,則視指令而定,若是數(shù)據(jù)傳送指令,則自動定位到傳送數(shù)據(jù)用的緩沖器;若是接受數(shù)據(jù)指令,則自動定位到接收數(shù)據(jù)用的緩沖器。詳細(xì)以后再講咯。IE
IE為中斷使能寄存器,其地址為A8H。詳細(xì)以后再講咯。
IP
       IP為中斷優(yōu)先級寄存器。詳細(xì)以后再講咯。
T2CON
       T2CON為Timer 2的定時器/計數(shù)器控制寄存器,其地址為C8H,其功能死設(shè)定Timer 2的啟動、記錄定時/計數(shù)溢出,以及外部中斷觸發(fā)方式等。詳細(xì)以后再講咯。
RCAP、RCAP2H
RCAP、RCAP2H為捕捉寄存器,其地址為CAH、CBH。當(dāng)Timer 2在捕捉方式時,若T2EX(P1.1)引腳上的輸入信號有高電平轉(zhuǎn)為低電平時,TL2與TH2的內(nèi)容將被載入RCAP與RCAP2H,就像是把Timer 2的內(nèi)容捉進RCAP寄存器一樣。詳細(xì)以后再講咯。
TL2、TH2
TL2、TH2為第三組定時器、計數(shù)器的計量寄存器,其地址為CCH、CDH,將TL2與TH2組合即可進行16位的定時/計數(shù)。詳細(xì)以后再講咯。
PSW
       PSW為CPU的程序狀態(tài)字寄存器,其地址為D0H,其內(nèi)容如下:
                            7            6            5            4            3            2            1            0
PSW              CY          AC          F0          RS1        RS0        OV                       P
PSW.7:本位為進位位(CY),加減法時產(chǎn)生進位或錯位,將自行設(shè)定為1,否則為0。
PSW.6:本位為輔助進位位(AC),進行加減法運算產(chǎn)生進位或錯位,將自行設(shè)定為1,否則為0。
PSW.5:本位為用戶標(biāo)志位,用戶自行設(shè)定。
PSW.4與PSW.3:這兩個位為寄存器組選擇位(RS1、RS0),其功能如下表所示。
                            RS1               RS0               寄存器組
                            0                   0                          RB0
                            0                   1                          RB1
                            1                   0                          RB2
                            1                   1                          RB3
PSW.2:本位為溢出標(biāo)志位(OV),運行時,若發(fā)生溢出,為1,否則為0。
PSW.1:本位為保留位,沒有提供服務(wù)。
PSW.0:本位位奇偶位(P),8051采用偶同位,若ACC中奇數(shù)個1,則為1,偶數(shù)個1,則為0。
ACC
       ACC累加器又稱為A寄存器,其地址為E0H。
B
       B寄存器的地址為F0H,主要功能是配合A寄存器進行乘法或除法運算。進行乘法運算時,乘數(shù)放在B寄存器,而運算結(jié)果,高8位放在B寄存器;進行除法運算時,除數(shù)放在B寄存器,而運算的結(jié)果,余數(shù)放在B寄存器。若不進行乘/除法運算,B寄存器也可當(dāng)成一般寄存器使用。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:72519 發(fā)表于 2015-1-23 23:52 | 只看該作者
本帖最后由 liuda 于 2015-1-23 23:53 編輯

歡迎大家指正
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表