8051單片機常用的一些寄存器_第1頁
8051單片機常用的一些寄存器_第2頁
8051單片機常用的一些寄存器_第3頁
8051單片機常用的一些寄存器_第4頁
8051單片機常用的一些寄存器_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第第頁8051單片機常用的一些寄存器8051單片機常用的一些寄存器

1.程序計數(shù)器(PC)

程序計數(shù)器PC在物理上是獨立的,不屬于SFR之列。PC字長16位,是特地用來掌握指令行順次的寄存器。單片機上電或復位后,PC=0000H,制單片機從程序的零單元開始行程序。

2.累加器(ACC)

累器ACC是8051單片機內部最常用的寄存器,也可寫作A。常用于存放參算術或規(guī)律運算的作數(shù)及運算結果。

3.B寄存器

B寄存器在乘法和除法運算中須與累器A協(xié)作運用。MULAB指令把累器A和寄存器B中的8位無符號數(shù)相乘,所得的16位乘積的低字節(jié)存放在A中,高字節(jié)存放在B中。DIVAB指令用B除以A,整數(shù)商存放在A中,余數(shù)存放在B中。寄存器B還可以用作通用暫存寄存器。

4.程序狀態(tài)字(PSW)寄存器

SFRnameAddressPSW

D0H

bitname

B7CY

B6AC

B5F0

B4RS1

B3RS0

B2OV

B1F1

B0P

CY:標識位。進行法運算時,當最高位即B7位有進位,或行減法運算最高位有借位時,

CY為1;反之為0AC:進位幫助位。進行法運算時,當B3位有進位,或行減法運算B3有借位時,AC為1;

反之為0。設置幫助進位標識AC的目的是為了便于BCD碼法、減法運算的調整。F0:用戶標識位0。

RS1、RS0:工作寄存器組的選擇位。RS1、RS0:工作寄存器組的選擇位。如下表

OV:溢出標識位.F0:用戶標識位1。B1:保留位

P:奇偶標識位。該標識位始終表達累器ACC中1的個數(shù)的奇偶性。假如累器ACC中1的個數(shù)為奇數(shù),那么P置1;當累器ACC中的個數(shù)為偶數(shù)(包括0個)時,P位為0

5.堆棧指針(SP)

堆棧指是一個8位專用寄存器。它指示出堆棧頂部在內部RAM塊中的位置。系統(tǒng)復位后,SP初始化位07H,使得堆棧事實上由08H單元開始,考慮08H~1FH單元分別屬于工作寄存器組1~3,假設在程序設計中用到這些區(qū),那么最好把SP轉變?yōu)?0H或更大的為宜。STC12C5A60S2系列單片機的堆棧是向上生長的,即將數(shù)據(jù)壓入堆棧后,SP內容增大。

6.數(shù)據(jù)指針(DPTR)

數(shù)據(jù)指(DPTR)是一個16位專用寄存器,由DPL(低8位)和DPH(高8位)組成,地址是82H(DPL,低字節(jié))和83H(DPH,高字節(jié))。DPTR是傳統(tǒng)8051機中唯一可以徑直進行16位作的寄存器也可分別對DPL河DPH按字節(jié)進行作。STC12C5A60S2系列單片機有兩個16位的數(shù)據(jù)指DPRT0和DPTR1.這兩個數(shù)據(jù)指共用同一個地址空間,可通過設置DPS/AU*R1.0來選擇詳細被運用的數(shù)據(jù)指。

12C5A60PWM/AD/S2系列8051單片機雙數(shù)據(jù)指非常功能寄存器

DPSDPS

DPTRregistersselectbit.DPTR寄存器選擇位0:DPTR0isselectedDPTR0被選擇1:DPTR1isselectedDPTR1被選擇

此系列單片機有兩個16-bit數(shù)椐指,DPTR0,DPTR1.當DPS選擇位為0時,選擇DPTR0,當DPS選擇位為1時,選擇DPTR1.

AU*R1非常功能寄存器,位于A2H單元,其中的位不可用布爾指令快速訪問.但由于DPS位位于bit0,故對AU*R1寄存器用INC指令,DPS位便會反轉,由0變成1或由1變成0,即可實現(xiàn)雙數(shù)椐指的快速切換.

應用例如供參考:

;新增非常功能寄存器定義

AU*R1DATA0A2HMOVAU*R1,#0

MOVMOVMOMOVMOVMO

DPTR,#1FFHA,#55H@DPTR,ADPTR,#2FFHA,#0AAH@DPTR,A

;此時DPS為0,DPTR0有效;置DPTR0為1FFH;將1FFH單元置為55H;置DPTR0為2FFH;將2FFH單元置為0AAH

INCMOVMOINCMOINCAU*R1;此時DPS為1,DPTR1有效DPTR,#1FFH;置DPTR1為1FFHA,@DPTR;讀DPTR1數(shù)椐指指向的1FFH單元的內容,累器A變?yōu)?5H.AU*R1;此時DPS為0,DPTR0有效A,@DPTR;讀DPTR0數(shù)椐指指向的2FFH單元的內容,累器A變?yōu)?AAH.AU*R1;此時DPS為1,DPTR1有效MOA,INCAU*R1MO

A,@DPTR;讀DPTR1數(shù)椐指指向的1FFH單元的內容,累器A變?yōu)?5H.;此時DPS為0,DPTR0有效@DPTR;讀DPTR0數(shù)椐指指向的2FFH單元的內容,累器A變?yōu)?AAH.

8051單片機常用的一些寄存器

1.程序計數(shù)器(PC)

程序計數(shù)器PC在物理上是獨立的,不屬于SFR之列。PC字長16位,是特地用來掌握指令行順次的寄存器。單片機上電或復位后,PC=0000H,制單片機從程序的零單元開始行程序。

2.累加器(ACC)

累器ACC是8051單片機內部最常用的寄存器,也可寫作A。常用于存放參算術或規(guī)律運算的作數(shù)及運算結果。

3.B寄存器

B寄存器在乘法和除法運算中須與累器A協(xié)作運用。MULAB指令把累器A和寄存器B中的8位無符號數(shù)相乘,所得的16位乘積的低字節(jié)存放在A中,高字節(jié)存放在B中。DIVAB指令用B除以A,整數(shù)商存放在A中,余數(shù)存放在B中。寄存器B還可以用作通用暫存寄存器。

4.程序狀態(tài)字(PSW)寄存器

SFRnameAddressPSW

D0H

bitname

B7CY

B6AC

B5F0

B4RS1

B3RS0

B2OV

B1F1

B0P

CY:標識位。進行法運算時,當最高位即B7位有進位,或行減法運算最高位有借位時,

CY為1;反之為0AC:進位幫助位。進行法運算時,當B3位有進位,或行減法運算B3有借位時,AC為1;

反之為0。設置幫助進位標識AC的目的是為了便于BCD碼法、減法運算的調整。F0:用戶標識位0。

RS1、RS0:工作寄存器組的選擇位。RS1、RS0:工作寄存器組的選擇位。如下

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論