51單片機寄存器功能一覽表
這是一個(gè)很重要的東西,里面放了CPU工作時(shí)的很多狀態(tài),借此,我們可以了解CPU的當前狀態(tài),并作出相應的處理。它的各位功能請看下表:
PSW 程序狀態(tài)字 | |||||||
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
CY | AC | F0 | RS1 | RS0 | OV |
| P |
下面我們逐一介紹各位的用途
CY:進(jìn)位標志。
8051中的運算器是一種8位的運算器,我們知道,8位運算器只能表示到0-255,如果做加法的話(huà),兩數相加可能會(huì )超過(guò)255,這樣最高位就會(huì )丟失,造成運算的錯誤,怎么辦?最高位就進(jìn)到這里來(lái)。這樣就沒(méi)事了。有進(jìn)、借位,CY=1;無(wú)進(jìn)、借位,CY=0
例:78H+97H(01111000+10010111)
AC:輔助進(jìn)、借位(高半字節與低半字節間的進(jìn)、借位)。
例:57H+3AH(01010111+00111010)
F0:用戶(hù)標志位
由用戶(hù)(編程人員)決定什么時(shí)候用,什么時(shí)候不用。
RS1、RS0:工作寄存器組選擇位
通過(guò)修改PSW中的RS1、RS0兩位的狀態(tài),就能任選一個(gè)工作寄存器區。這個(gè)特點(diǎn)提高了MCS-51現場(chǎng)保護和現場(chǎng)恢復的速度。對于提高CPU的工作效率和響應中斷的速度是很有利的。若在一個(gè)實(shí)際的應用系統中,不需要四組工作寄存器,那么這個(gè)區域中多余單元可以作為一般的數據緩沖器使用。
工作寄存器區選擇 | ||
RS1 | RS0 | 當前使用的工作寄存器區R0~R7 |
0 | 0 | 0區(00~07H) |
0 | 1 | 1區(08~0Fh) |
1 | 0 | 2區(10~17h) |
1 | 1 | 3區(18~1Fh) |
0V:溢出標志位
運算結果按補碼運算理解。有溢出,OV=1;無(wú)溢出,OV=0。什么是溢出我們后面的章節會(huì )講到。
P:奇偶校驗位
它用來(lái)表示ALU運算結果中二進(jìn)制數位“1”的個(gè)數的奇偶性。若為奇數,則P=1,否則為0。運算結果有奇數個(gè)1,P=1;運算結果有偶數個(gè)1,P=0。
例:某運算結果是78H(01111000),顯然1的個(gè)數為偶數,所以P=0。
4、DPTR(DPH、DPL)--------數據指針
可以用它來(lái)訪(fǎng)問(wèn)外部數據存儲器中的任一單元,如果不用,也可以作為通用寄存器來(lái)用,由我們自已決定如何使用。分成DPL(低8位)和DPH(高8位)兩個(gè)寄存器。用來(lái)存放16位地址值,以便用間接尋址或變址尋址的方式對片外數據RAM或程序存儲器作64K字節范圍內的數據操作。
5、P0、P1、P2、P3--------輸入輸出口(I/O)寄存器
這個(gè)我們已經(jīng)知道,是四個(gè)并行輸入/輸出口(I/O)的寄存器。它里面的內容對應著(zhù)管腳的輸出。
6、IE-----中斷充許寄存器
可按位尋址,地址:A8H
IE 中斷允許寄存器 | |||||||
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)先級控制寄存器
可按位尋址,地址位B8H
51單片機相關(guān)文章:51單片機教程
塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理 晶振相關(guān)文章:晶振原理
評論