新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機的特殊功能寄存器SFR

51單片機的特殊功能寄存器SFR

作者: 時間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
51單片機特殊功能寄存器SFR

內(nèi)容提要:21個特殊功能寄存器不連續(xù)地分布在128個字節(jié)的SFR存儲空間中,地址空間為80H-FFH,在這片SFR空間中,包含有128個位地址空間,地址也是80H-FFH,但只有83個有效位地址,可對11個特殊功能寄存器的某些位作位尋址操作.

本文引用地址:http://m.butianyuan.cn/article/201611/318426.htm

關(guān)鍵詞:

在51單片機內(nèi)部有一個CPU用來運算、控制,有四個并行I/O口,分別是P0、P1、P2、P3,有ROM,用來存放程序,有RAM,用來存放中間結(jié)果,此外還有定時/計數(shù)器,串行I/O口,中斷系統(tǒng),以及一個內(nèi)部的時鐘電路。在單片機中有一些獨立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)。這樣的特殊功能寄存器51單片機共有21個并且都是可尋址的列表如下:

符號

地址

功能介紹

B

F0H

B寄存器

ACC  

E0H

累加器

PSW  

D0H

程序狀態(tài)字

IP  

B8H

中斷優(yōu)先級控制寄存器

P3  

B0H

P3口鎖存器

IE  

A8H

中斷允許控制寄存器

P2  

A0H

P2口鎖存器

SBUF

99H

串行口鎖存器

SCON

98H

串行口控制寄存器

P1  

90H

P1口鎖存器

TH1  

8DH

定時器/計數(shù)器1(高8位)

TH0

8CH

定時器/計數(shù)器1(低8位)

TL1

8BH

定時器/計數(shù)器0(高8位)

TL0  

8AH

定時器/計數(shù)器0(低8位)

TMOD

89H

定時器/計數(shù)器方式控制寄存器

TCON

88H

定時器/計數(shù)器控制寄存器

DPH  

83H

數(shù)據(jù)地址指針(高8位)

DPL

82H

數(shù)據(jù)地址指針(低8位)

SP

81H

堆棧指針

P0

80H

P0口鎖存器

PCON

87H

電源控制寄存器

分別說明如下:

1、ACC---是累加器,通常用A表示。
這是個什么東西,可不能從名字上理解,它是一個寄存器,而不是一個做加法的東西,為什么給它這么一個名字呢?或許是因為在運算器做運算時其中一個數(shù)一定是在ACC中的緣故吧。它的名字特殊,身份也特殊,稍后在中篇中我們將學(xué)到指令,可以發(fā)現(xiàn),所有的運算類指令都離不開它。自身帶有全零標(biāo)志Z,若A=0則Z=1;若A≠0則z=0。該標(biāo)志常用作程序分枝轉(zhuǎn)移的判斷條件。

2、B--一個寄存器。
在做乘、除法時放乘數(shù)或除數(shù),不做乘除法時,隨你怎么用。

3、PSW-----程序狀態(tài)字。這是一個很重要的東西,里面放了CPU工作時的很多狀態(tài),借此,我們可以了解CPU的當(dāng)前狀態(tài),并作出相應(yīng)的處理。它的各位功能請看下表:

D7

D6

D5

D4

D3

D2

D1

D0

CY  

AC

F0

RS1

RS0

OV

 

P

下面我們逐一介紹各位的用途
CY:進位標(biāo)志。8051中的運算器是一種8位的運算器,我們知道,8位運算器只能表示到0-255,如果做加法的話,兩數(shù)相加可能會超過255,這樣最高位就會丟失,造成運算的錯誤,怎么辦?最高位就進到這里來。這樣就沒事了。有進、借位,CY=1;無進、借位,CY=0
例:78H+97H(01111000+10010111)
AC:輔助進、借位(高半字節(jié)與低半字節(jié)間的進、借位)。
例:57H+3AH(01010111+00111010)

F0:用戶標(biāo)志位,由用戶(編程人員)決定什么時候用,什么時候不用。
RS1、RS0:工作寄存器組選擇位。這個我們已知了。
0V:溢出標(biāo)志位。運算結(jié)果按補碼運算理解。有溢出,OV=1;無溢出,OV=0。什么是溢出我們后面的章節(jié)會講到。
P:奇偶校驗位:它用來表示ALU運算結(jié)果中二進制數(shù)位“1”的個數(shù)的奇偶性。若為奇數(shù),則P=1,否則為0。運算結(jié)果有奇數(shù)個1,P=1;運算結(jié)果有偶數(shù)個1,P=0。
例:某運算結(jié)果是78H(01111000),顯然1的個數(shù)為偶數(shù),所以P=0。

4、DPTR(DPH、DPL)--------數(shù)據(jù)指針,可以用它來訪問外部數(shù)據(jù)存儲器中的任一單元,如果不用,也可以作為通用寄存器來用,由我們自已決定如何使用。分成DPL(低8位)和DPH(高8位)兩個寄存器。用來存放16位地址值,以便用間接尋址或變址尋址的方式對片外數(shù)據(jù)RAM或程序存儲器作64K字節(jié)范圍內(nèi)的數(shù)據(jù)操作。

