俺胡说几句:<br /><br />假如电压基准是Vref=5V.输入信号Vi=0~5V.(超过基准电压要分压)<br />AD转换为10位的,那么就是2*2*.....*2=2^10=1024=0x3ff+1<br />数字将会等分1024份,即0,1,....1022,1023.<br />设数字转换后的"电压值"为Vd.<br /><br />当Vi = 0时, Vd肯定为0,估计人人应该都明白<br /><br />当Vi = 5V时,Vd应该最大,肯定是0x3ff或1023.<br /><br />为何不是1024呢???因为1024就成了11位AD了~~~<br /><br />既然Vi=5V对应Vd=1023<br /><br />所以有 Vd = (Vi / Vref) * (2 ^ 10 - 1)<br /> = (Vi / Vref) * 1023<br /><br />固有Vi=5V Vd = (5V / 5V) * 1023 = 1023;//哈哈,你会说这些都是废话~~~<br />再来Vi=2.5V Vd = (2.5V / 5V) * 1023 = 1023 / 2 = 511或512(你看着办~~~)<br />继续Vi=1V Vd = (1V / 5V) * 1023 = 1023 / 5<br /><br />所以我们就把"公式"推出来了~~~(哈哈~~~俺从不记公式,现推现用,锻炼大脑~~~)<br /><br />所以会有人说俺菜农傻~~~哈哈,不这样傻,脑浆早变成黑色的了~~~<br /><br />那么已知Vd如何求Vi呢???本不该再讲,为了您那晚的真诚,俺就罗嗦几句,也好报恩~~~<br /><br />因为: Vd = (Vi / Vref) * (2 ^ N - 1)//其中N为AD转换的为数<br /><br />那么: Vi = (Vd * Vref) / (2 ^ N - 1)<br /><br />例如: Vd = 250(俺喜欢这个数字~~~)<br /><br />那么: Vi = (250 * 5V) / 1023 = 1.222V<br /><br />千万注意: 为了减小误差,一定要先乘后除!!!!!!!这是ADC/DAC的要领~~~<br /><br />还要注意: 2N-1=1023.<br /><br />网上有很多关于到底是1024还是1023对否的问题.<br /><br />不管争论如何,我个人认为应该取1024.(公式全用2N,而不用2N - 1)<br /><br />因为1024做乘除只需左右移位10次(N次)即可.<br /><br />争论无非是为了1/1024或1/1023.这点小毛病就什么好计较的呢???<br /><br />就像种菜一样,在10米长的菜地里种10棵白菜,间距为10米.<br /><br />那么应该可以压线种10棵,共有9个空隙(间距).<br /><br />有人会站在菜数上考虑问题,也有人从间距上考虑问题~~~<br /><br />课讲完了,俺准备回村吃夜宵去也~~~<br /><br />菜农 2007.12.3 2:50(哈哈~~~又是1个250) <br /> 相关链接:<a href='http://www.**/blog/hotpower/12610/category.aspx'>http://www.**/blog/hotpower/12610/category.aspx</a>
|