📄 var.h
字号:
//**********************************************************************************
// 公用变量、常量定义区
//**********************************************************************************
#ifdef _VAR_DEFINE
#define __VAR_EXTERN
#else
#define __VAR_EXTERN extern
#endif
//**********************************************************************************
//常数及位变量定义
#ifdef _VAR_DEFINE
//===============================================
//液晶显示对照表
//===============================================
__VAR_EXTERN uchar code LcdCoding[17]=
{
0xED, //"0" a+b+c+d+e+f
0x60, //"1" b+c
0xA7, //"2" a+b+d+e+g
0xE3, //"3" a+b+c+d+g
0x6A, //"4" b+c+f+g
0xCB, //"5" a+c+d+f+g
0xCF, //"6" a+c+d+e+f+g
0xE0, //"7" a+b+c
0xEF, //"8" a+b+c+d+e+f+g
0xEB, //"9" a+b+c+d+f+g
0xEE, //"A" a+b+c+e+f+g
0x4F, //"b" c+d+e+f+g
0x8D, //"C" a+d+e+f
0x67, //"d" b+c+d+e+g
0x8F, //"E" a+d+e+f+g
0x8E, //"F" a+e+f+g
0x00 //" "
};
//===============================================
//时钟温度补偿表
//===============================================
__VAR_EXTERN uchar code Equalize_Table[91]=
{
0x63,0x5F,0x5B,0x57,0x53, // 0~4
0x4F,0x4B,0x47,0x43,0x3F, // 5~9
0x3B,0x37,0x33,0x2F,0x2B, // 10~14
0x28,0x25,0x22,0x1F,0x1C, // 15~19
0x09,0x06,0x04,0x02,0x01, // 20~24
0x00, // 25
0x00,0x01,0x01,0x02,0x03, // 26~30
0x05,0x06,0x08,0x0A,0x0D, // 31~35
0x0F,0x12,0x15,0x19,0x1C, // 36~40
0x20,0x24,0x29,0x2E,0x32, // 41~45
0x38,0x3D,0x43,0x49,0x4F, // 46~50
0x55,0x5C,0x63,0x6A,0x71, // 51~55
0x79,0x81,0x89,0x92,0x9A, // 56~60
0xA3,0xAD,0xB6,0xC0,0xCA, // 61~65
0xD4,0xDE,0xE9,0xF4,0xFF, // 66~70
0x67,0x6B,0x6F,0x73,0x77, // -1 ~ -5
0x7C,0x81,0x86,0x8B,0x90, // -6 ~ -10
0x95,0x9A,0x9F,0xA5,0xAB, // -11 ~ -15
0xB2,0xB8,0xBE,0xC4,0xCA // -16 ~ -20
};
//电表运行状态字
__VAR_EXTERN uchar bdata MeterFlag;
__VAR_EXTERN sbit Battery = MeterFlag^0; //电池状态
__VAR_EXTERN sbit BatUpFlag = MeterFlag^1; //电池上电标志
__VAR_EXTERN sbit ErySaveFlag = MeterFlag^2; //(正/反向)整数电量保存标志
__VAR_EXTERN sbit ReinitUARTFlag = MeterFlag^3; //UART重新初始化标志
__VAR_EXTERN sbit EryRev = MeterFlag^4; //电能方向
__VAR_EXTERN sbit AdjDate = MeterFlag^5; //校时期允许
__VAR_EXTERN sbit Fee0 = MeterFlag^6; //费率位0
__VAR_EXTERN sbit Fee1 = MeterFlag^7; //费率位1
//状态标志位1
__VAR_EXTERN uchar bdata Flag;
__VAR_EXTERN sbit TimeAdj = Flag^0; //校时时间
__VAR_EXTERN sbit TimeProg = Flag^1; //编程时间
__VAR_EXTERN sbit RxdFlag = Flag^2; //接收结束
__VAR_EXTERN sbit TxdFlag = Flag^3; //应答开关
__VAR_EXTERN sbit TxdWork = Flag^4; //发送状态
__VAR_EXTERN sbit KDNH_Last_State= Flag^5; //开端钮盒上次电平状态
__VAR_EXTERN sbit KBG_Last_State = Flag^6; //开表盖上次电平状态
__VAR_EXTERN sbit DspFlag = Flag^7; //显示刷新
//状态标志位2
__VAR_EXTERN uchar bdata SystemStates;
__VAR_EXTERN sbit ClearEvenFlag = SystemStates^0; //清事件记录标志
__VAR_EXTERN sbit LCDShowMode = SystemStates^1; //LCD显示方式选择
__VAR_EXTERN sbit DspDataReadFlag = SystemStates^2; //读显示控制参数标志
__VAR_EXTERN sbit BatAlert = SystemStates^3; //电池报警标志
__VAR_EXTERN sbit EryBln_Flag = SystemStates^4; //电量结算标志
__VAR_EXTERN sbit Prog_Flag = SystemStates^5; //编程允许开关
__VAR_EXTERN sbit Fee_Flag = SystemStates^6; //时段费率检查标志
__VAR_EXTERN sbit CommFlag = SystemStates^7; //通讯标志
#else
__VAR_EXTERN uchar code LcdCoding[17]; //液晶显示对照表
__VAR_EXTERN uchar code Equalize_Table[91]; //时钟温度补偿表
//电表运行状态字
__VAR_EXTERN uchar bdata MeterFlag; //电表运行状态字
__VAR_EXTERN bit Battery; //电池状态
__VAR_EXTERN bit BatUpFlag; //电池上电标志
__VAR_EXTERN bit ErySaveFlag; //(正/反)整数电量保存标志
__VAR_EXTERN bit ReinitUARTFlag; //UART重新初始化标志
__VAR_EXTERN bit EryRev; //电能方向
__VAR_EXTERN bit AdjDate; //校时期允许
__VAR_EXTERN bit Fee0; //费率位0
__VAR_EXTERN bit Fee1; //费率位1
//状态标志位1
__VAR_EXTERN uchar bdata Flag; //状态标志位1
__VAR_EXTERN bit TimeAdj; //校时时间
__VAR_EXTERN bit TimeProg; //编程时间
__VAR_EXTERN bit RxdFlag; //接收结束
__VAR_EXTERN bit TxdFlag; //应答开关
__VAR_EXTERN bit TxdWork; //发送状态
__VAR_EXTERN bit KDNH_Last_State; //开端钮盒上次电平状态
__VAR_EXTERN bit KBG_Last_State; //开表盖上次电平状态
__VAR_EXTERN bit DspFlag; //显示刷新
//状态标志位2
__VAR_EXTERN uchar bdata SystemStates;
__VAR_EXTERN bit ClearEvenFlag; //清事件记录标志
__VAR_EXTERN bit LCDShowMode; //LCD显示方式选择
__VAR_EXTERN bit DspDataReadFlag; //读显示控制参数标志
__VAR_EXTERN bit BatAlert; //电池报警标志
__VAR_EXTERN bit EryBln_Flag; //电量结算标志
__VAR_EXTERN bit Prog_Flag; //编程允许开关
__VAR_EXTERN bit Fee_Flag; //时段费率检查标志
__VAR_EXTERN bit CommFlag; //通讯标志
#endif
//**********************************************************************************
//**********************************************************************************
//公用变量定义
//**********************************************************************************
__VAR_EXTERN pdata uchar ErrInfFlag; //通讯错误信息标志
//
__VAR_EXTERN pdata uchar DspSec; //轮显时间秒计数
__VAR_EXTERN pdata uchar RevSec; //反向时间秒计数
__VAR_EXTERN pdata uchar KBGSec; //开表盖时间秒计数
__VAR_EXTERN pdata uchar KDNHSec; //开端钮盒时间秒计数
__VAR_EXTERN pdata uchar ProgDeLayTimer; //按键检测延时计数器
__VAR_EXTERN pdata uchar ProgActiveFlag; //按键有效标志
__VAR_EXTERN pdata uchar RevDeLayTimer; //电能反向延时计数器
__VAR_EXTERN pdata uchar KBGDeLayTimer; //开表盖延时计数器
__VAR_EXTERN pdata uchar KDNHDeLayTimer; //开端钮盒延时计数器
__VAR_EXTERN pdata uchar CommLCDSec; //液晶通讯指示显示时间
__VAR_EXTERN pdata uchar LCDViewSec; //液晶显示屏查看时间
__VAR_EXTERN pdata uchar ProgLEDShow; //LED编程提示
__VAR_EXTERN pdata uchar NoProgFlag; //无需编程开关按下标志
__VAR_EXTERN pdata uchar DspPtr; //轮显指针
__VAR_EXTERN pdata uchar ComPtr; //通信缓冲区指针
__VAR_EXTERN pdata uchar CommTimer; //通讯帧间隔时间计数
__VAR_EXTERN idata uchar PosErySavePtr[2]; //(正向)整数电量保存指针+校验
__VAR_EXTERN idata uchar RevErySavePtr[2]; //(反向)整数电量保存指针+校验
__VAR_EXTERN pdata uchar ErySaveCode; //(正/反)整数电量保存编号
__VAR_EXTERN pdata uchar RTCBackPtr; //RTC备份指针
//电量数据
__VAR_EXTERN struct ENERGY
{
uchar PulseTmp1[4]; //剩余脉冲数(正)+校验
uchar PulseTmp2[4]; //剩余脉冲数(反)+校验
uchar EryTmp1[4]; //电量小数(正)+校验
uchar EryTmp2[4]; //电量小数(反)+校验
uchar PowerDownTime[5]; //电表掉电时间(分、时、日、月、年)
uchar TimeCheck; //电表掉电时间的校验和
uchar isRev; //上次断电前电能是否反向
uchar RtcPtr; //RTC缓存指针
}Energy;
//
__VAR_EXTERN idata uchar RTC[8]; //时间数据+校验
//
__VAR_EXTERN pdata uchar DspPara[6]; //3位显示控制+1位检验和、轮显时间+反码校验
__VAR_EXTERN pdata uchar DspExch[3]; //显示交换区
//
__VAR_EXTERN pdata uint MSSum; //毫秒和
__VAR_EXTERN pdata uchar ProgTimer; //编程状态计时
//
__VAR_EXTERN pdata uchar MeterRunFlag; //电表运行状态字
__VAR_EXTERN pdata uchar SystemCheckFlag; //系统自检状态字
__VAR_EXTERN data uchar ePowerDownCheckFlag; //使能掉电检测状态字
//
__VAR_EXTERN pdata uchar CurrentMonthNoBlnFlag; //本月电量不结算标志
__VAR_EXTERN pdata uchar isLastMonthEry; //抄收上月电量标志(用于非1日0时结算的抄表日)
__VAR_EXTERN pdata uchar Last_Prog_Flag; //编程键上次状态
__VAR_EXTERN pdata uchar isNewState; //电表在新进状态时,连续运行36小时后自动切换至运行状态
//
__VAR_EXTERN idata uchar ComBuf[RS_MaxSize]; //通信缓冲区
//
__VAR_EXTERN pdata uint T0Monitor; //Timer0监控变量
__VAR_EXTERN pdata uint RTCMonitor; //RTC监控变量
__VAR_EXTERN pdata uchar MainMonitor; //主循环监控变量
//
__VAR_EXTERN idata uchar CommVariant[VAR_MaxSize]; //公用变量
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -