久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2556|回復: 11
打印 上一主題 下一主題
收起左側

求一個51單片機匯編,將16進制轉為十進制的程序

[復制鏈接]
跳轉到指定樓層
樓主
串口發送的16進制需要轉為十進制
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:883242 發表于 2023-7-16 17:24 | 只看該作者
一般不會有十六進制轉十進制發送的奇怪需求,對于兩邊都非常麻煩,完全沒有意義。我猜你的真實需求是把十六進制轉成十進制的ASCII碼。
回復

使用道具 舉報

板凳
ID:1085441 發表于 2023-7-16 19:58 | 只看該作者
是16進制轉為BCD嗎?很長時間沒寫過匯編了,寫了一下,應該差不多吧,如有錯誤請大家指正
;入口 R0, 出口 R0
    MOV     A,R0
    MOV     B,#10
    DIV      AB
    RL        A
    RL        A
    RL        A
    RL        A
    MOV     R0,B
    ORL      A,R0
    MOV     R0,A
回復

使用道具 舉報

地板
ID:259813 發表于 2023-7-16 20:48 | 只看該作者
是把十六進制轉成十進制的ASCII碼,目的是通過串口發送后接收方好讀
回復

使用道具 舉報

5#
ID:73992 發表于 2023-7-16 22:56 | 只看該作者
ORG        0000H
MOV        R0,#0XAF        ;單字節數值入口        ,R0         ,假設 R0=#AF
MOV        A,R0
MOV        B,#0X64
DIV        AB
MOV        R5,A                ;百位 存入R5
MOV        A,B
MOV        B,#0X0A
DIV        AB
MOV        R6,A                ;十位 存入R6
MOV        A,B
MOV        B,#0X01
DIV        AB
MOV        R7,A                ;個位 存入R7
END
       

回復

使用道具 舉報

6#
ID:259813 發表于 2023-7-17 13:34 | 只看該作者
我沒說清楚,風速傳感器用串口助手看到的是十六進制例如0A,將其轉換為好讀的十進制發出
回復

使用道具 舉報

7#
ID:1085441 發表于 2023-7-17 14:29 | 只看該作者
;如果小于100,如果大于100,耀多除一次100
;入口 R0, 出口 R0,R1,R0是十位,R1是各位
    MOV     A,R0
    MOV     B,#10
    DIV      AB
    ADD     A,#30H
    MOV     R0,A
    MOV     A,B
    ADD     A,#30H
    MOV     R1,A
回復

使用道具 舉報

8#
ID:884147 發表于 2023-7-17 15:33 | 只看該作者
chydn2000 發表于 2023-7-17 13:34
我沒說清楚,風速傳感器用串口助手看到的是十六進制例如0A,將其轉換為好讀的十進制發出

就是說數據0A你想在串口工具上顯示10,這需要16進制轉BCD碼程序,還要看16進制是幾位的
回復

使用道具 舉報

9#
ID:384109 發表于 2023-7-17 16:06 | 只看該作者
51匯編有專門的指令
回復

使用道具 舉報

10#
ID:123289 發表于 2023-7-17 16:13 | 只看該作者
;格式轉換類:BIN→ASCII----
;HEXTOASC_AR0.ASM:  BIN→ASCII,數字A→(R0,+1+2)3位高位在前。
;輸入:A=16進制數,R0=存入地址
;輸出:(R0,+1+2)=A的ASCII
;影響:PSW,A,B,R0
HEXTOASC_AR0:   MOV     B, #C_100                   ;取百位數
                DIV     AB
                ORL     A, #C_30H                   ;做成ASCII碼
                MOV     @R0, A                      ;存入
                INC     R0
                MOV     A, B                        ;取余數
                MOV     B, #C_10                    ;取十位數
                DIV     AB
                ORL     A, #C_30H                   ;做成ASCII碼
                MOV     @R0, A                      ;存入
                INC     R0
                MOV     A, B                        ;取余數,是個位
                ORL     A, #C_30H                   ;做成ASCII碼
                MOV     @R0, A                      ;存入
                RET
注:
C_10 = 10; C_30H = 30H = 48; C_100 = 100 = 64H
回復

使用道具 舉報

11#
ID:259813 發表于 2023-7-18 23:10 | 只看該作者
lyonkon的程序經過驗證完全正確,謝謝
回復

使用道具 舉報

12#
ID:1089019 發表于 2023-7-19 19:44 | 只看該作者
進制也就是進位計數制,是人為定義的帶進位的計數方法(有不帶進位的計數方法,比如原始的結繩計數法,唱票時常用的“正”字計數法,以及類似的tally mark計數)。 對于任何一種進制---X進制,就表示每一位置上的數運算時都是逢X進一位。 十進制是逢十進一,十六進制是逢十六進一,二進制就是逢二進一,以此類推,x進制就是逢x進位。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产美女一区二区 | 日日摸日日碰夜夜爽2015电影 | 亚洲欧美综合精品另类天天更新 | 国产成人免费视频网站视频社区 | 精品久久久久香蕉网 | 精精国产xxxx视频在线播放 | 91视频在线看 | 国产一区二区在线免费观看 | 成人免费xxxxx在线视频 | 97起碰| 免费在线观看av片 | 久久99精品久久久97夜夜嗨 | 国产亚洲精品久久久久动 | 色久在线 | 二区三区视频 | 色视频网站在线观看 | 精品久久99| 国产精品1区2区 | 成人av一区二区三区 | 一区二区在线 | 国产精品久久久久久妇女6080 | 91在线视频一区 | 夜夜摸夜夜操 | 国产精品久久久久久久 | 日韩免费视频一区二区 | 亚洲精品国产第一综合99久久 | 日韩成人影院 | 国产综合精品 | 国产一级毛片精品完整视频版 | 亚洲一区二区精品 | 久久国产精品无码网站 | 黑人一级片视频 | 91在线区| 热久久免费视频 | 国产a视频| 成人h电影在线观看 | 伊人一二三 | av中文网| 一区二区三区四区在线 | 午夜成人免费电影 | 91夜色在线观看 |