首先清watchdog,然后通过GPIO_A0检测USB状态,接下来进行充电引脚GPIO确认并开始充电,充电时将GPIO_A0(如检测电路图)寄存器的对应位置高电平,同时利用GPIO_B6进行电池状态检测[6][7]。当需要对4位ADC寄存器读写数据时,需要设置其端口值参数,通过电池状态检测后,最后将检测到的电池参数通过显示函数显示在LCD上。

其初始化代码如下:

output8(0x4e,input8(0x4e)|0x08)//清watchdog

output8(0xee,input8(0xee)|0x01); //初始化端口参数,开始充电

output8(0xf0,input8(0xf0)&0xbf);

output8(0xf1,input8(0xf1)|0x40);

output8(0xee,input8(0xee)& 0xfe);

if((input8(0x50)&0x40)!=0x40)

if(!(input8(0xee)&0x04)) //防止充电黑屏后拔掉USB不开

4、结束语

通过该方法设计的锂电池检测系统不仅可以有效防止电池的过压、过充、过放、过温,同时可以智能监控电池的电压状态;该设计方案简单易行,稳定可靠,对于嵌入式系统的设计与研发具有一定的指导意义和实践价值。该方法的创新之处在于不管外接干电池、锂电池还是镍氢电池均可以用该电路设计方法对电池进行监控。

责任编辑:gt

关于测量仪表就介绍完了,您有什么想法可以联系小编。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查