求助pcf8951 AD转换的问题。
/******************************************************************//* */
/* 数据处理与显示 */
/* 将采集到的数据进行16进制转换为ASCLL码。 */
/* */
/******************************************************************/
show_value(uchar ad_data)
{ //0是第二位小数,1是第一位小数,2是整数部分
dis=ad_data/51; //AD值转换为3为BCD码,最大为5.00V。
dis=dis+0x30; //转换为ACSII码
dis=ad_data%51; //余数暂存
dis=dis*10; //计算小数第一位
dis=dis/51;
dis=dis+0x30; //转换为ACSII码
dis=dis%51;
dis=dis*10; //计算小数第二位
dis=dis/51; //
dis=dis+0x30;//转换为ACSII码
}
以上为程序代码
一、uchar ad_data是pcf8951通过ad转换来的电压值,请问这个电压值是16进制的吗?还是几进制?
二、转换为ACSII码的过程能不能给分析一下,为什么除以51,为什么加0x30?最好举个实数的例子。
谢谢各位前辈的指教。 mark
页:
[1]