单片机的ADC接口归于模数转化接口,将外部的模拟量信号转化为数字信号,单片机归于数字器材,需将模拟信号转化为数字信号才干够为单片机处理。目前市场的许多单片机都自带ADC转化接口,若无ADC转化接口,能够运用ADC数模转化芯片外扩。
ADC模块是将模拟信号转化位数字信号,数字信号用0和1表明,ADC模块有参阅电压,假设给的参阅电压是5V,ADC是12位的(几位表明用二进制几位数存储模拟量转化后的数字量,12位的ADC则可贮存数字量规模为:(二进制)000000000000~111111111111,转化为十进制数字规模为0~2^12即0~4095。
也就是说把参阅电压分为2^12份即4096份,最小分辨率为VREF/4096。
也就是说二进制的000000000000代表输入模拟量0V,而111111111111代表最大值VREF。
下面以上图C8051单片机为比方,如原理图所示,该单片机作业电源为3.3V,参阅电压为2.048V,所以模拟量的输入规模为0~2.048V。若所需收集的电压规模大于参阅电压值时,能够运用电阻分压进行降压或许运用运放进行缩小等。
该单片机ADC为12位的。也就是说输入电压为0时,单片机转化后的数字量成果为000000000000(二进制),当输入电压为2.048V时,单片机转化后的数字量成果为111111111111(二进制),十进制为4095。
也就是说,输入电压的值V=2.048×ADC收集到的数字量÷4095。
比方咱们要收集一个0~10V规模的模拟量电压进行显现,那么,能够先将0~10V的电压缩小5倍,能够运用电阻分压,也能够选用运放缩小等方法,然后接入单片机的ADC采样口,能够接入上图的P2.2口。
最终换算公式为:V = result * 2.048/ 4095 * 5;其间 result为单片机收集到的数字量。