- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
暂存器和资料记忆体
第四章 暫存器與資料記憶體
4-1累加器
累加器(Accumulator)一般以A或Acc簡稱,是使用頻率最高的暫存器,許多算數運算、邏輯運算及資料搬移等工作,都需要藉由累加器來完成。
4-2工作暫存器
在8051中共有8個8位元(bits)工作暫存器,分別為R0、R1、R2、R3、R4、R5、R6及R7。這些工作暫存器可用以輔助累加器在運算上的不足,如儲存即將被處理的資料,或已完成的結果及迴圈數值控制等。
由於在撰寫較複雜程式,尤其是呼叫副程式時,為了避免工作暫存器之內容遭到破壞,在8051中提供四個暫存器庫,分別為RB0、RB1、RB及RB3,每一個暫存器庫均有個8位元工作暫存器,並可經由工作暫存器R0~R7來存取,但程式執行中只能選擇四個暫存器庫中的一個暫存器來使用,而其選擇方法則可透過設定RS1與RS0此兩位元來選擇,其設定如下:
RS1 RS0 暫存器庫 位址
0 0 RB0 00H~07H
0 1 RB1 08H~0FH
1 0 RB2 10H~17H
1 1 RB3 18H~1FH
當8051選擇使用RB0時,程式中存取R0~R7暫存器的值,實際上是在存取資料記憶體位址00H~07H的內容;而使用RB1時,程式中存取R0~R7暫存器的值,實際上是在存取資料記憶體位址08H~0FH的內容;而使用RB2時,程式中存取R0~R7暫存器的值,實際上是在存取資料記憶體位址10H~17H的內容;而使用RB3時,程式中存取R0~R7暫存器的值,實際上是在存取資料記憶體位址18H~1FH的內容。所以在複雜程式中,主程式與副程式可分配使用不同暫存器庫,即可避免暫存器的值被破壞。
4-3輸出/輸入埠暫存器
8051具有4個8位元(bits)的輸出輸入埠,經由這四個輸出輸入埠與外界進行資料交換因此在8051內部用個暫存器來記錄輸出/輸入接腳的狀態,分別為資料記憶體80H、90H、A0H、B0H等四個位元組(byte),並一輸出/輸入埠分別命名為P0、P1、P2及P3。當軟體程式對輸出輸入埠P0~3作輸出/輸入的動作,即是對80、90、AH及0等四個位元組作寫入/讀出的動作。
4-4資料記憶體
8051的記憶體可分為兩大部份,一是程式記憶體,即是使用者撰寫軟體程式的存放記憶體區塊;另一是資料記憶體,是用以存放程式執行結果所使用的記憶體。而在8051中暫存器與資料記憶體則是結合在一起,均存放在資料記憶體中,及結構如下圖所示:
FFH 直接定址記憶體 為特殊功能暫存器(Special Function Register,即SFR)所使用。80H 但不可作為一般資料記憶體使用,其內容如下圖所示。7FH 可直接或間接定址記憶體00H
FFH
直接定址記憶體
為特殊功能暫存器(Special Function Register,即SFR)所使用。
80H 但不可作為一般資料記憶體使用,其內容如下圖所示。
7FH
可直接或間接定址記憶體
00H
SFR的內部結構
F8FF
F8
FF
F0
B
F7
E8
EF
E0
ACC
E7
D8
DF
D0
PSW
D7
C8
CF
C0
C7
B8
IP
BF
B0
P3
B7
A8
IE
AF
A0
P2
A7
98
SCON
SBUF
9F
90
P1
97
88
TCON
TMOD
TLO
TL1
TH0
TH1
8F
80
P0
SP
DPL
DPH
PCON
87
此行記憶體位元組可做位元定址。
在SFR內部結構圖中可以發現累加器Acc、四個輸出/輸入暫存器P0、P1、P2及P3。其他暫存器的功能簡介如下:
B:用於乘、除法中所使用到之暫存器。
PSW(Program Status Word):程式狀態字元暫存器。
IP(Interrupt Priority Register):中斷優先暫存器。
IE(Interrupt Enable Register):中斷致能暫存器。
SCON(Serial Port Control Register):串列埠控制暫存器。
SBUF(Serial Port Buffer):串列埠資料緩衝器。
TCON(Timer/Counter Control Register):計時/計數控制暫存器。
TMOD(Timer/Counter Mode Control Register):計時/計數模式控制暫存器。
TL0:Timer 0 16位元計時/計數直之低8位元
TL
文档评论(0)