请教:单片机如何计算处理电池放电容量

2019-07-15 12:43发布

请教各位:我用的是STC15W408AS采集电池放电容量大小。主回路是2A恒流放电,我的思想是根据Q=I*T来计算,定时器定时来完成T的计算。现在AD采集电流没有问题。主要是时间的处理。
void tiMER2_INITAL()//定时器2初始化设置
{   AUXR |= 0x04;                   //定时器2为1T模式
    T2L = T1MS;                     //初始化计时值:1MS
    T2H = T1MS >> 8;
    AUXR |= 0x10;                   //定时器2开始计时   
    IE2 |= 0x04;                    //开定时器2中断
    EA = 1;
}
//中断服务程序
void t2int() interrupt 12   using 1        //中断入口,1MS时间到,进入。
{        c--;
        if(c==0)                //1S时间到,开始计算容量
        {T++;                //时间累加
         CAP=I*T;        //容量
       }
         C=1000;      //1000ms为1s
}
然后在主程序里面将容量CAP进行处理,并送LCD显示。

程序开头定义了变量unsigned int CAP ,T;//容量值,时间。时间该咋处理呢?从秒开始吗?一点点累积?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。