如 8位ADC的最大量化值为 11111111=255,所对应的电压值就是 Vref;
所以有 Vref/255 = 25/X,X就是25V所对应的电压量化值;使用一个引脚来釆集基准,就是25伏那个,如果是8位,电源是5伏,那釆来的值就是128
如果电源为4伏,此时基准仍是25伏,那釆来的值大于128
根据釆来的值的差计算出当前的电源电压,就可精确得到釆集值了。
另外stc单片机的基准电压就是比电源电压低0几伏的一个电压
单片机的运算能力有限,不可能每次釆集都先算下电源电压,但电源也不可能变化很快,所以可以每釆集几十次再算次基准。或者每次上电时釆集一次。记得没错的话,ADC12CTL0中的ENC必须先清零,才可以去设置别的寄存器,不然你设置了白设。初始化第一条 就是IO第2 功能,紧接着就是 ADC12CTL0 &=~ ENC;
Have a try这个ADC参考电压你可以在要求不严格的情况下,直接接单片机电源33V。如果要求高点的,你在33V与VDD及GND与VSS之间都串磁珠后加小电容滤波提供给VDD与VSS当参考带电源使用,如果要求再高一点,你就外部使用高精密稳压芯片,比如33V的或者25V从数据手册看,STM32F103ZET6的ADC1的参考电压是外部输入的,它的31脚和32脚就是基准电压输入脚。输入模拟信号为Vref-,时,ADC的输出为000000000000,输入模拟信号为Vref+时,ADC的输出为111111111111。Vref的取值范围24 V≤Vref≤Vdda。
管脚100的,Vref+和Vref-是21脚和20脚。
管脚100以下的不清楚。C52是一种单片机,而ADC是模数转换器(Analog-to-Digital Converter),用于将模拟信号转换为数字信号。根据不同的芯片型号和具体的应用场景,编写ADC电压校准程序代码的方法也会有所不同。以下是一些编写程序的一般步骤:
1 确定校准的目标:在进行ADC电压校准前,需要先确定校准的目标,即希望将模拟电压转换为多少位的数字量,以及校准精度和误差要求。
2 确定参考电压:在校准ADC电压之前,需要先确定参考电压。可以使用外部参考电压或内部参考电压,根据具体情况选择。
3 编写程序:根据芯片型号和具体的应用场景,编写ADC电压校准程序代码。一般而言,程序需要完成以下步骤:
- 初始化ADC模块,包括设置参考电压和转换精度等参数;
- 进行ADC电压转换,并将结果保存在寄存器中;
- 将转换结果与校准值进行比较,计算误差并校准;
- 将校准结果保存在EEPROM中,以便下次使用。
4 测试:在编写完程序后,需要进行测试,以确保校准结果符合要求。
需要注意的是,每种芯片都有自己的编程规范和指令集,因此在编写程序时需要仔细阅读相关文档,并根据实际情况进行调整。同时,还需要注意电路设计和电路布局,以避免干扰和误差。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)