5、P0、P1、P2、P3------這個我們已經(jīng)知道,是四個并行輸入/輸出口的寄存器。它里面的內(nèi)容對應(yīng)著管腳的輸出。

6、IE-----中斷充許寄存器
按位尋址,地址:A8H

B7

B6

B5

B4

B3

B2

B1

B0

EA  

-

ET2

ES

ET1

EX1

ET0

EX0

EA (IE.7):EA=0時,所有中斷禁止(即不產(chǎn)生中斷)
EA=1時,各中斷的產(chǎn)生由個別的允許位決定
- (IE.6):保留
ET2(IE.5):定時2溢出中斷充許(8052用)
ES (IE.4):串行口中斷充許(ES=1充許,ES=0禁止)
ET1(IE.3):定時1中斷充許
EX1(IE.2):外中斷INT1中斷充許
ET0(IE.1):定時器0中斷充許
EX0(IE.0):外部中斷INT0的中斷允許

7、IP-----中斷優(yōu)先級控制寄存器
按位尋址,地址位B8H

B7

B6

B5

B4

B3

B2

B1

B0

- 

-

PT2

PS

PT1

PX1

PT0

PX0

- (IP.7):保留
- (IP.6):保留
PT2(IP.5):定時2中斷優(yōu)先(8052用)
PS (IP.4):串行口中斷優(yōu)先
PT1(IP.3):定時1中斷優(yōu)先
PX1(IP.2):外中斷INT1中斷優(yōu)先
PT0(IP.1):定時器0中斷優(yōu)先
PX0(IP.0):外部中斷INT0的中斷優(yōu)先

8、TMOD-----定時器控制寄存器
不按位尋址,地址89H

B7

B6

B5

B4

B3

B2

B1

B0

GATE  

C/T

M1

M0

GATE

C/T

M1

M

GATE :定時操作開關(guān)控制位,當(dāng)GATE=1時,INT0或INT1引腳為高電平,同時TCON中的TR0或TR1控制位為1時,計時/計數(shù)器0或1才開始工作。若GATE=0,則只要將TR0或TR1控制位設(shè)為1,計時/計數(shù)器0或1就開始工作。
C/T :定時器或計數(shù)器功能的選擇位。C/T=1為計數(shù)器,通過外部引腳T0或T1輸入計數(shù)脈沖。C/T=0時為定時器,由內(nèi)部系統(tǒng)時鐘提供計時工作脈沖。
M1 :模式選擇位高位
M0 :模式選擇位低位

M1

M0

工作模式

0

0

13位計數(shù)/計時器

0

1

16位計數(shù)/計時器

1

0

8位自動加載計數(shù)/計時器

1

1

定時器1停止工作,定時器0分為兩個獨立的8位定時器TH0及TL0

9、TCON-----定時器控制寄存器

按位尋址,地址
位88H B7

B6

B5

B4

B3

B2

B1

B0

TF1 

TR1

TF0

TR0

IE1

IT1

IE0

IT0

803l單片機共有21個字節(jié)的特殊功能寄存器(SFR),起著專用寄存器的作用,用來設(shè)置片內(nèi)電路的運行方式,記錄電路的運行狀態(tài),并表明有關(guān)標(biāo)志等。此外,特殊功能寄存器中,還有把并行和串行I/O端口映射過來的寄存器,對這些寄存器的讀寫,可實現(xiàn)從相應(yīng)I/O端口的輸入、輸出操作。

21個特殊功能寄存器不連續(xù)地分布在128個字節(jié)的SFR存儲空間中,地址空間為80H-FFH,在這片SFR空間中,包含有128個位地址空間,地址也是80H-FFH,但只有83個有效位地址,可對11個特殊功能寄存器的某些位作位尋址操作。

可位尋址的SFR的分布:

符號

地址

功能介紹

B

F0H

B寄存器

ACC  

E0H

累加器

PSW  

D0H

程序狀態(tài)字

IP  

B8H

中斷優(yōu)先級控制寄存器

P3  

B0H

P3口鎖存器

IE  

A8H

中斷允許控制寄存器

P2  

A0H

P2口鎖存器

SBUF

99H

串行口鎖存器

SCON

98H

串行口控制寄存器

P1  

90H

P1口鎖存器

TH1  

8DH

定時器/計數(shù)器1(高8位)

TH0

8CH

定時器/計數(shù)器1(低8位)

TL1

8BH

定時器/計數(shù)器0(高8位)

TL0  

8AH

定時器/計數(shù)器0(低8位)

TMOD

89H

定時器/計數(shù)器方式控制寄存器

TCON

88H

定時器/計數(shù)器控制寄存器

DPH  

83H

數(shù)據(jù)地址指針(高8位)

DPL

82H

數(shù)據(jù)地址指針(低8位)

SP

81H

堆棧指針

P0

80H

P0口鎖存器

PCON

87H

電源控制寄存器




評論


技術(shù)專區(qū)

關(guān)閉