在51微控制器中使用組合語言如何將8位2進位制數轉

2021-03-27 21:00:25 字數 5281 閱讀 7382

1樓:匿名使用者

太高深了,真沒看懂

難道8位2進位制不是2位16進位制?

是不是要顯示成字元啊?

比如0101_1010,在顯示器上顯示0x5a ?

2樓:匿名使用者

在微控制器組合語言 程式設計中 ,其實 8位2進位制數 就可以直接 看成 2位16進位制數,

只是 與 10進位制數 有轉換關係, 組合語言中 也是通用的 如mov a, #11111111bmov a, #0ffh ; 彙編 中 資料的第一個 數不能以字元開頭

mov a, #255 ; 這 三條語句是相同的

3樓:做而論道

顯示16(或10、或2)進位制數字,需要顯示器,led數碼管、lcd1602,都很常用。

如何顯示?

樓主必須指定顯示器和電路。

4樓:匿名使用者

在微控制器中是可以識別2進位制和16進位制的,直接轉換就可以的如mov a,00110101b;

mov r1,a;

and a,0fh;

mov porta,a;

mov a,r1

swap a;

and a,0fh

mov porta,a;

5樓:匿名使用者

要把8位的,變成兩個4位的二進位制數

高位部分,右移4位即可,

低位部分,對之取與0f,即可

6樓:匿名使用者

將8位2進位制數除以16,商就是2位16進位制資料的高位,餘數是低位。

7樓:朝酒晚舞

分解成高四位、低四位,分別找出顯示**,送到顯示器即可。

順便問一下:你有顯示器嗎?

8樓:匿名使用者

還要看是靜態顯示的,還是動態顯示的。

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

9樓:匿名使用者

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

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希望對你有所幫助!

10樓:匿名使用者

用除法例如 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 //存個位

11樓:

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 $

12樓:做而論道

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

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

13樓:匿名使用者

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

51微控制器彙編程式二進位制、十進位制、十六進位制數怎麼表示?

14樓:落日之暮

彙編中的2進位制在數值結尾加「b」

10進位制在結尾加「d」(有的編譯器不加字母預設為十進位制)

16進位制在結尾加「h」(有的編譯器不加字母預設為十六進位制,如windows裡面的debug程式)

15樓:亮到掉渣

00010100b

2014h

如何用51微控制器組合語言編寫一個將十六進位制數轉換成十進位制數,並在七段數碼管上顯示出來的程式

16樓:匿名使用者

keyval equ 30h

dat equ 33h

scanled equ 39h

*** 0000h

ljmp main

*** 001bh

ljmp t1isr ;掃描顯示

*** 0030h

main:

mov sp,#5fh

mov tmod,#10h

mov th1,#0ech

mov tl1,#078h

mov 33h,#10h

mov 34h,#10h

mov 35h,#10h

mov 36h,#10h

setb tr1

setb et1

setb ea

mov keyval,50h

loop:

lcall datchg

jb p1.0,loop1

jnb p1.0,$

inc keyval

sjmp loop

loop1:

jb p1.1,loop

jnb p1.1,$

mov a,keyval

dec a

mov keyval,a

sjmp loop

t1isr:

push acc

clr tr1

mov th1,#0ech

mov tl1,#78h

setb tr1

mov dptr,#ledtab

t100:

mov r0,#dat

mov a,scanled

add a,r0

mov r0,a

mov a,scanled

jnz t101

mov p2,#01h

sjmp t1dis

t101:

dec a

jnz t102

mov p2,#02h

sjmp t1dis

t102:

dec a

jnz t103

mov p2,#04h

sjmp t1dis

t103:

mov p2,#08h

t1dis:

mov a,@r0

movc a,@a+dptr

mov p0,a

inc scanled

mov a,scanled

cjne a,#4,t1end

mov scanled,#0

t1end:

pop acc

reti

datchg:

mov a,keyval

mov b,#100

div ab

mov 34h,a

xch a,b

mov b,#10

div ab

mov 35h,a

mov 36h,b

retledtab: ; 共陰極數碼管顯示**表db 3fh,06h,5bh,4fh,66h ;01234db 6dh,7dh,07h,7fh,6fh ;56789end

51微控制器彙編程式二進位制、十進位制、十六進位制數怎麼表示??

17樓:匿名使用者

十進位制 20d

十六進位制 14h

二進位制 10100b

應該是這樣,試一下吧

18樓:匿名使用者

十進位制bai就是0到9這是個數 比如du mov a,#8二進位制就

是01這兩個數

十六進位制是zhi從0到9到a b c d e f 這16個數.a表示10 b表示11 。。dao。。。。。

f表示15就這樣。16進位制後面有帶一個h表示16進位制。比如 mov a #0ffh

19樓:林立秋

真是搞笑,你把這個當成提供答案的工具呀,每個人都問這些奇怪的問題,這個問題是最基本的,你應該不是小學生吧

20樓:匿名使用者

比如說20,用二進位制表示為00010100,十進位制20,十六進位制14h

如何在51微控制器使用c語言跟組合語言

如何用keil在 baic中嵌入彙編 要在duc檔案zhi中要嵌入彙編dao的地方用 pragma a 和 pragma enda 分隔開來內 具體請查容看 keil c 手冊裡有介紹 在c檔案中要嵌入彙編的地方用 pragma a 和 pragma enda 分隔開來 要問什麼啊,是程式呢,還是哪...

51微控制器用組合語言怎麼程式設計幾個有符號數的比較大小

51微控制器中,沒有專門的有符號數比較指令,只能通過一些變通的方法來實現,比如 比較30h和40h中有符號數的大小,結果放在r2中,大於則為1,等於為0,小於為128 cmpdat mov a,30h jb acc.7,cmpf1 mov b,a mov a,40h jb acc.7,cmpz2 3...

微控制器組合語言裡 db,微控制器組合語言裡 DB

微控制器匯bai 編語言中的db是以位元組du為單位定zhi義一個資料段,一dao般用於查表程式中,舉例回 說明 display mov dptr,tab mov a,r2 movc a,a dptr mov p0,a rettab 共陰極答數碼管顯示 表db 3fh,06h,5bh,4fh,66h...