新聞中心

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

51單片機(jī)的特殊功能寄存器SFR

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

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

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

關(guān)鍵詞:

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

符號(hào)

地址

功能介紹

B

F0H

B寄存器

ACC  

E0H

累加器

PSW  

D0H

程序狀態(tài)字

IP  

B8H

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

P3  

B0H

P3口鎖存器

IE  

A8H

中斷允許控制寄存器

P2  

A0H

P2口鎖存器

SBUF

99H

串行口鎖存器

SCON

98H

串行口控制寄存器

P1  

90H

P1口鎖存器

TH1  

8DH

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

TH0

8CH

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

TL1

8BH

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

TL0  

8AH

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

TMOD

89H

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

TCON

88H

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

DPH  

83H

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

DPL

82H

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

SP

81H

堆棧指針

P0

80H

P0口鎖存器

PCON

87H

電源控制寄存器

分別說明如下:

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

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

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

D7

D6

D5

D4

D3

D2

D1

D0

CY  

AC

F0

RS1

RS0

OV

 

P

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

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

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

5、P0、P1、P2、P3------這個(gè)我們已經(jīng)知道,是四個(gè)并行輸入/輸出口的寄存器。它里面的內(nèi)容對(duì)應(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時(shí),所有中斷禁止(即不產(chǎn)生中斷)
EA=1時(shí),各中斷的產(chǎn)生由個(gè)別的允許位決定
- (IE.6):保留
ET2(IE.5):定時(shí)2溢出中斷充許(8052用)
ES (IE.4):串行口中斷充許(ES=1充許,ES=0禁止)
ET1(IE.3):定時(shí)1中斷充許
EX1(IE.2):外中斷INT1中斷充許
ET0(IE.1):定時(shí)器0中斷充許
EX0(IE.0):外部中斷INT0的中斷允許

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

B7

B6

B5

B4

B3

B2

B1

B0

- 

-

PT2

PS

PT1

PX1

PT0

PX0

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

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

B7

B6

B5

B4

B3

B2

B1

B0

GATE  

C/T

M1

M0

GATE

C/T

M1

M

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

M1

M0

工作模式

0

0

13位計(jì)數(shù)/計(jì)時(shí)器

0

1

16位計(jì)數(shù)/計(jì)時(shí)器

1

0

8位自動(dòng)加載計(jì)數(shù)/計(jì)時(shí)器

1

1

定時(shí)器1停止工作,定時(shí)器0分為兩個(gè)獨(dú)立的8位定時(shí)器TH0及TL0

9、TCON-----定時(shí)器控制寄存器

按位尋址,地址
位88H B7

B6

B5

B4

B3

B2

B1

B0

TF1 

TR1

TF0

TR0

IE1

IT1

IE0

IT0

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

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

可位尋址的SFR的分布:

符號(hào)

地址

功能介紹

B

F0H

B寄存器

ACC  

E0H

累加器

PSW  

D0H

程序狀態(tài)字

IP  

B8H

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

P3  

B0H

P3口鎖存器

IE  

A8H

中斷允許控制寄存器

P2  

A0H

P2口鎖存器

SBUF

99H

串行口鎖存器

SCON

98H

串行口控制寄存器

P1  

90H

P1口鎖存器

TH1  

8DH

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

TH0

8CH

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

TL1

8BH

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

TL0  

8AH

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

TMOD

89H

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

TCON

88H

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

DPH  

83H

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

DPL

82H

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

SP

81H

堆棧指針

P0

80H

P0口鎖存器

PCON

87H

電源控制寄存器




評(píng)論


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

關(guān)閉