defvar.h

来自「电能表源码」· C头文件 代码 · 共 186 行

H
186
字号
/*************************************************************************************

	文件类型:
	文件作用:程序变量定义,用户可以自己修改和定义
	修改权限:
	文件相关:
	
	创 建 人:GeminiKQ
	创建日期:2006.12.20
	当前版本:Ver0.1
	
	版本信息:Ver0.1					GeminiKQ

**************************************************************************************/
//#include "typedef.h"
#include "ChipMac.h"
#ifdef	MAIN
#define	EXTERN

const unsigned char code clr_bittable[]=                 // 清零表格
{0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

const unsigned char code set_bittable[]=                 // 置位表格
{BIT0,BIT1,BIT2,BIT3,BIT4,BIT5,BIT6,BIT7};


#else
#define	EXTERN	extern

EXTERN const unsigned char code clr_bittable[];
EXTERN const unsigned char code set_bittable[];

#endif


EXTERN struct coredata_tablestruct *ID_coretalbpoint[4];        //核心数据指针

EXTERN uint8 xdata ram[100] ;           //地址与数据存贮结构中的RAM表格一致

EXTERN uint8 xdata wr_buff[50];                 //读写缓存

EXTERN Word32 xdata data_addr;                  //读写地址

//程序运行状态
EXTERN uint8 sta_meterrun;                        //0:正常模式,1:编程模式,2,厂内模式,4休眠模式、5激活模式、6、停电抄表模式
EXTERN uint8 time_runprosta;                      //编程模式下运行时间。默认10分钟

//中断标志位
EXTERN uint32 buff_flagint;                       //存贮中断标志位设置情况

EXTERN uint8 time_qiandong;                       //防潜时间

//===========================================
//电量累加变量
//===========================================
//EXTERN  bit bdata F_stordot_z,F_storint;               //电量存贮标志位
EXTERN  bit bdata F_energeadd;                           //能量累加模块运行标志
EXTERN  uint32  buffer_energ[2];                         //CF缓存
EXTERN  uint8  sumCF_Z;                                  //CF累加器
EXTERN  uint8  xiaoshu;                                  // 小数
EXTERN  uint8  F_cfopen;                                 //CF开标志
EXTERN  uint8 count_opencftime;                          //CF开延时
EXTERN  uint8 count_errenergmode;                        //CF飞走错次数
//===========================================
//时钟模块变量、定时器变量
//===========================================

EXTERN bit bdata Flg_rtvrefresh;                                 //RTC时钟刷新标志
EXTERN uint8 times_10ms;                                         //10ms中断的次数

//按键变量
EXTERN union byte_define  flag_keypag;                        //按键状态扫描寄存器
EXTERN uint8 sta_keypag;                                      //按键当前所处状态:
EXTERN uint8 time_keypag_on;                                  //按键按下持续的时间

//LCD显示变量
EXTERN bit data  flag_startlcddisp;                             //显示秒刷新时间到标志位
EXTERN bit data  flag_lunxian;                                  //以设轮显参数标志位
EXTERN uint8  curent_dispoint;                 					//当前显示项指针
EXTERN uint8  point_dipnum;                                     //当前显示号。
EXTERN uint8  time_dispdelay;                                   //事件显示延时
EXTERN uint8  time_turn;                                        //自动轮显时间计数器
EXTERN uint8  time_lunxian;                                     //自动轮显时间
EXTERN uint8  type_dispevent;                                   //显示事件包括:无事件发生,按键上翻、下翻;红外按键上翻、下翻,按键和红外
EXTERN uint8  station_disp;                                     //当前显示状态:自动、按键、轮显、红外遥控   
EXTERN uint8  disp_buffer[16];                                  //显示缓存  


//通讯处理变量
EXTERN uint8 F_commudiv;                                            //通讯符号显示标志
EXTERN uint8 *point_addr;                                           //数据缓存指针
EXTERN uint8 *len_data;                                             //数据长度
EXTERN uint8 *type_protcl;                                          //规约类型
EXTERN uint8 *sta_chanel;                                           //通道状态
EXTERN uint8 type_channel;                                          //通道类型 0:485  1:红外 



//通讯模块变量定义
EXTERN uint8 xdata buff_485data[25];                         //485通讯缓冲
EXTERN uint8 len_485commdata;                                //接收到数据的个数
EXTERN uint8 point_sendaddr;                                 //发送数据指针
EXTERN uint8 timedelay_comm;                                 //通讯等待延时
EXTERN uint8 sta_485comm;                                    //485通讯当前状态:0:等待 1:接受 2:挂起 3:发送
EXTERN uint8 jiaoyan_type;                                   //校验类型 0:偶校验  1:奇校验、2:无校验。 
EXTERN uint8 type_protocl485;                                //规约类型 0:全国规约  1:IEE规约
EXTERN uint16 buff_485rec;                                   //485接收缓存

//红外通讯变量
EXTERN uint8 xdata buff_reddata[25];         //红外通讯缓冲
EXTERN uint8 len_infrcommdata;               //接收到数据的个数
EXTERN uint8 point_infrsendaddr;             //发送数据指针
EXTERN uint8 timedelay_infrcomm;             //通讯等待延时
EXTERN uint8 sta_infrcomm;                   //红外通讯当前状态:0:等待 1:接受 2:挂起 3:发送
EXTERN uint8 jiaoyan_typeinfr;               //校验类型 0:偶校验  1:奇校验、2:无校验。 
EXTERN uint8 type_protoclinfr;               //规约类型 0:全国规约  1:IEE规约
EXTERN uint16 buff_intrrec;                  //红外接收缓存
 
//通讯处理变量
EXTERN uint8 F_commudiv;                                         //通讯符号显示标志
EXTERN uint8 *point_addr;                                           //数据缓存指针
EXTERN uint8 *len_data;                                             //数据长度
EXTERN uint8 *type_protcl;                                          //规约类型
EXTERN uint8 *sta_chanel;                                           //通道状态
EXTERN uint8 type_channel;                                          //通道类型 0:485  1:红外 

//===============================================================================================
//需量计算变量
//==========================================================================================
EXTERN uint16 time_maichong_z,time_maichong_f;                  //CF脉冲累加时间
EXTERN uint16 time_count_z,time_count_f;                        //时间计数器
EXTERN uint16 num_xuliangCF_z,num_xuliangCF_f;                  //在需量周期内CF个数
EXTERN uint8  flag_xuliangmode,flag_xuliangminut;               //需量模块运行标志,需量周期计算标志
EXTERN uint8  time_xuliangcount,xuliang_zhouqi;                 //需量周期计数器
EXTERN uint16 offset_xuliangaddr;                               //需量偏移地址  
EXTERN  bit bdata F_refreshxuliang;                             //最大需量保存标志    


//===========================================================================================
//到抄表日转存历史数据变量
//============================================================================================
EXTERN uint8 chaobiaori_data;                                       //抄表日
EXTERN uint8 sta_zhuancun;                                          //转存状态
EXTERN uint8 flag_zhuancun_run;                                     //转存运行标志  
EXTERN uint8 bufftime;                                  

//========================================================================================
//有效值变量
//========================================================================================
EXTERN bit bdata  flag_realdatarefresh;                             //瞬时值刷新时间到标志位
EXTERN uint8 type_refreshdata;                                      //瞬时值刷新类型
EXTERN uint8 Flg_kwhfangxiang;                                      //功率方向

//========================================================================================
//拉合闸变量
//=========================================================================================
EXTERN uint8 time_plusswitch;                                       //拉合闸脉冲宽度
EXTERN bit bdata flag_runswitchmode;                                //拉合闸模块运行 
EXTERN uint16 delay_cftime;                                         //CF时间间隔
EXTERN uint16 timocount_cf;                                         //CF计时器
//=========================================================================================
//程序自检参数
//=========================================================================================                   
//EXTERN bit bdata flag_runcheckmode;                             //自检模块运行标志位
//EXTERN uint8 flag_mincheck;                                     //分钟检测标志位
//EXTERN uint8 count_flagereas[7];                                   //flash擦除等待时间计数器
//EXTERN uint8 count_erastindianpage;                              //停电保存页擦除等待时间
//EXTERN uint8 times_pllerror;                                    //pll错误时间

//停电模块
EXTERN uint16 time_dispsleep;                                        //停电显示时间
EXTERN uint16 time_jihuo;                                            //激活时间
EXTERN uint16 time_lostiv;                                           //停电防窃电时间

EXTERN uint16 test_data;
//======================================================
//
//==============================================================  
EXTERN uint8 comm;       //通讯符号标志
EXTERN uint8 battest;    //电池检测标志         
  
//==============================================
//  需量参数
//==============================================
EXTERN uint8 xdata xuliang[60];    // 最大需量表格                                          

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?