打印
[STC单片机]

单片机如何处理放电容量

[复制链接]
956|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hyseyic|  楼主 | 2016-10-31 13:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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显示。

相关帖子

沙发
hyseyic|  楼主 | 2016-10-31 13:03 | 只看该作者
程序开头定义了变量unsigned int CAP ,T;//容量值,时间。时间该咋处理呢?从秒开始吗?一点点累积?

使用特权

评论回复
板凳
whtwhtw| | 2016-10-31 17:11 | 只看该作者
定时器中断,每0.1s或者多少秒计算一次电压和电流,累加

使用特权

评论回复
地板
hyseyic|  楼主 | 2016-10-31 21:11 | 只看该作者
whtwhtw 发表于 2016-10-31 17:11
定时器中断,每0.1s或者多少秒计算一次电压和电流,累加

1定时中断里这样处理:当 1S时间到的时候:Q0=Q0+I;
                              Q1=Q1+Q0/3600;
可以吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

166

帖子

1

粉丝