AD转换后数字量的处理

假设模拟输入电压的最大值为5V,A/D转换器件为8位转换。

【该转换器的分辨率为1/2n=0.3906%.】

【能分辨输入模拟电压变化的最小值为5*0.3906%=19.5mv.】

则模拟电压与数字输出之间的关系为:

模拟电压(V) 数字输出
0 0
0.0195 1
1 33H
4 0CCH
5 0FFH

假设数字输出为d,则

在AD转换程序中处理方法如下:

d和dis[]是uchar类型的。程序是开发板里的,突然出现的51让人很难理解。推导过程如上图。

dis[2]=d/51;      //整数部分
dis[3]=d%51;    //余数暂存


dis[3]=dis[3]*10;   //计算小数第一位
dis[1]=dis[3]/51;
dis[3]=dis[3]%51;  //余数暂存


dis[3]=dis[3]*10;   //计算小数第二位
dis[0]=dis[3]/51;

程序的算法是模拟除法的过程:

posted @ 2013-12-17 11:45  Andy Cheung  阅读(2186)  评论(0编辑  收藏  举报