微控制器實現十進位制數減1的程式設計,求微控制器組合語言怎樣程式設計才能實現將乙個十六進製制數轉換為十進位制數

2021-04-21 05:15:30 字數 2412 閱讀 5485

1樓:匿名使用者

51微控制器的運算都

copy是十六進製制的,唯一的十進位制調整指令da a,也只能用在add/addc指令之後,所以要做十進位制的減法運算,也必須轉換為加法運算,然後再做十進位制調整。十進位制減1運算程式clr cmov a,#50h add a,#99h ;a=e9hda a ;a=49h

2樓:匿名使用者

mov b,a

anl a,#0fh

clr c

subb a,#1

cjne a,#0fh,lp

到這裡copy如果程式還往下走,就證明低四位為0000所以mov a,b

clr c

subb a#10h

add a#9h

retlp:

anl b,#0f0h

orl a,bret

3樓:匿名使用者

執行胲檔案;利用指令碼跟蹤,掃瞄胲檔案的指令目標,用ve修改後設放及可。

求微控制器組合語言怎樣程式設計才能實現將乙個十六進製制數轉換為十進位制數 20

4樓:匿名使用者

程式經過**除錯通過,如下所示:

mov r0, tl0

mov r1, th0

clr a

mov r2, a;先清零

mov r3, a

mov r4, a,

mov r5, #16;共轉換十六位數loop:

clr c

mov a, r0;從待轉換數的高階移出一位到cyrlc a

mov r0, a

mov a, r1

rlc a

mov r1, a

mov a, r4;送到bcd碼的低端addc a, r4;帶進製加。自身相加,相當於左移一位da a ;十進位制調整,變成bcd碼mov r4, a

mov a, r3

addc a, r3

da a

mov r3, a

mov a, r2

addc a, r2

mov r2, a

djnz r5, loop;共轉換十六位數;-------至此,已經把th1 tl1中的數字,轉換成bcd碼,送到了r2 r3 r4。

;-------下面,分別存入r4 r3 r2 r1 r0。

mov a, r4

mov b, #16

div ab

mov r1, a

mov r0, b

mov a, r2

mov r4, a

mov a, r3

mov b, #16

div ab

mov r3, a

mov r2, b

ret希望對你有所幫助!

5樓:匿名使用者

用除法例如 0xff 轉換成十進位制數,百位十位個位分別存在r1、r2、r3中

在51微控制器中暫存器a中的數除以暫存器b中的數,商存在a,餘數存在bmov a,#0ffh

mov b,#100

mul a,b

mov r1,a //存百位mov b,a

mov b,#10

mul a,b

mov r2,a //存十位mov r3,b //存個位

6樓:

mov r6,#00h;存轉化後的數的低位mov r5,#00h;存轉化後的數的高位mov r7,#0ffh;為要轉化的

mov a,r7

cjne a,#00h,loop;判斷要轉化的數是否為0ajmp loop1

loop;mov a,r6

add a,#01h

da a

mov r6,a

addc a,#00h

da a

mov r5,a

djnz r7,loop

loop1:sjmp $

7樓:做而論道

一樓的,是在什麼地方抄的吧?文字注釋,看著眼熟。

呵呵,原來是我以前寫的答案。

8樓:匿名使用者

你確定你要的是十六進製制轉換成十進位制的程式?不是二進位制轉成十進位制的嗎?微控制器中的資料可都是二進位制的,只是通常用十六進製制表示罷了,我以前也犯過這個錯誤

我們常用的數是十進位制,如23,表示十進位制的數要用數碼 0,1,2,3,4,5,6,7,8,9,在電子計算機中用的是二

十進位制數只有0,1,2,3,4,5,6,7,8,9等十個數碼,其意思是 滿10就進位,比如1234共有4位,其值 1 10 10 10 2 10 10 3 10 4 而二進位制數只有0,1兩個數碼,其意思是滿2就進位,比如 101010這個二進位制數,相當於十進位制數的計算方法是 101010是6...

51微控制器c語言程式設計,關於16進製制位數不同的加法問題

51最小資料儲存就是乙個位元組,你寫成1110實際上系統會自動的變成00001110,0xe和0x0e對對於系統來說是一樣的。0000 1110 1111 0000 1111 1110 這就是結果 至於結果加起來就行了。0xfe 0x0e 0xf0?如何編寫微控制器中4位元組十六進製制數的加法程式 ...

如何將非十進位制的數轉換成十進位制的數呀

非十進位制的數有二進位制,八進位制,十六進製制,十進位制數轉換成這三種非十進位制數需要複雜細緻的流程,需要一定的計算機數制知識。具體轉換方法如下 1 首先我們來看一下,十進位制如何轉換為二進位制。把十進位制整數逐次用任意進製數的基數去除,一直到商是0 為止,然後將所得到的餘數與由下而上排列即可。2 ...