在51單片機內部有一個CPU用來運算、控制,有四個並行I/O口,分別是P0、P1、P2、P3,有ROM,用來存放程序,有RAM,用來存放中間結果,此外還有定時/計數器,串行I/O口,中斷系統,以及一個內部的時鐘電路。在單片機中有一些獨立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)。這樣的特殊功能寄存器51單片機共有21個並且都是可尋址的列表如下:
符號
地址
功能介紹
B
F0H
B寄存器
ACC
E0H
累加器
PSW
D0H
程序狀態字
IP
B8H
中斷優先級控制寄存器
P3
B0H
P3口鎖存器
IE
A8H
中斷允許控制寄存器
P2
A0H
P2口鎖存器
SBUF
99H
串行口鎖存器
SCON
98H
串行口控制寄存器
P1
90H
P1口鎖存器
TH1
8DH
定時器/計數器1(高8位)
TH0
8CH
定時器/計數器1(低8位)
TL1
8BH
定時器/計數器0(高8位)
TL0
8AH
定時器/計數器0(低8位)
TMOD
89H
定時器/計數器方式控制寄存器
TCON
88H
定時器/計數器控制寄存器
DPH
83H
數據地址指針(高8位)
DPL
82H
數據地址指針(低8位)
SP
81H
堆棧指針
P0
80H
P0口鎖存器
PCON
87H
電源控制寄存器
分別說明如下:
1、ACC---是累加器,通常用A表示。
這是個什麼東西,可不能從名字上理解,它是一個寄存器,而不是一個做加法的東西,為什麼給它這麼一個名字呢?或許是因為在運算器做運算時其中一個數一定是在ACC中的緣故吧。它的名字特殊,身份也特殊,稍後在中篇中我們將學到指令,可以發現,所有的運算類指令都離不開它。自身帶有全零標誌Z,若A=0則Z=1;若A≠0則z=0。該標誌常用作程序分枝轉移的判斷條件。
2、B--一個寄存器。
在做乘、除法時放乘數或除數,不做乘除法時,隨你怎麼用。
3、PSW程序狀態字。這是一個很重要的東西,裡面放了CPU工作時的很多狀態,藉此,我們可以了解CPU的當前狀態,並作出相應的處理。它的各位功能請看下表:
D7
D6
D5
D4
D3
D2
D1
D0
CY
AC
F0
RS1
RS0
OV
P
下面我們逐一介紹各位的用途
CY:進位標誌。8051中的運算器是一種8位的運算器,我們知道,8位運算器只能表示到0-255,如果做加法的話,兩數相加可能會超過255,這樣最高位就會丟失,造成運算的錯誤,怎麼辦?最高位就進到這裡來。這樣就沒事了。有進、借位,CY=1;無進、借位,CY=0
51單片機相關文章:51單片機教程
塵埃粒子計數器相關文章:塵埃粒子計數器原理 上拉電阻相關文章:上拉電阻原理