1樓:匿名使用者
以下是個示範,依次切換到工作區0到3
org 0000h
sjmp main
org 0030h
main:
mov sp,#5fh ;將sp設定到60h以後的ram區mov a,#0
lcall setrn
lcall delay
mov a,#1
lcall setrn
lcall delay
mov a,#2
lcall setrn
lcall delay
mov a,#3
lcall setrn
lcall delay
sjmp $
setrn:
jnz setrn1 ;a=0工作區0clr rs0
clr rs1
retsetrn1:
jnz setrn2 ;a=1工作區1setb rs0
clr rs1
retsetrn2:
jnz setrn3 ;a=2工作區2clr rs0
setb rs1
retsetrn3:
jnz setrn1 ;a=3工作區3setb rs0
setb rs1
retdelay:
mov r0,#10
delay1:
mov r1,#100
djnz r1,$
djnz r0,delay1ret
2樓:藏在水中的人
利用 psw :程式狀態字暫存器的 rs1位與rs0位 選擇暫存器區 或者直接定址
sp的初值要跳過 暫存器使用的地址
位4-3: rs1-rs0:暫存器區選擇。
rs1 rs0 暫存器區 地址
0 0 0 0x00-0x07
0 1 1 0x08-0x0f
1 0 2 0x10-0x17
1 1 3 0x18-0x1f
3樓:做而論道
如果程式中要要到三組工作暫存器rn,如何切換?sp的初值是否要修改?
是要修改。
若要,如何修改?
mov sp, #nn ;nn的範圍:18h~7fh (51系列微控制器),注意留出堆疊空間。
關於微控制器及就業問題,關於微控制器及就業問題
重要的不是哪個型號的微控制器,8位微控制器和32位微控制器是2大陣營,各有應用領域,16位作為雞肋不被看好,8位用於簡單控制,32位多用於帶作業系統的複雜控制,各有各的的優勢,不過隨著技術的升級,32位微控制器 跟8位一樣時8位就算淘汰了,所以32位是個趨勢。微控制器相關就業也看硬體還是軟體,但都是...
微控制器高阻態問題,關於微控制器i o口的高阻態問題
呵呵,這個問題真的有點意思啊,還真沒碰到過能輸出高阻的微控制器呢,呵呵。估計樓主是搞錯意思,gps的高頻訊號是會對系統造成干擾的 天線 或者 布板的走線 地線 等等 這邊設定成高阻的意思估計是 原來是 輸出的io口 在輸出完畢後為了保證這個io不產生多餘的 高頻干擾 將它再設定成 輸入 並選中內部上...
關於微控制器試題程式設計序 16位(兩位元組)加法
in r2r3,r4r5 out r2r3r4 add16 mov a,r3 add a r5 mov b,a mov a,r2 addc a,r4 mov r3,a clr a addc a,0 mov r2,a mov r4,bret 如何編寫微控制器中4位元組十六進位制數的加法程式 你是彙編還...