假设模拟输入电压的最大值为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;
程序的算法是模拟除法的过程: