基于AT89S52单片机的太阳能参数测试仪设计

1.4 充电电路

充电电路的核心器件采用的是上海如韵公司生产的专用充电芯片CN3058,它可以对单节磷酸铁锂可充电电池进行恒流/恒压充电。该器件内部集成有功率晶体管,使用时不需要设计外围电流检测和保护电路,适用于便携式的应用领域。

图4为锂电池充电电路。其中LEDl和LED2分别作为充电中和充电饱和两种状态的指示灯,R1在充电时起限流保护的作用;电容C1和C2采用的是多层陶瓷电容器(MLCC),能保证充电电路稳定工作。

基于AT89S52单片机的太阳能参数测试仪设计

1.5 通信模块

测试仪通过RS485工业总线与PC机进行通信,其硬件接口电路如图5所示。

基于AT89S52单片机的太阳能参数测试仪设计

2 软件设计

2.1 总体设计

测试仪的软件开发环境采用的是Keil C,所有代码采用C语言编写。为了方便程序调试和提高可靠性,软件采用模块化结构设计,主要由初始化程序、主程序、子程序、中断服务程序等组成。单片机上电后即开始循环执行温湿度、照度测量程序,并以设定的时间间隔在数码管上轮流动态显示;按键切换和通信功能部分由于使用频率相对较低,为降低设备功耗,其程序以中断响应的方式执行。在此要注意中断优先级的设置:按键中断优先级应高于串口中断,否则将无法进行显示切换。主程序流程如图6所示。

基于AT89S52单片机的太阳能参数测试仪设计

2.2 传感器驱动程序

本系统采用的传感器均为集成数字芯片且都具有I2C总线接口,故其驱动程序的编写要严格遵循I2C总线的时序。主程序为每一个参数开辟了一个8位的存储空间,传感器将采集到的数据经SDA引脚串行输出,驱动程序将SDA线上输出的数据进行串并转换,并存储到相应空间中,以方便其他功能程序调用。以下是照度传感器数据采集程序的部分代码。

(1)TSL2561初始化

基于AT89S52单片机的太阳能参数测试仪设计

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