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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2421|回復: 11
收起左側

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

[復制鏈接]
ID:259813 發表于 2023-7-16 11:53 | 顯示全部樓層 |閱讀模式
串口發送的16進制需要轉為十進制
回復

使用道具 舉報

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碼,目的是通過串口發送后接收方好讀
回復

使用道具 舉報

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
        無標題.jpg

回復

使用道具 舉報

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

使用道具 舉報

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
回復

使用道具 舉報

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

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

使用道具 舉報

ID:384109 發表于 2023-7-17 16:06 | 顯示全部樓層
51匯編有專門的指令
回復

使用道具 舉報

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
回復

使用道具 舉報

ID:259813 發表于 2023-7-18 23:10 | 顯示全部樓層
lyonkon的程序經過驗證完全正確,謝謝
回復

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 婷婷综合五月天 | 国产91在线播放 | 国产成人精品一区二区三区网站观看 | 国产免费看 | 日韩二三区 | 狠狠躁夜夜躁人人爽天天高潮 | 欧美一区永久视频免费观看 | 成人av免费 | 久久久久国产精品一区二区 | 亚洲综合小视频 | 伊人久久成人 | 国产黄色网址在线观看 | www.国产精| 蜜桃av人人夜夜澡人人爽 | 精品中文在线 | 国产精品乱码一区二三区小蝌蚪 | 波多野结衣一区二区三区在线观看 | 精品视频一区二区 | 精品视频一区二区在线观看 | 精品国产精品三级精品av网址 | 日韩精品一二三区 | 色一情一乱一伦一区二区三区 | 国产激情视频在线免费观看 | 亚洲国产一区二区三区在线观看 | 91视频免费在观看 | 久久久久久久电影 | 日日日日日日bbbbb视频 | 北条麻妃国产九九九精品小说 | 免费观看一级特黄欧美大片 | 成人免费一区二区三区牛牛 | 中文av字幕 | 国产欧美一区二区三区国产幕精品 | 精品综合久久久 | 亚洲欧美一区二区三区国产精品 | 日韩国产黄色片 | av手机在线播放 | 九九热免费视频在线观看 | 亚洲精品99久久久久久 | 91美女视频 | 91精品国产麻豆 | 中文字幕日本一区二区 |