ADC0809电压表 数据采集与处理方法
float temp;//浮点保留小数点后面六位,最后一位四舍五入
uchar val_int;//用于存储整数位
uint val_decimal;//存小数位
temp = ad_dat * (5/255);//主要是这个地方的原理比较重要:首先输出数据的8个口,能够表示的无符号整数范围是0~255。而测量电压的范围是0~5V(以参考电压连接决定),所以接收到的整数与想要得到的电压值存在 5/255 的数量关系。为了保持精度,所以temp用的是float类型。
val_int = (uchar) temp;//强制转换,保留temp的整数部分,注意,这里并不会改变temp的数据
val_decimal = (uint) ((temp - val_int) * 100);//把整数部分减去为0之后。把想要保留的小数提上来,这样数码管显示的时候当做整数来处理。
更正错误:temp = ad_dat * (5/255);这条语句中,(5/255)必须用算出值0.0196078。原句改为:temp = ad_dat *
ADC0809电压表数据采 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)