新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機的高精度除法使用及程序清單

        51單片機的高精度除法使用及程序清單

        作者: 時間:2012-06-23 來源:網絡 收藏

        開發人員在開發51應用系統過程中,往往遇到多字節及倒數問題。但目前一些資料中所介紹的有關,復雜且功能單一、精度低。本人在研制((GZ93多功能程控測試儀》過程中,自行設計的4字節除4字節具有功能多、精度高、簡短、運行速度快等特點,可用于求4字節倒數,求商的整數(結果為4字節),求商的小數部分(結果為4字節),調用兩次即可求8字節商。
        一、方法
        1.求商的整數
        (1)16進制被除數送51內部RAM中20(低位)至23(高位)單元,除數送50(低位)至53(高位)單元,擴充單元24至27清零。 ’
        (2)調子DIV。
        (3)20(低位)至23(商位)單元為所求商,24至27單元為余數。
        2.求八字節商
        (1)先求商的整數部分
        方法同上,然后將20至23單元的整數商送其它單元保存。
        (2)求商的小數部分
        20至23單元清零;其余單元內容不變;調DIV子程序;小數商在23至20單元中,小數點位于23單元
        前。
        3.求倒數
        (1)20至23單元及25至27單元清零,01H送24單元,除數送50(低位)至53(高位)單元。
        (2)調子程序DIV。
        (3)倒數在23至20單元,小數點位于23單元前。
        二、程序
        ORG 0500H
        DIV: CLR 7EH
        MOV R0,#50H
        MOV R7,#03H
        DV0: MOV A,@R0
        INC R0
        ORL A,@R0
        JNZ DV1
        DJNZ R7,DV0
        SETB 7EH
        SJMP DV8
        DV1: MOV R6,#20H
        CLRC
        DV2: MOV R0,#20H
        MOV R7,#08H
        DV3: MOV A,@R0
        RLC A
        MOV @R0,A
        INC R0
        DJNZ R7,DV3
        MOV 0F0H,C
        CLR C
        MOV R0,#24H
        MOV R1,#50H
        MOV R7,#04H
        DV4: MOV A,@R0
        SUB A,@R1
        MOV @R0,A
        INC R0
        INC Rl
        DJNZ R7,DV4
        JNB 0F0H,DV5
        CLR C
        SJMP DV6
        DV5: JNC DV6
        MOV A,24H
        ADD A,50H
        MOV 24H,A
        MOV A,25H
        ADDC A,51H
        MOV 25H,A
        MOV A,26H
        ADDC A,52H
        MOV 26H,A
        MOV A,27H
        ADDC A,53H
        MOV 27H,A
        DV6: CPL C
        DJNZ R6,DV2
        MOV R0,#20H
        MOV R7,#04H
        DV7: MOV A,@R0
        RLC A
        MOV @R0,A
        INC R0
        DJNZ R7,DV7
        DV8: RET
        END

        本文引用地址:http://www.104case.com/article/171257.htm


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 库伦旗| 阿克| 夏河县| 斗六市| 绥棱县| 彭阳县| 雅江县| 新巴尔虎右旗| 比如县| 城市| 聊城市| 古蔺县| 镇坪县| 阜平县| 扶余县| 常山县| 宁晋县| 富裕县| 镇坪县| 江门市| 高平市| 科技| 浦北县| 延吉市| 鄂温| 镇远县| 启东市| 元江| 新化县| 寻甸| 南丰县| 望谟县| 曲阜市| 石景山区| 定南县| 皮山县| 天祝| 敦煌市| 湘西| 甘德县| 轮台县|