新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > EM78系列單片機的數值轉換子程序簡介

        EM78系列單片機的數值轉換子程序簡介

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

        jbc 0x03,0
        inc 0x35
        mov a,0x34
        mov 0x30,a
        mov a,0x35
        mov 0x31,a
        ret
        eop
        七 二進制數為BCD碼
        本例為單字節二進制數(0X20)為非壓縮BCD碼,存在0X25,0X24,0X23中,0X25為百位,0X23為個位。
        main: mov a,@0xa4 ;賦值
        mov 0x20,a
        mov 0x21,a
        mov 0x22,a
        mov a,@0x0 ;0x23,0x24,0x25單元清0
        mov 0x23,a
        mov 0x24,a
        mov 0x25,a
        mov a,@0x64 ;對100的個數計數
        mov 0x26,a
        mov a,@0x25 ;百位存在0x25中
        mov 0x04,a
        call a0 ;調計數子程
        mov a,@0x0a ;對10的個數計數
        mov 0x26,a
        dec 0x04 ;個位存在0x24中
        call a0
        mov a,0x22 ;除去百位,十位,余下的即個位,存入0x23
        mov 0x23,a
        self: jmp self
        a0: ;計數子程
        mov a,0x26
        sub 0x22,a
        jbs 0x03,2
        jmp a1
        inc 0x00 ;無余數則對應位加1
        mov a,@0x0 ;0x21與0x22在返回時應保持相同
        mov 0x21,a
        ret
        a1: jbs 0x03,0 ;小于則跳a2
        jmp a2
        inc 0x00 ;大于則計加1
        mov a,0x22
        mov 0x21,a ;將0x22保存到0x21中
        jmp a0 ;跳回a0繼續計數
        a2: mov a,0x21 ;0x21中保存的減之前的數據,此時恢復到0x22
        mov 0x22,a
        ret
        eop

        本文引用地址:http://www.104case.com/article/171052.htm
        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 渑池县| 万山特区| 静乐县| 凤翔县| 临夏市| 澎湖县| 濮阳县| 通海县| 滁州市| 黄龙县| 竹山县| 化德县| 保山市| 遵义县| 武城县| 元氏县| 应用必备| 凤冈县| 巩义市| 沧源| 沅陵县| 宁夏| 泽普县| 泰宁县| 道孚县| 南平市| 白朗县| 澄迈县| 婺源县| 山西省| 陆良县| 津市市| 西盟| 五台县| 建德市| 江西省| 万源市| 陕西省| 琼结县| 东源县| 光泽县|