全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1963
推到 Plurk!
推到 Facebook!

請問8051要如何將COUNTER由16進制的數字轉為10進制

缺席
Qhair
一般會員


發表:1
回覆:0
積分:0
註冊:2004-12-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-24 18:41:09 IP:211.76.xxx.xxx 未訂閱
如果是16BIT FFFF H 的話要怎麼轉成十進制呢 卡在前面兩個F轉不過去
virgoriver
一般會員


發表:1
回覆:3
積分:0
註冊:2004-08-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-07 11:23:54 IP:203.75.xxx.xxx 未訂閱
    我已在模擬器上試個過沒問題, 剰下的3位數, 你自己來吧!    
digit1 equ 30h
digit2 equ 31h
digit3 equ 32h
digit4 equ 33h
digit5 equ 34h            ;r1 msb
        ;r0 lsb
        
                
        mov digit1,#0
        mov digit2,#0
        mov digit3,#0
        mov digit4,#0
        mov digit5,#0
d10000:        
        clr c                ;How many times can it be subtracted by 10000(2710h)?
        mov a,r0
        subb a,#10h
        mov r2,a
        mov a,r1
        subb a,#27h
        jc d1000
        mov r1,a        ;remainder
        mov a,r2
        mov r0,a
        inc digit1
        jmp d10000
d1000:
        clr c                ;How many times can it be subtracted by 1000(0318h)?
        mov a,r0
        subb a,#0e8h        
        mov r2,a
        mov a,r1
        subb a,#03h
        jc d100
        mov r1,a        ;remainder
        mov a,r2
        mov r0,a
        inc digit2
        jmp d1000
d100:    

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-18 18:02:24 IP:211.22.xxx.xxx 未訂閱
用組語寫的話,很麻煩,高低位元組要分開.最後還要注意進位問題,寫起來會又臭又長.用c的話:    假設Timer0計數
int x,y,d4,d3,d2,d1,d0;
x=TL0 256*TH0;
d4=x/10000;                萬位
x=x000;
d3=x/1000;                 千位
x=x00;
d2=x/100;                  百位
x=x0;
d1=x/10;                   十位
d0=x;                   個位    
------------------------------------ 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ------------------------------------
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
cls9215
一般會員


發表:18
回覆:28
積分:9
註冊:2004-12-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-23 01:29:37 IP:61.70.xxx.xxx 未訂閱
是8051嗎?? 可否使用"DA"這個指令 如"DA A"將a中的數值轉成10進制的數值呢

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-23 03:33:09 IP:61.70.xxx.xxx 未訂閱
引言: 是8051嗎?? 可否使用"DA"這個指令 如"DA A"將a中的數值轉成10進制的數值呢 < face="Verdana, Arial, Helvetica"> =.= 你去看一下這個DA的指令說明吧. 再說,現在是FFFF轉10進制,8051只有8bit...... ------------------------------------ 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ------------------------------------
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
系統時間:2024-04-29 7:34:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!