求大佬指教单片机16位数据的BCD码转换

2019-07-15 08:29发布

就是这种这种8位的十六进制数temp(0~255)
百位 bai=temp/100;
temp=temp%100;//取余数
shi=temp/10;
ge=temp%10;

16位的也是一样,只是先除以1000(不太懂后面的)

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
PKZz
2019-07-15 15:57
longrenwenzi 发表于 2018-5-4 16:47
问题描述的详细一点,不知道你在问什么呢。


uint speed=50;
void write_fsm1(uchar add,uchar date)
{
        uchar qian,bai,shi,ge;
        qian=date/1000;
        bai=date%1000/100;
        shi=date%1000%100/10;
        ge=date%1000%100%10;
        write_ml(0x80+add);
        write_data(0x30+qian);
        write_data(0x30+bai);
        write_data(0x30+shi);
        write_data(0x30+ge);}
write_fsm1(6,speed);
大概程序就这样写的,但是输入数据大于255就显示不出来是什么原因呢?求指教

一周热门 更多>