暂存器与资料记忆体

暂存器与资料记忆体

ID:15139343

大小:132.50 KB

页数:5页

时间:2018-08-01

暂存器与资料记忆体_第1页
暂存器与资料记忆体_第2页
暂存器与资料记忆体_第3页
暂存器与资料记忆体_第4页
暂存器与资料记忆体_第5页
资源描述:

《暂存器与资料记忆体》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第四章暫存器與資料記憶體4-1累加器累加器(Accumulator)一般以A或Acc簡稱,是使用頻率最高的暫存器,許多算數運算、邏輯運算及資料搬移等工作,都需要藉由累加器來完成。4-2工作暫存器在8051中共有8個8位元(bits)工作暫存器,分別為R0、R1、R2、R3、R4、R5、R6及R7。這些工作暫存器可用以輔助累加器在運算上的不足,如儲存即將被處理的資料,或已完成的結果及迴圈數值控制等。由於在撰寫較複雜程式,尤其是呼叫副程式時,為了避免工作暫存器之內容遭到破壞,在8051中提供四個暫存器庫,分別為RB0、RB1、RB及RB3,每一

2、個暫存器庫均有個8位元工作暫存器,並可經由工作暫存器R0~R7來存取,但程式執行中只能選擇四個暫存器庫中的一個暫存器來使用,而其選擇方法則可透過設定RS1與RS0此兩位元來選擇,其設定如下:RS1RS0暫存器庫位址00RB000H~07H01RB108H~0FH10RB210H~17H11RB318H~1FH當8051選擇使用RB0時,程式中存取R0~R7暫存器的值,實際上是在存取資料記憶體位址00H~07H的內容;而使用RB1時,程式中存取R0~R7暫存器的值,實際上是在存取資料記憶體位址08H~0FH的內容;而使用RB2時,程式中存取R

3、0~R7暫存器的值,實際上是在存取資料記憶體位址10H~17H的內容;而使用RB3時,程式中存取R0~R7暫存器的值,實際上是在存取資料記憶體位址18H~1FH的內容。所以在複雜程式中,主程式與副程式可分配使用不同暫存器庫,即可避免暫存器的值被破壞。4-3輸出/輸入埠暫存器8051具有4個8位元(bits)的輸出輸入埠,經由這四個輸出輸入埠與外界進行資料交換因此在8051內部用個暫存器來記錄輸出/輸入接腳的狀態,分別為資料記憶體80H、90H、A0H、B0H等四個位元組(byte),並一輸出/輸入埠分別命名為P0、P1、P2及P3。當軟體程

4、式對輸出輸入埠P0~3作輸出/輸入的動作,即是對80、90、AH及0等四個位元組作寫入/讀出的動作。4-4資料記憶體8051的記憶體可分為兩大部份,一是程式記憶體,即是使用者撰寫軟體程式的存放記憶體區塊;另一是資料記憶體,是用以存放程式執行結果所使用的記憶體。而在8051中暫存器與資料記憶體則是結合在一起,均存放在資料記憶體中,及結構如下圖所示:FFH直接定址記憶體為特殊功能暫存器(SpecialFunctionRegister,即SFR)所使用。80H但不可作為一般資料記憶體使用,其內容如下圖所示。7FH可直接或間接定址記憶體00HSFR

5、的內部結構F8FFF0BF7E8EFE0ACCE7D8DFD0PSWD7C8CFC0C7B8IPBFB0P3B7A8IEAFA0P2A798SCONSBUF9F90P19788TCONTMODTLOTL1TH0TH18F80P0SPDPLDPHPCON87此行記憶體位元組可做位元定址。在SFR內部結構圖中可以發現累加器Acc、四個輸出/輸入暫存器P0、P1、P2及P3。其他暫存器的功能簡介如下:B:用於乘、除法中所使用到之暫存器。PSW(ProgramStatusWord):程式狀態字元暫存器。IP(InterruptPriorityReg

6、ister):中斷優先暫存器。IE(InterruptEnableRegister):中斷致能暫存器。SCON(SerialPortControlRegister):串列埠控制暫存器。SBUF(SerialPortBuffer):串列埠資料緩衝器。TCON(Timer/CounterControlRegister):計時/計數控制暫存器。TMOD(Timer/CounterModeControlRegister):計時/計數模式控制暫存器。TL0:Timer016位元計時/計數直之低8位元TL1:Timer116位元計時/計數直之低8位元T

7、H0:Timer016位元計時/計數直之高8位元TH1:Timer116位元計時/計數直之高8位元SP(StackPointer):堆疊指標暫存器。DPL:DPTR(DataPointer)資料指標暫存器16位元值之低8位元值DPH:DPTR(DataPointer)資料指標暫存器16位元值之高8位元值PCON(PowerControlRegister):電源控制暫存器。SFR內各暫存器的值在8051重置(Reset)後,會自動設如下:暫存器二進位表示值*Acc00000000*B00000000*PSW00000000SP00000111

8、DPTRDPHDPL0000000000000000*P011111111*P111111111*P211111111*P311111111IPXXXX0000IE0XX0000

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。