相关主控模块程序如下:
#include <reg52.h>
#include <ABSACC.h>
#include <intrins.h>
#include <stdio.h>
#define uint unsigned int
#define uchar unsigned char
void main( )
{
void delay(uint z); //延迟函数
void Init(); //初始化函数
while(1) //给出一个死循环,不停地采样
{ //接收中断
AD= Read_ADC(); //获取从AD转换器的电压数据
ADCON &= ~0x10; //将ADCON.4(ADCI)清零以启动新转换
Send(AD); //将当前模拟电路电压发回至摇控显示
Delay(5000); //延时5毫秒
ES=0; //关串口接收
If (auto=1) //判断模拟开关调控是手动还是自动
{
If (AD<=v1-v2 || AD>=v2+v2) //从AD得到的电路电压值与参考值的比较
{
Switch=1; //当AD数值与参考值相差很远,即高压或低压等故障,将模拟电路关闭
Delay(10000); //延时10毫秒
}
}
ES=1; //开串口接收
}
3.2 遥控模块流程
图4 遥控模块程序流程图
遥控器程序(参见图4)与主控模块的功能相互对应,通过无线双工协议发射控制命令到主控模块,然后对被测电压值通过无线网络传送回遥控器,进而显示被测电压值。
4 总结
本系统对现行的一些高压电力系统的电力开关控制作了简要而实用的改进与相关问题的解决,仅对被测非正常电压切断与闭合,缺乏对现行非正常电压的稳定电路。由于本系统采用模块化与接口的设计思想和无线网络的通讯模式,硬件的更改和软件的移植都非常方便,本系统的体积小,功耗低,成本低、可靠性高,适用于中小型变电站的无人值守改造与后续电路的保护,具有一定的经济效益。