充電電池容量自動(dòng)測試儀設(shè)計(jì)與實(shí)現(xiàn)
編譯后,寫入單片機(jī)內(nèi)部,做好放電電路部分與51單片機(jī)的連接,便可投入使用。
電池接入后,按動(dòng)輕觸按鍵“啟動(dòng)”,就會(huì)進(jìn)入一次容量測試過程,期間電池取出接入,都不會(huì)影響到單片機(jī)計(jì)時(shí)。電池放電完畢,單片機(jī)數(shù)碼管顯示鎖定,給出總放電持續(xù)時(shí)間,單位為秒??梢宰孕腥斯び?jì)算放電小時(shí)數(shù)。當(dāng)然也是可以自行對程序進(jìn)行改進(jìn),直接以小時(shí)分鐘形式進(jìn)行顯示。只要單片機(jī)不斷電,數(shù)碼管將持續(xù)顯示當(dāng)前放電時(shí)長。如果要進(jìn)入下次測量過程,只需要按動(dòng)單片機(jī)復(fù)位鍵,數(shù)碼管清零,單片機(jī)程序轉(zhuǎn)入起點(diǎn),你就可以進(jìn)入新一次的容量測試過程了。
充電電池如果較長時(shí)間閑置,它的實(shí)際容量將受到影響,重新啟用第一次能夠釋放的容量遠(yuǎn)遠(yuǎn)達(dá)不到標(biāo)注容量,放電電壓也很不平穩(wěn)。至少要經(jīng)過三次以上的充電放電循環(huán),電池完全激活,容量才能恢復(fù)到應(yīng)有的水平。充分考慮這種因素的影響,所以容量測試一般采取多次平均的方式,或者循環(huán)充放電三次以后放電持續(xù)時(shí)間為準(zhǔn),以此衡量電池容量才算是恰當(dāng)。
#include “reg51.h”
char
code disp[]={40,235,50,162,225,164,36,234,32,160};
//字形碼
void delay(unsigned int dt)
{ unsigned int j=0;
for(;dt>0;dt--)
{ for(j=0;j125;j++)
{;}
}
}
void main()
{ int a,b,c,led1,led2,led3,led4;
P3=255;
a=0;
for(;;)
{b=a;
led1=b%10;
P2=239;
P0=disp[led1];
delay(6);
P2=255;
b=b/10;
led2=b%10;
P2=223;
P0=disp[led2];
delay(6);
P2=255;
b=b/10;
led3=b%10;
P2=191;
P0=disp[led3];
delay(6);
P2=255;
b=b/10;
led4=b%10;
P2=127;
P0=disp[led4];
delay(6);
P2=255;
for(c=44;c>0;c--)
{
P2=239;
P0=disp[led1];
delay(5);
P2=255;
P2=223;
P0=disp[led2];
delay(5);
P2=255;
P2=191;
P0=disp[led3];
delay(5);
P2=255;
P2=127;
P0=disp[led4];
delay(5);
P2=255;
}
if(P3==127)
delay(3);
if(P3==127)
a=a+1;
else a=a;
}
}
評(píng)論