请教各位:我用的是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;//容量值,时间。时间该咋处理呢?从秒开始吗?一点点累积?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>