说说我转化的思路:
1.我想对应的模拟量保留两位小数;
2.所以我先把数字量乘以357(Vcc为参考电压)并把它赋值给一个长整形ad,然后ad再除以1024,得出三位整数temp
uchar temp1,temp,bai,shi,ge;
usigned long ad;
temp1=ADC10MEM;
ad=temp1*357;
temp=ad/1024;
bai=temp/100;
shi=temp/10%10;
ge=temp%10;
最后在1602液晶显示是在bai和shi之间加个.
但是。。。。不行。。。。
我把它改成
uchar temp1,temp,bai,shi,ge;
usigned long ad;
temp1=ADC10MEM;
ad=temp1*36;
temp=ad/103;
bai=temp/100;
shi=temp/10%10;
ge=temp%10;
这样可以显示,但精度不够。。。。
为什么会这样子呢? |