充电过程实时检测,检测电池容量和温度,当温度达到一定范围时报警。液晶显示容量和温度值。
包含的电路有温度检测电路,显示电路,声光报警电路,电池容量检测电路,单片机控制电路,指示灯显示电路。
可以适合多场景:电动车充电、手机充电、电瓶车、其它充电设备
DS1621_state()
{
do
{
I2C_start();
}
while(I2C_send(0x90));
if(I2C_send(0xac)==0)
{
do
{
I2C_start();
}
while(I2C_send(0x90));
if(I2C_send(0x00)==0)
//if(I2C_send(0x01)==0)
{
I2C_stop();
return 1;
} else
return 0;
} else
return 0;
}
void DS1621_th()
{
}
void DS1621_tl()
{
}
void DS1621_init()
{
while(DS1621_stop()==0)
{
}
;
while(DS1621_state()==0)
{
}
;
DS1621_th();
DS1621_tl();
}
/****************************************************
字符为16*16显示,分为两个部分写入32个字节
前16个字节写入第一页(16*8),后16个字节写入
第二页(16*8)
*****************************************************/
void C_display_L(uchar C_Pagenum,uchar C_Tiernum,uchar C_Temp)
{
uchar k;
C_Pagenum=PAGEADD|C_Pagenum;
C_Tiernum=TIERADD|C_Tiernum;
WRCommand_L(C_Pagenum);
WRCommand_L(C_Tiernum);
for (k=0;k<16;k++)
{
WRdata_L(table2[C_Temp*32+k]);
}
;
C_Pagenum=C_Pagenum+1;
WRCommand_L(C_Pagenum);
WRCommand_L(C_Tiernum);
for (k=0;k<16;k++)
{
WRdata_L(table2[C_Temp*32+k+16]);
}
;
}