4显示电路设计
温度显示采用6位LED,与单片机的连接如图4所示。显示模块由8279键盘、显示接口芯片和相应的驱动电路组成。8279的扫描线SLA~SLC在扫描过程中,可将芯片内部显示单元的内容送到输出数据线OA0~OA3和OB0~OB3扫描线经74HC138译码,作为多位LED数码管的位选线,通过74LS04反相后,再经过位驱动芯片,用于对不同的数码管进行位驱动。同时,用OA0~OA3和OB0~OB3送出的数据对应地驱动每个数码管的8个显示段,使6个数码管轮流驱动发光。驱动芯片采用SN75491和SN75492,分别驱动数码管的段和位显示,保证6位数码管都被点亮时需要的最大电流。
5通信模块设计
为了满足数据传输距离大于200m,通信采用75LBC180全双工485芯片,单片机通信电平和计算机电平的转换采用MAX232完成,如图5所示。MAX232芯片是专为电脑的RS232标准串口设计的接口电路,使用+5V单电源供电。另外。RS232到RS485的转换可采用专用的转换器,如BOK-60或ATC-160A无源转换器。
软件设计
蓄电池温度监测系统的软件设计主要包括主程序、外部中断子程序、显示子程序等。图6是该系统的主程序流程图。用于完成对DS18B20的调用、中断管理、测量温度值的计算及温度值的显示等功能。主机89S51首先复位脉冲使信号线上所有的DS18B20芯片都被复位,接着发送跳过ROM操作命令,激活在线的所有DS18B20,然后系统转人中断处理流程,完成温度转换,读取等工作。外部中断子程序完成对温度测量数据的读取,显示子程序完成液晶显示器的初始化及显示温度值。
基于89S51和DS18B20的通信电源蓄电池温度监测系统,接口简单,占用微处理器的端口较少,可节省大量的引线和逻辑电路,与传统装置相比,具有结构简单,成本低,可靠性和测温精度高,功耗低,应用面广等优点。