有關微控制器程式設計的2道題目。希望各位大神可以為我解答,在每一步後標上解釋,謝謝

2022-05-26 02:40:18 字數 2052 閱讀 4957

1樓:匿名使用者

1、mov r0,#block ;被加數低位元組地址mov r1,#block+1; 加數地址clr c ;進位清零mov a,@r0 ;取被加數addc a,@r1 ;相加inc r0 ;指標+1inc r1 ;

mov a,@r0 ;

addc a,@r1 ;

mov @r1,a ;存入jmp $

end每次只能給你一道題,你別那麼貪

2樓:做而論道

正確程式如下:

1、有兩個16位無符號數,放在block開始的四個單元內,編寫程式,求他們的和,並放在接下去的三個單元內。

mov a, block

add a, block + 2

mov block + 4, a

mov a, block + 1

addc a, block + 3

mov block + 5, a

clr a

addc a, #0

mov block + 6, a

end2、微控制器片內ram中,自block單元開始有一組無符號數,資料長度放在block-1單元,

編寫程式,把其中大於100的數送到片外stock開始的單元中去。

mov dptr, #stock

mov r0, #block

mov r2, block - 1

lp:mov a, @r0

clr c

subb a, #101

jc next

mov a, @r0

movx @dptr, a

inc dptr

next:

inc r0

djnz r2, lpend

3樓:匿名使用者

;啟動入口********************====org 0000h ;復位啟動

ajmp start ;

;主程式********************====start: mov a,#block ;資料開始地址mov r0,a

add a,#4 ;存放結果單元低位元組

mov r1,a

;mov a,@r0 ;第一個數低位元組

inc r0

mov b,@r0 ;第一個數高位元組

inc r0 ;指向第二個數低位元組

;add a,@r0 ;加第二個數低位元組

mov @r1,a ;存結果單元第一位元組

inc r0 ;指向第二個數高位元組

inc r1 ;指向結果單元第二位元組

mov a,b ;第一個數高位元組

addc a,@r0 ;加第二個數高位元組

mov @r1,a ;存結果單元第二位元組

inc r1 ;指向結果單元第三位元組

addc a,#0 ;存結果單元第三位元組

mov @r1,a ;存入指定單元

end ;結束

;啟動入口********************====org 0000h ;復位啟動

ajmp start ;

;主控程式********************====start: mov r0,#block ;資料開始地址dec r0 ;block-1

mov b,@r0 ;得到資料個數

;mov r0,#block ;資料開始地址mov r1,#stock ;用來存放結果的地址;loop: mov a,@r0 ;取得一個資料clr c ;準備比較

subb a,#101 ;比較

jc nos ;不大於100

;movx @r1,a ;存結果

inc r1 ;指向下一單元

;nos: inc r0 ;指向下一個資料djnz b,loop ;搜尋完所有資料

end ;結束

微控制器查表程式設計的思路,微控制器查表程式編寫 急!

a 秒十位指標 mov dptr,tab 資料表頭地址送dptrmovc a,a dptr 讀取資料表中相應的資料 秒十位 clr p1.0 p1.0 清零 秒十位標誌位 mov p0,a 顯示妙計數的十位 秒十位由p0口輸出 lcall delay 調延時子程式 setb p1.0 p1.0 置1...

有關51實驗版微控制器的問題,關於51微控制器的問題

初步瀏覽了一下,動態顯示的話delay時間太長就會閃爍。你好 初步看一眼,數碼管閃爍的原因無非是時間間隔太長,先建議你縮短延時時間,再事實。希望我的回答能幫助到你。像是串列埠驅動的數碼管,靜態顯示。這樣的電路,不宜頻繁的顯示,一秒鐘,顯示一次就可以了。把顯示部分,移到定時中斷裡面,即可 main v...

微控制器組合語言的程式設計問題

首先教你如何理解jnb和jb,jnb就是jump not bit,這樣不好理解,解釋一下就明白了 jump表示跳轉,not表示0,bit表示該位。它實際是條件判斷語句,意思是 如果該為為0則跳轉,否則繼續下一條。例 jnb p1.1,mark 如果p1.1位為零則跳轉到mark標誌指向的指令,否則繼...