stc15单片机用自带的ad检测3.7v锂电池电压,问题是vcc是变动的,就是电池电量多少,vcc

stc15单片机用自带的ad检测3.7v锂电池电压,问题是vcc是变动的,就是电池电量多少,vcc就多少,这样作为参考电压很有问题,请问有什么办法可以解决这个问题,在程序上怎么解决?前提是不用增加基准电源芯片?求大神指导

当然要增加基准电源,无论测量什么都要有基准,对于用3.7v锂电池供电的单片机,当然不能用电池电压为基准,虽然该单片机AD基准电压不能单独设定,但AD模块有多个输入端子,可以在一个输入端接基准电压,如TL431或其它两端稳压源,在电源电压已知的情况下,测基准电压,得到一个数字量,将此值写入程序中或存入EEPROM中(批量生产,校正采用统一的电压,但基准源有离散性),以后每次测量前,测一下基准电压,获得另一个数字量,就可推算出电源电压
由于电池的电压不能突变,所以紧接着的其它测量(不只是求电源电压)就可以按已知的电源电压作为基准,也可以直接和稳压源的数字量对比得到真实值

如已知电源电压5V,测基准电压源获得数字量400(也可算出基准源的电压),若电源电压变动后测同一基准源得数字量500,则可知电源电压是4V,此时马上用AD的另一个端子测第三个输入电压得数字量得200,可推算此电压便是2V
因 所测实际电压=测得数字量/满量程数字量*电源电压
实测电压就是基准源是一定的,那么电源电压与所测数字量成反比关系
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-02

STC15XX  单片机 自带的AD 的同时也自带了内部基准电源,具体请见手册,请见链接网页链接。链接中有例程,直接对着例程修改一下就可以,STC15F和STC15 W都有,这个功能我用过,还是不错的。有什么不懂得可以再问

第2个回答  2015-08-24
电池电压和电量不是线性关系,而且会随寿命变化,所以你这问题不是一般的难解决