如题,10位AD (只用了8位) 锂电电量用四个LED灯来表示
单片机 STM8S003
VREF=5V (78L05输出)
锂电应该在3.0到4.2之间 用四LED表示电量(>3.8V全亮,>3.6&&<3.7亮三个……)
现在问题是 在临界点时 LED会闪
比如adtemp==205时,采样值总是205上下跳变
一般AD值 应该做什么处理 除抖动
int main(void)
{
....
while (1)
{
adtemp=采样值;
....
adtemp取过10次,求平均
if(adtemp>=205)
{
....
}
if(180<=adtemp<=196)
{
....
}
if(adtemp<188)
{
...
}
}
} |