特殊功能寄存器
80C51單片機中的寄存器
特殊功能寄存器是80C51單片機中各功能部件對應的寄存器,用於存放相應功能部件的控制命令,狀態或數據。
它是80C51單片機中最具有特色的部分,現在幾乎所有80C51系列功能的增加和擴展都是通過增加特殊功能寄存器來達到目的的。英文縮寫為SFR,是Special Function Register(特殊功能寄存器)的縮寫。
對於80C51系列中的80C51,共定義了21個特殊功能寄存器。在80C52中,除了80C51的21個特殊功能寄存器,還增加了5個,共計26個。表中帶*號僅在52子系列單片機存在。
MCS-51單片機的特殊功能寄存器 | ||
符號 | 地址 | 功能介紹 |
B | F0H | B寄存器 |
ACC | E0H | 累加器 |
PSW | D0H | 程序狀態存儲器 |
TH2* | CDH | 定時器/計數器2(高8位) |
TL2* | CCH | 定時器/計數器2(低8位) |
RLDH* | CBH | 外部輸入(P1.1)計數器/自動再裝入模式時初值寄存器高八位 |
RLDL* | CAH | 外部輸入(P1.1)計數器/自動再裝入模式時初值寄存器低八位 |
T2CON* | C8H | T2定時器/計數器控制寄存器 |
IP | B8H | 中斷優先順序控制寄存器 |
P3 | B0H | P3口鎖存器 |
IE | A8H | 中斷允許控制寄存器 |
P2 | A0H | P2口鎖存器 |
SBUF | 99H | 串列口鎖存器 |
SCON | 98H | 串列口控制寄存器 |
P1 | 90H | P1口鎖存器 |
TH1 | 8DH | 定時器/計數器1(高8位) |
TH0 | 8CH | 定時器/計數器0(高8位) |
TL1 | 8BH | 定時器/計數器1(低8位) |
TL0 | 8AH | 定時器/計數器0(低8位) |
TMOD | 89H | T0、T1定時器/計數器方式控制寄存器 |
TCON | 88H | T0、T1定時器/計數器控制寄存器 |
DPH | 83H | 數據地址指針(高8位) |
DPL | 82H | 數據地址指針(低8位) |
SP | 81H | 堆棧指針 |
P0 | 80H | P0口鎖存器 |
PCON | 87H | 電源控制寄存器 |
SFR也是一種擴充數據類型,佔用一個內存單元,值域為0~255。利用它可以訪問51單片機內部的所有特殊功能寄存器。如用sfr P1 = 0x90這一句定P1為P1埠在片內的寄存器,在後面的語句中我們可以用P1 = 255(對P1埠的所有引腳置高電平)之類的語句來操作特殊功能寄存器。
SFR的地址空間為80H~FFH,但是僅有21個(80C51子系列)或26個(80C52子系列)位元組作為特殊功能寄存器離散分佈在這128個位元組範圍內,其餘位元組無定義,用戶也不能對這些單元進行讀/寫操作。