微控制器 內部RAM的60H 6FH單元,存有單位元組無符號數,程式設計找出其中最大的數後存入80H單元

時間 2021-09-06 09:20:34

1樓:尚雲社

;51微控制器

mov r0,#60h

mov r1,#80h ;最大數在地址80hmov @r1,#00h

loop:

mov a,@r1

mov b,@r0

cjne a,b,loop1

loop1:

jnc loop2

mov @r1,b

loop2:

inc r0

cjne r0,#70h,loop

jmp $end

2樓:匿名使用者

sfr datastart = 0x60;//用sfr 定義個名字 給 60h

sfr maxdata = 0x80;//最大資料存放位置

unsigned char databuffer[16]; //資料快取

memcpy( databuffer, (char*)datastart, 16 ); //資料快取到 databuffer中

/*找出databuffer中最大的資料 自己寫個函式 */

maxdata = 最大資料;

我覺得這樣應該可以了,但是我沒有除錯過,你可以試試。不能保證對哈。

#include

unsigned char buffer[20];

void main(void)

while(1);

}我剛剛實驗了一下,用這個是可以將數值寫進去 也可以將數值讀出來的。上面的方法可能不太行。至於寫進80的位置,也可以直接給指標賦個絕對地址然後寫進去就行了。

在內部ram 30h單元開始存放著10個無符號數 編寫程式找出其中的最大值送入內部ram的40h單元 微控制器考試題

3樓:匿名使用者

org 0020h

mov r0,#30h ;資料首地址存入r0mov a,@ro ;取第一個資料存入累加器amov r1,#0ah ;比較次數,a=10loop1:

inc r0 ;修改地址指版針,使其指向下一地權址單元

mov 30h,@r0 ;將比較的數暫存於30hcjne a,30h,chk ;兩個數比較chk:

jnc loop2 ;如果a大,則轉換mov a,@r0 ;如果a小,則將較大的數存入a

loop2:

djnz r1,loop1 ;r1減1,如果其不為0,則繼續迴圈

mov 40h,a ;比較完畢,存結果end

【51微控制器組合語言程式設計題】片內ram區30h~3fh單元中存16個8位無符號數,將它們對5求餘,

4樓:

clr a

mov 40h,a

mov 41h,a

mov 42h,a

mov 43h,a

mov 44h,a

mov r0,#30h

loop:

mov a,@r0

mov b,#5

div ab

xch a,b

add a,#40h

mov r1,a

inc @r1

inc r0

cjne r0,#40h,loop

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;end

微控制器程式設計題 查詢內部ram的20h 50h單元中個位出現

做而論道 org 0000h mov r0,20h mov r1,0 loop mov a,r0 取來一個位元組mov b,10 div ab 除以10xch a,b 取來個位cjne a,06h,next 不等於6則轉移inc r1 等於6則加一next inc r0 cjne r0,51h,lo...

微控制器將內部RAM中40H 49H單元中最大(小)的數送30H單元中儲存

org 00h ljmp main org 30h main lcall mm sjmp mm mov r2,09h mov r0,40h mov a,r0 mov 30h,a loop inc r0 mov 31h,r0 cjne a,31h,next1 next1 jnc next2 這是取最大...

編寫程式,將微控制器內部40H57H單元資料與60H77H單元資料分別相加後送到外部資料儲存器

mov r0,40h mov r1,60h mov dptr,4000h loop mov a,r0 add a,r1 movx dptr,a inc r0 inc r1 inc dptr cjne r0,58h,loop sjmp end 呵呵 俺來幫吧 首先分析一下 源資料長度為18位元組 需要...