日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
Hex to bcd轉(zhuǎn)換的算法比較
Hex to bcd轉(zhuǎn)換的算法比較
 更新時(shí)間:2008-8-17 16:42:44  點(diǎn)擊數(shù):15
【字體: 字體顏色

        ACALL   _BCD_ADJ            ; 壓縮BCD碼的十進(jìn)制調(diào)整
        MOV     bcdData, A          ; 存回
        DJNZ    R2, H_B0            ; 繼續(xù)下一輪循環(huán)

; 目標(biāo)數(shù)據(jù)再左移一位,將原數(shù)據(jù)的最后一位放入,這樣總共進(jìn)行了16次循環(huán)移位
        MOV     A, R6
        RLC     A
        MOV     A, bcdData+2
        RLC     A
        MOV     bcdData+2, A
        MOV     A, bcdData+1
        RLC     A
        MOV     bcdData+1, A
        MOV     A, bcdData
        RLC     A
        MOV     bcdData, A
        RET

;*************************************************************************
; 壓縮BCD碼的十進(jìn)制調(diào)整,基本思路:逢十進(jìn)一,在這里因?yàn)檫保留著最后一次左
; 移, 所以進(jìn)位判別的0AH(0A0H)變成相對(duì)右移了一位的05H(050H), 而強(qiáng)迫進(jìn)行進(jìn)位
; 的方法是加上一個(gè)數(shù)字3(左移一位后就是6)。程序保護(hù)PSW
; 輸入返回均使用Acc累加器
;*************************************************************************
RSEG  ?PR?_BCD_ADJ?HEX_BCD

_BCD_ADJ:
    PUSH    PSW
        PUSH    ACC
        CJNE    A, #50H, $+3    ; 高4位。做一個(gè)比較產(chǎn)生狀態(tài)標(biāo)志
        JC      B1              ; 如果小于#50H, 不用進(jìn)位處理
        POP     ACC             ; 取原數(shù)據(jù)作修改
        ADD     A, #30H         ; 加上#30h,留待下一輪左移時(shí)產(chǎn)生進(jìn)位
        PUSH    ACC             ; 存回原數(shù)據(jù)
  B1:   ANL     A, #0FH         ; 僅考慮低4位
        CJNE    A, #5, $+3      ; 做一個(gè)比較產(chǎn)生狀態(tài)標(biāo)志
        JC      B2              ; 如果小于#5H, 不用進(jìn)位處理
        POP     ACC             ; 取原數(shù)據(jù)作修改
        ADD     A, #3           ; 加上#3h,留待下一輪左移時(shí)產(chǎn)生進(jìn)位
        PUSH    ACC             ; 存回原數(shù)據(jù)
  B2:   POP     ACC             ; 恢復(fù)現(xiàn)場(chǎng)
        POP     PSW
        RET
end
/////////////////////////////////////////////////
[nobody]©的快速算法,速度更快。
//////////////////////////////////////////////////////
?PR?_HEX_BCD?HEX_BCD SEGMENT CODE        
PUBLIC _HEX_BCD
RSEG  ?PR?_HEX_BCD?HEX_BCD
_HEX_BCD:
        CLR     A           ;BCD碼初始化
        MOV     R3,A
        MOV     R4,A
        MOV     R5,A
        MOV     R2,#10H     ;轉(zhuǎn)換雙字節(jié)十六進(jìn)制整數(shù)
HB3:
        MOV     A,R7        ;從高端移出待轉(zhuǎn)換數(shù)的一位到CY中
        RLC     A
        MOV     R7,A
        MOV     A,R6
        RLC     A
        MOV     R6,A
        MOV     A,R3        ;BCD碼帶進(jìn)位自身相加,相當(dāng)于乘2
        ADDC    A,R3
        DA      A           ;十進(jìn)制調(diào)整
        MOV     R3,A
        MOV     A,R4
        ADDC    A,R4
        DA      A
        MOV     R4,A
        MOV     A,R5
        ADDC    A,R5
        MOV     R5,A        ;雙字節(jié)十六進(jìn)制數(shù)的萬位數(shù)不超過6,不用調(diào)整
        DJNZ    R2,HB3      ;處理完16bit
        mov     a,r3
        mov     r7,a
        mov     a,r4
        mov     r6,a
        mov     r4,#0
        RET
end

調(diào)用方法:
extern unsigned int hex_bcd(unsigned int iHex);     /*聲明外部函數(shù)*/

extern unsigned long hex_bcd(unsigned int iHex);    /*聲明外部函數(shù)*/
  • 上一篇: 基于單片機(jī)的函數(shù)發(fā)生器的設(shè)計(jì)實(shí)現(xiàn)
  • 下一篇: MCU系統(tǒng)低功耗設(shè)計(jì)問題
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1