图中(1)为LDO降压电路,作为ADC的外部电压基准源,如图(3),纽扣电池电压变革的时候VREF_1.8V保持不变。
图中(2)部分为纽扣电池电压的分压电路,分压后作为ADC的采样输入,如图(4)
采取上图电路,可以实现对纽扣电池电压的检测,但是既增加了本钱,又增加了电路的繁芜性。是否可以考虑其他方法呢?答案是肯定的。

在STM8L151芯片的内部,有一个固定的内部参考电压,ST的技能手册里命名为VREFINT
该内部参考电压的值纵然芯片电源电压在事情范围内颠簸时,它基本坚持不变即1.224V,而且该电压旗子暗记可以通过指令掌握直接连接到ADC 的某个AD 通道而求得该电压对应的AD 值。
这里须要解释一下,该内部参考电压VREFINT并非ADC 的参考电压,ADC 的参考电压
依然是VDD。纵然VDD 有所颠簸,这个VREFINT电压恒定不变,对付ADC 电路而言,它只是个测试点。这里常常有人犯含糊,把VREFINT内部基准参考电压跟ADC 模块的参考电压混为一谈。
此时在程序上把VREFINT作为ADC的采样电压,纽扣电池电压作为ADC的外部基准电压,那么可以得到一下公式:
只要读出ADC的值,就可以打算出纽扣电池的电压了,电路图如下:
通过和上图比拟,可以看此图更加精简。