新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機的PD控溫程序

        51單片機的PD控溫程序

        作者: 時間:2012-10-12 來源:網絡 收藏

        ;(21)標號: BH2 功能:雙字節(jié)BCD碼成雙字節(jié)十六進制整數

        ;入口條件:待轉換的雙字節(jié)BCD碼整數在R2、R3中。
        ;出口信息:轉換后的雙字節(jié)十六進制整數仍在R2、R3中。
        ;影響資源:PSW、A、B、R2、R3、R4 堆棧需求: 4字節(jié)
        BH2: MOV A,R3; ;將低字節(jié)轉換成十六進制
        LCALL BCDH
        MOV R3,A
        MOV A,R2; ;將高字節(jié)轉換成十六進制
        LCALL BCDH
        MOV B,#100; ;擴大一百倍
        MUL AB
        ADD A,R3; ;和低字節(jié)按十六進制相加
        MOV R3,A
        CLR A
        ADDC A,B
        MOV R2,A
        RET

        ;(20)標號:BCDH 功能:單字節(jié)BCD碼成單字節(jié)十六進制整數

        ;入口條件:待轉換的單字節(jié)BCD碼整數在累加器A中。
        ;出口信息:轉換后的單字節(jié)十六進制整數仍在累加器A中。
        ;影響資源:PSW、A、B、R4 堆棧需求: 2字節(jié)
        BCDH: MOV B,#10H ; ;分離十位和個位
        DIV AB
        MOV R4,B ; ;暫存?zhèn)€位
        MOV B,#10 ; ;將十位轉換成十六進制
        MUL AB
        ADD A,R4 ; ;按十六進制加上個位
        RET


        ;(17) 標號: HB2 功能:雙字節(jié)十六進制成雙字節(jié)BCD碼整數

        ;入口條件:待轉換的雙字節(jié)十六進制整數在R6、R7中。
        ;出口信息:轉換后的三字節(jié)BCD碼整數在R3、R4、R5中。
        ;影響資源:PSW、A、R2~R7 堆棧需求: 2字節(jié)
        HB2: CLR A ; ;BCD碼初始化
        MOV R3,A
        MOV R4,A
        MOV R5,A
        MOV R2,#10H ; ;轉換雙字節(jié)十六進制整數
        HB3: MOV A,R7 ; ;從高端移出待轉換數的一位到CY中
        RLC A
        MOV R7,A
        MOV A,R6
        RLC A
        MOV R6,A
        MOV A,R5 ; ;BCD碼帶進位自身相加,相當于乘2
        ADDC A,R5
        DA A ; ;十進制調整
        MOV R5,A
        MOV A,R4
        ADDC A,R4
        DA A
        MOV R4,A
        MOV A,R3
        ADDC A,R3
        MOV R3,A ; ;雙字節(jié)十六進制數的萬位數不超過6,不用調整
        DJNZ R2,HB3 ; ;處理完16bit
        RET

        ;(5) 標號: MULD 功能:雙字節(jié)二進制無符號數乘法
        ;
        ;入口條件:被乘數在R2、R3中,乘數在R6、R7中。
        ;出口信息:乘積在R2、R3、R4、R5中。
        ;影響資源:PSW、A、B、R2~R7 堆棧需求: 2字節(jié)
        MULD: MOV A,R3 ; ;計算R3乘R7
        MOV B,R7
        MUL AB
        MOV R4,B ; ;暫存部分積
        MOV R5,A
        MOV A,R3 ; ;計算R3乘R6
        MOV B,R6
        MUL AB
        ADD A,R4 ; ;累加部分積
        MOV R4,A
        CLR A
        ADDC A,B
        MOV R3,A
        MOV A,R2 ; ;計算R2乘R7
        MOV B,R7
        MUL AB
        ADD A,R4 ; ;累加部分積
        MOV R4,A
        MOV A,R3
        ADDC A,B
        MOV R3,A
        CLR A
        RLC A
        XCH A,R2 ; ;計算R2乘R6
        MOV B,R6
        MUL AB
        ADD A,R3 ; ;累加部分積
        MOV R3,A
        MOV A,R2
        ADDC A,B
        MOV R2,A
        RET


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 盈江县| 绵竹市| 宁河县| 黑龙江省| 巴彦淖尔市| 抚顺县| 铅山县| 汝城县| 夏津县| 郎溪县| 姚安县| 怀化市| 宁德市| 平谷区| 蕲春县| 黄浦区| 东兰县| 额尔古纳市| 乐亭县| 江陵县| 云龙县| 林甸县| 罗山县| 北安市| 望江县| 白玉县| 贡嘎县| 读书| 霍城县| 读书| 曲阳县| 辽源市| 朔州市| 浮梁县| 大庆市| 固阳县| 岗巴县| 年辖:市辖区| 台东市| 望谟县| 长泰县|