/******************************************************************/
/* */
/* 数据处理与显示 */
/* 将采集到的数据进行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?最好举个实数的例子。
谢谢各位前辈的指教。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>