A. 單片機工作寄存器的R0~R7的地址分別是什麼
51單片機的工作寄存器一共有32個,為ram中的00h--1fh單元,分為4組,分別是
0組:00h--07h單元、
1組:08h--0fh單元、
2組:10h--17h單元、
3組:18h--1fh單元,
每組的8個單元分別對應r0--r7。這四組中只有一組是當前工作寄存器,程序中使用的就是當前工作寄存器中的8個單元。當前工作寄存器是由程序狀態字psw中的第三第四位決定的。在psw中,的psw4、psw3兩位組合的00、01、10、11四個狀態,分別指定工作寄存器的0組、1組、2組、3組,只需要用指令改變psw的這兩位狀態,就可以改變當前工作寄存器組。這樣,實際上就是有32個工作寄存器可以選用。
B. 單片機編程中R6,R7,R0,A是什麼
樓上誤解了,沒看清題意,樓上說的那幾個是PIC單片機的,樓主說的是51單片機的
R6R7R0是51單片機中的工作寄存器組中的成員用於存放數據,這樣的工作寄存器組共有四組,由程序狀態字PSW中的RS0、RS1控制,
A是累加器,幾乎是一個萬能的數據寄存器,單片機一大部分的運算需要通過它來完成,
C. 51單片機的工作寄存器R0~R7位於內部RAM什麼位置其位置是如何設定的
51單片機的工作寄存器一共有32個,為RAM中的00H--1FH單元,分為4組,分別是
0組:00H--07H單元、
1組:08H--0FH單元、
2組:10H--17H單元、
3組:18H--1FH單元,
每組的8個單元分別對應R0--R7。這四組中只有一組是當前工作寄存器,程序中使用的就是當前工作寄存器中的8個單元。當前工作寄存器是由程序狀態字PSW中的第三第四位決定的。在PSW中,的PSW4、PSW3兩位組合的00、01、10、11四個狀態,分別指定工作寄存器的0組、1組、2組、3組,只需要用指令改變PSW的這兩位狀態,就可以改變當前工作寄存器組。這樣,實際上就是有32個工作寄存器可以選用。
D. 51單片機R0-R7怎樣壓棧
首先你得知道R0~R7並不對應絕對地址,而PUSH只能對絕對地址壓棧的。
對於自己編寫的匯編程序,你得清楚當前PSW.RS位域選中的是哪一組RegBank,並將相應地址的寄存器壓棧。例如如果選中了第2組寄存器(10b),那麼應當壓棧的是10h~17h單元。
如果是編譯器寫的偽代碼,可以直接書寫成 PUSH Rn 形式,編譯器自動根據當前的RS位域來換算成對應的絕對地址。
網路嫌我字數不夠
E. MCS-51單片機指令MOV A R7和MOV A @RO的源操作數的定址方式
MOV
A
R7
是把寄存器R7的內容傳送到累加器A中,MOV
A
@RO是間址RAM的數據傳送到累加器A中。
F. MCS—51單片機如何實現工作寄存器R0-R7的選擇
通過程序狀態字中的RS0、RS1即可選中特定的寄存器組,實現寄存器組的切換。