文章具体内容如下:单片机在日常生活中用得越来越多,其集成度也越来越高,目前拥有多种单片机都集成有A/D 转换功能,如 PIC,AVR,SUNPLUS,SH 等。处理器的位数从 4 位到 32 位或更高,转换精度从 6 位,8 位,10 位或更高。单片机内集成的 A/D 转换,一般都有相应的特别功能寄存器来设置 A/D 的使能标志,参考电压,转换频率,通道选择,A/D 输入口的属性(模拟量输入还是普通的 I/O 口),启动,停止控制等。有了这些寄存器,使得我们控制单片机的模拟量采集变得非常方便。A/D 转换的基本原理是:将参考电平按最大的转换值量化,再利用输入模拟电平与参考电平的比例来求得输入电平的测量值(V 测=V 参*(AD 量化值/AD 转换的最大值))。有些 MCU A/D 转换的参考电平可以选择由一个外部引脚输入,这样使得用户可以对 A/D转换进行更好的控制。值得注意的一点就是 A/D 转换的输入电平必须比参考电平低或相等,不然测试的结果就会有很大的偏差。下面以参考电平为 5V,转换的精度为 8 位为例来说明如何取得实际的测量值是多少。假如 AD 量化值为 128,则 V 测= 5*128/256=2.5V。因为 V 测=V 参*(AD 量化值/AD 转换的最大值)=AD 量化值*(V 参/AD 转换的最大值),而针对具体的硬件电路,“V 参/AD转化的最大值”是一个固定的系数。而这个系数,就相当于测试的精度了。对于 10 位的A/D,5V 的参考电压的测试精度约 5 毫伏,而用 2.048 伏的参考电压,精度就可以达到 2毫伏。当然测试的电压范围相应的也减小了。我曾经就用这种减小测量范围来提高精度,使用 PIC16F76 做 A/D 测量,使得正负误差不超过 5 毫伏的高精度测试电源。当误差超过 5毫伏时,电路发出报警声,提示操作员,重新调解电压到规定范围内。然而,即使使用同样一款 MCU,不同的软硬件设计者,使得 A/D 转换的效果相差也甚远。主要是很多新手在处理上有些不当,不是直接把一次转换后的结果拿来处理并做相应的显示,就是对参考电平不做处理。所以使得显示效果老是变化不定,给人一种不稳定的感觉。针对参考电平设在单片机内部的 MCU,主要是要对 A/D 的量化值做数字滤波处理,比如多次间隔采样,再求平均等。而针对参考电压可以从外部输入脚引入的,最好单独设置一组高稳定度的参考电压,如 TL431 等。这样,即使 MCU 的主电源有些波动也不会导致 A/D 转换值的漂移。其实在没有高精度参考电压的情况下,或者 A/D 量化值很不稳定的情况下,我们依旧可以通过软件的方法将与 A/D 转换有关的显示或其他的驱动做得非常稳定。这就要看程序员的设计经验了。