AD轉(zhuǎn)換成模擬量,匯編實(shí)現(xiàn)問(wèn)題!
如AD=0FAH(250), 8位精度,5V基準(zhǔn),則此時(shí)對(duì)應(yīng)的電壓應(yīng)該是FA/FF*5=250/255*5=4.902V,如何用匯編語(yǔ)言實(shí)現(xiàn)這一轉(zhuǎn)換呢?即250*5/255的這個(gè)轉(zhuǎn)換?
全部回復(fù)(6)
正序查看
倒序查看
@dxgung
感謝您的關(guān)注,我是想知道實(shí)現(xiàn)這種算法的原理,比如像怎樣移位(左移/右移,移多少次),然后加/減之類的實(shí)現(xiàn)算法.我想不同的芯片也僅僅指令的不同吧,但算法應(yīng)該是一樣的,期待您的指點(diǎn).
大師,你是說(shuō)在比如數(shù)碼顯示出來(lái),對(duì)嗎,這樣有一個(gè)算法
;*******************************************************************************
;文件:頻率表——轉(zhuǎn)換
;作者:羅工
;公司:
;日期:25/4/2005
;
;*******************************************************************************
;****************16位二進(jìn)制數(shù)轉(zhuǎn)換為BCD碼************
;入口參數(shù): L_BYTE低字節(jié) H_BYTE高字節(jié)
;出口參數(shù): W0,W1,W2 BCD的最高位在W0中
BT_BCD:
BCLR FC
B0MOV R,#10H
MOV A,#00H
MOV W0,A
MOV W1,A
MOV W2,A
LOOP16: RLCM L_BYTE
RLCM H_BYTE
RLCM W2
RLCM W1
RLCM W0
DECMS R
JMP LOOP17
RET
LOOP17: CLR Y
B0MOV Z,#1AH
CALL ABCD
B0MOV Z,#1BH
CALL ABCD
B0MOV Z,#1CH
CALL ABCD
JMP LOOP16
ABCD: MOV A,#03H
ADD A,@YZ
MOV W3,A
BTS0 W3.3
MOV @YZ,A
MOV A,#30H
ADD A,@YZ
MOV W3,A
BTS0 W3.7
MOV @YZ,A
RET
;*******************************************************************************
;文件:頻率表——轉(zhuǎn)換
;作者:羅工
;公司:
;日期:25/4/2005
;
;*******************************************************************************
;****************16位二進(jìn)制數(shù)轉(zhuǎn)換為BCD碼************
;入口參數(shù): L_BYTE低字節(jié) H_BYTE高字節(jié)
;出口參數(shù): W0,W1,W2 BCD的最高位在W0中
BT_BCD:
BCLR FC
B0MOV R,#10H
MOV A,#00H
MOV W0,A
MOV W1,A
MOV W2,A
LOOP16: RLCM L_BYTE
RLCM H_BYTE
RLCM W2
RLCM W1
RLCM W0
DECMS R
JMP LOOP17
RET
LOOP17: CLR Y
B0MOV Z,#1AH
CALL ABCD
B0MOV Z,#1BH
CALL ABCD
B0MOV Z,#1CH
CALL ABCD
JMP LOOP16
ABCD: MOV A,#03H
ADD A,@YZ
MOV W3,A
BTS0 W3.3
MOV @YZ,A
MOV A,#30H
ADD A,@YZ
MOV W3,A
BTS0 W3.7
MOV @YZ,A
RET
0
回復(fù)
@dxgung
感謝您的關(guān)注,我是想知道實(shí)現(xiàn)這種算法的原理,比如像怎樣移位(左移/右移,移多少次),然后加/減之類的實(shí)現(xiàn)算法.我想不同的芯片也僅僅指令的不同吧,但算法應(yīng)該是一樣的,期待您的指點(diǎn).
大蝦,你的想法是不對(duì)的!你選好單片機(jī)以后指令是不能改變的了,除非你自已開(kāi)發(fā)一套指令!不同的芯片時(shí)序都不一樣,那么程序(指令的組合)也就不一樣了!關(guān)于左,右移都有相關(guān)的指令!移多少次這就要根據(jù)需要來(lái)確定!加減也有相關(guān)的指令!多字節(jié)的加減乘除你看一下書(shū)吧!這些基礎(chǔ)教程上都有的!
0
回復(fù)