本帖最后由 qazq123 于 2015-10-23 15:35 编辑
能不能再帮忙看看。我数码管显示为225.0V,有万用表测限流电阻端的电压为0.299~0.302之间变换。我是计算出问题了吗?还是数据类型出问题?还是采集错了?求帮忙,大哥。temp_single是unsigned int型。temp_sum是unsigned long型。VREF是50。 参考电压为5V。直流偏置2.4V
#pragma interrupt_handler adc_isr:iv_ADC
void adc_isr(void)
{
ADMUX =0x46;//选择内部AVCC为基准
temp_single=ADC&0x3ff;
temp_single=(unsigned long)((unsigned long)(temp_single*50/0x3ff)-24);
temp_sum = temp_sum + temp_single*temp_single;
if(flag==64)
{
adc_rel=(unsigned int)((unsigned long)(sqrt((temp_sum)/64))*750);
flag = 0;
temp_sum = 0;
}
}
|