求助pcf8951 AD转换的问题。

2020-02-01 16:30发布

/******************************************************************/
/*                                                                */
/* 数据处理与显示                                                 */
/* 将采集到的数据进行16进制转换为ASCLL码。                        */
/*                                                                */
/******************************************************************/

show_value(uchar ad_data)

{                         //0是第二位小数,1是第一位小数,2是整数部分

    dis[2]=ad_data/51;   //AD值转换为3为BCD码,最大为5.00V。
    dis[2]=dis[2]+0x30;         //转换为ACSII码
    dis[3]=ad_data%51;   //余数暂存
    dis[3]=dis[3]*10;    //计算小数第一位
    dis[1]=dis[3]/51;
    dis[1]=dis[1]+0x30;         //转换为ACSII码
    dis[3]=dis[3]%51;         
    dis[3]=dis[3]*10;    //计算小数第二位
    dis[0]=dis[3]/51;                                                                             //
    dis[0]=dis[0]+0x30;  //转换为ACSII码           
}
以上为程序代码
一、uchar ad_data是pcf8951通过ad转换来的电压值,请问这个电压值是16进制的吗?还是几进制?

二、转换为ACSII码的过程能不能给分析一下,为什么除以51,为什么加0x30?最好举个实数的例子。

谢谢各位前辈的指教。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。