新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 游戏| 天门市| 武清区| 都江堰市| 兴化市| 安国市| 页游| 思南县| 修武县| 临泉县| 壤塘县| 内乡县| 徐州市| 曲水县| 兖州市| 河间市| 平罗县| 奉节县| 彭阳县| 兰考县| 遵义市| 涿鹿县| 阜阳市| 定州市| 阿拉善盟| 上蔡县| 垦利县| 和龙市| 盖州市| 射阳县| 乌拉特前旗| 鱼台县| 霍邱县| 盱眙县| 瓦房店市| 东辽县| 阿克苏市| 文成县| 石家庄市| 遂宁市| 三明市|