原创
N76E003 使用bandgap测量供电电压
N76E003 可以使用单节锂电池直接供电。不需要使用任何AD通道,利用内部集成的带隙参考源可以测量供电电压
带隙参考源 bandgap 标称电压为 1.22V,ADC的参考源为单片机供电电压,当供电电压变化时,测得的Bandgap电压值会不一样。
可以使用公式: 供电电压 = 1.22*4095/Bandgap采样值 求出供电电压。
下面的代码是启动Bandgap 进行AD转换,最后获得小数点后两位的电压值。
- Enable_ADC_BandGap;</span>
- clr_ADCF;
- set_ADCS; // Each time ADC start trig signal
- while(ADCF == 0);
- i = 0;
- tempstr[i++]='V';tempstr[i++]='a';tempstr[i++]='l';tempstr[i++]=':';
- // 供电电压 = 1.22*4095/Bandgap采样值
- temp = ADCRH;
- temp <<= 4;
- temp += (ADCRL & 0x0F); // 取得带隙采样值
- temp1 = 49959 % temp; // 取得余数
- temp1 *= 10;
- temp1 = temp1 / temp; // 得到小数位
- temp = 49959 / temp; //扩大10倍 12.2*4095 Bandgap
- BatVolt = temp; // 保存电池电压
- tempstr[i++]= '0' + temp / 10;
- temp %= 10;
- tempstr[i++]= '.';
- tempstr[i++]= '0' + temp;
- tempstr[i++]= '0' + temp1;
- tempstr[i++]= 'V';
- tempstr[i++]= '\r';tempstr[i++]= '\n';tempstr[i++]= '\0';
- Send_Str_To_UART0(tempstr,i);
作者: southcreek, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-408807.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
yzw92 2021-1-22 06:23
curton 2021-1-21 18:22
欢迎点击
论坛> >机器人/工业电子> >工业电子与自动化
https://mbb.eet-china.com/forum/topic/85437_1_1.html