1樓:匿名使用者
一般情況下,都是用的是第一個暫存器組,即r0~r7對應00h~07h,當使用中斷的時候,為了避免使用工作暫存器造成的相互影響,常常使用其他工作暫存器組。比如:
void t0isr() interrupt 1 using 2 就是使用10h~17h這一組工作暫存器。
2樓:mist_紫櫻陪林皎看星星
很多數值運算的時候都需要用到這個暫存器組,非常頻繁。
比如延時電路,配合djnz 這類的指令,後面基本上都是暫存器。
3樓:天邊之約
在不同的子程式裡使用,比較方便;
子程式中使用工作暫存器,通用性比較強;
尤其是對做比較複雜的資料運算處理。
clr 0d3h ;主程式,置暫存器0區
clr 0d4h
mov 41h,#01h ;一個43h=41h+42h的簡單例子
mov 42h,#03h
lcall ad01
mov a,43h..
...ad01:
push acc
push psw
setb 0d3h ;置暫存器1區clr 0d4h
mov r1,41h
mov r2,42h
mov a,r1
clr c
add a,r2
mov 43h,a
pop psw
pop accret
4樓:七彩鏡
工作暫存器組除了r0和r1可用於片內記憶體和頁面記憶體的間址訪問外,在51彙編中是通用的,並無特殊規定它們的用途。但工作暫存器組存取速度比記憶體快,在快速運算中應用會比較方便。通常的用法是,0組暫存器(psw中rs0/rs1 = 0),用於程式。
其它三組暫存器可用於中斷等特殊用途,那樣可以減少中斷的壓棧等現場保護的開銷。
而在c51中,工作暫存器組用於引數傳遞,指標和區域性變數儲存,是通用的。通常不宜將它們定義成全域性變數,因為c已將它們看成通用的,你不知道程式執行時什麼時候會改變它,不恰當的使用容易是程式崩潰。
51微控制器中的4個工作暫存器組,什麼時候用到?有多箇中斷的時候嗎
5樓:泉晶燕雋桂
一般情況下,都是用的是第一個暫存器組,即r0~r7對應00h~07h,當使用中斷的時候,為了避免使用工作暫存器造成的相互影響,常常使用其他工作暫存器組。比如:
void
t0isr()
interrupt
1using
2就是使用10h~17h這一組工作暫存器。
mcs-51微控制器有幾個工作暫存器?如何選擇?
6樓:愛芯工作室
8051有4組工作暫存器,每組有8個位元組(r0-r7),選擇是由psw的rs1 rs0位來定的
如果你是c的話,不用去理會,系統自動分配
如果是彙編,預設00組就可以了,不由去分配它,忘了切換回來會很容易出現問題
希望能幫到你
7樓:獨小林
4個 通用工作暫存器組
由rs0 rs1的取值確定
每個的工作暫存器組由r0~r7 組成
8樓:匿名使用者
工作暫存器有4組,每組都是8個工作暫存器r0~r7,通過psw中的rs1、rs0兩位來選擇使用哪一組,如果不選,預設是選擇第0組。
rs1rs0組合為00時,選中第0組工作暫存器,r0~r7地址為00h~07h;
rs1rs0組合為01時,選中第1組工作暫存器,r0~r7地址為08h~0fh;
rs1rs0組合為10時,選中第2組工作暫存器,r0~r7地址為10h~17h;
rs1rs0組合為11時,選中第3組工作暫存器,r0~r7地址為18h~1fh。
9樓:都市黑豹
要看具體的牌子吧,和你要使用的暫存器
MCS 51微控制器設定4組工作暫存器,開機復位後,CPU使用
做而論道 51微控制器共有4組工作暫存器,位址範圍 00h 1fh。復位後,cpu使用第0組。位址為 00 01 02 03 04 05 06 07。改變psw中的兩個位 rs1和rs0,可以改變當前工作暫存器。如執行 setb rs1 setb rs0 兩條指令之後,將使用第3組,r0 r7 的位...
51微控制器狀態字暫存器如何使用,89C51的程式狀態字暫存器PSW是乙個8位的專用暫存器,用於存程式執行的各種狀態資訊 對還是錯啊?
51微控制器狀態暫存器psw 包含 進製cy 輔助進製ac 保留f0 暫存器組選擇rs1 rs0 溢位標誌ov 保留p1 奇偶校驗p 這些 在程式 執行時 會影響 其中某些 位,一般 在 進入 中斷程式時 需要保護 狀態暫存器psw 與 累加器a 的 原來狀態 在 退出 中斷程式 時 恢復 狀態暫存...
與中斷有關特殊功能暫存器有哪些,51微控制器有哪幾個特殊功能暫存器
eie1 擴充套件中斷允許1 eie2 擴充套件中斷允許2 eip1 擴充套件中斷優先順序1 eip2 擴充套件中斷優先順序2 ie 中斷允許暫存器 ip 中斷優先順序控制暫存器 外部中斷和暫存器沒有什麼關係吧,問題太泛泛了 isr 中斷服務程式 中斷服務例程 與at89s51微控制器中斷系統的控制...