软件部分由下位机程序和上位机程序两部分组成,包括:主程序,T0中断服务子程序,ADC完成(外部中断)服务程序,电源调整子程序和高级语言开发的上位机(PC机)程序。主程序流程图如图2所示。

2.2.1 下位机主程序
下位机主程序包括:损耗、电流,以及温度采样的间隔时间等参数设置;电量和温度采集控制,相应的数据处理及结果判定。
定时器T0用作电量采样定时。
判定标志位F1(F1设置见2.2.2):
F1=0,做电量处理,单片机把采集到的电量数据(试验中加在被试变压器上的电压,电流等数据)进行处理,计算出损耗等相关的参数值,并保存数据以便试验人员分析试验之用。数据简单处理后,还把检测值与初始设定的参数值(损耗等)对比,若误差超出允许范围,则调用电源调整子程序。
F1=1,清除F1,做温度处理,单片机对采集的温度数据进行适当处理,判定结果。若检测到的温度变化小于1K/h,继续维持三小时,若温度变化都不大于1K/h,油顶层温升已经稳定。报警提示工作人员,进行下一阶段试验:热态电阻测量。
2.2.2 T0中断服务子程序
在T0中断服务程序中,通过循环计数实现10min温度采样间隔定时。时间未到,标志位F1为0,选择电量采集。若定时时间到,设定F1为1,选择温度采集。采用通道计数器完成对电量或温度各通道的循环选定。选择通道后,启动AD转换,返回主程序。
2.2.3 外部中断服务程序
ADC转换完成信号作为外部中断源,中断服务子程序中,读取ADC转换结果,根据F1标志和通道计数器,决定存储地址。数据存储后,返回主程序。
2.2.4上位机程序(PC机)程序
上位机程序采用高级语言Visual C++6.0进行编程。
除能实现下位机程序的所有功能外,还可对数据进行较为深入的处理和管理,形成试验日志和自动填写实验报告。