(说明:由于adc0816的基准电压为5V,而显示结果要扩大6倍,所以要乘以30,adc0816为8位,所以除以256;表达示中 +0x30 的意思是将其转化为ASCII码)) 转换基本公式为(d/256)*5 由于"/"运算为取摸运算误差太大,d为采样值 uchar k,kk; k=(ad[0]*30/256)+0.5; kk=(ad[0]*300/256)+0.5; vol0[0]=(k/10)+0x30;vol0[1]=k%10+0x30;vol0[2]='.';vol0[3]=kk%10+0x30; 我将adc0816采集进来的数据存储在数组ad[16]中,现欲显示在lcd屏幕上,但发现转换结果有很大的误差,各位前辈有什么更好的方法吗,给我指导一下!
|