标题: 基于51单片机+TLC2543的锂电池检测电路图+PCB+程序 [打印本页]

作者: 忖腹食水    时间: 2018-12-14 13:33
标题: 基于51单片机+TLC2543的锂电池检测电路图+PCB+程序
Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)


单片机源程序:
  1. #include "common.h"
  2. #include "lcd1602.h"
  3. #include "TLC2543.h"

  4. //#define V_max  42  //4.2V  电量100%
  5. //#define V_min  36  //3.6V  电量0%
  6. #define V_max  120  //4.2V  电量100%
  7. #define V_min  106  //3.6V  电量0%
  8. uint Vol_AD=0;
  9. uint Vol=0;
  10. uint Ele=0;
  11. uint Count=0;
  12. void Caculate_Vol(void);
  13. void main()
  14. {
  15. LCD_init();
  16. LCD_Set_Blink(0);
  17. LCD_write_string(0,0," Welcome To Use!");
  18. delay_ms(2000);
  19. LCD_clear();
  20. LCD_write_string(0,0,"Voltage:      V ");//5
  21. LCD_write_string(0,1,"Electrical:100% ");
  22. Caculate_Vol();
  23. while(1)
  24. {
  25.   Count++;
  26.   if(Count>500)
  27.   {
  28.    Count=0;
  29.    Caculate_Vol();
  30.   }
  31.   delay_ms(1);
  32. }
  33. }
  34. void Caculate_Vol(void)
  35. { Vol_AD=read2543(0);
  36. // Vol=(float)Vol_AD/4095*5000;
  37.   Vol=(float)Vol_AD/4100*12000;
  38. LCD_write_uint0(8,0,Vol);//8

  39. // if(Vol>4200)
  40. if(Vol>12000)
  41. {
  42.   Ele=100;
  43.   LCD_write_uint1(11,1,Ele);
  44. }
  45. // else if(Vol<3600)
  46. else if(Vol<10600)
  47. {
  48.   Ele=0;
  49.   LCD_write_uint1(11,1,Ele);  
  50. }
  51. else
  52. {
  53. //  Ele=(Vol-3600)/6;
  54.   Ele=(Vol-10600)/15;
  55.   LCD_write_uint1(11,1,Ele);
  56. }
  57. }


复制代码

全部资料51hei下载地址:
锂电池检测程序.rar (44.26 KB, 下载次数: 87)
锂电池电路.rar (391.15 KB, 下载次数: 85)




作者: phang    时间: 2018-12-15 09:59
学习下,谢谢分享~
作者: ptlantu    时间: 2018-12-15 13:24
学习学习
作者: a89588038    时间: 2019-4-18 09:24
学习学习,认真的学习
作者: wyq7892    时间: 2022-1-4 14:57
PCB在第2个文件里面

作者: liuyiyi    时间: 2022-2-9 10:32
改成放电就很优秀了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1