📄 global.h
字号:
/* ;本文件定义程序所用的全局变量,*/
#define LENRAM 2000
unsigned char RAM[LENRAM];// 2000
/**************内部用FLASH通道7*****************/
//unsigned char flash7_buffer[8];
#define current_type_big 0
#define current_type_small 1
#define current_type_very_big 2
unsigned char current_type;
unsigned char display_comm;
// hong wai
unsigned char rstatus_zhangji_mima_youxiao;
#define zhangji_mima_youxiao_start 0
#define zhangji_mima_youxiao_inhao 1
#define zhangji_mima_youxiao_yes 2
unsigned char zhangjihao[4];
// 5 second use
unsigned int rtime_zhangjimima;
unsigned char rtime_remote_5second;
unsigned char rzhangji_mima_use_second;
// 485 rs485_1
unsigned char rstatus_485_mima_youxiao;//rs485_1
unsigned char zhangjihao_485[4];//rs485_1
// 5 second use
unsigned int rtime_485_zhangjimima;//rs485_1
unsigned char rtime_485_5second;// rs485_1
unsigned char rzhangji_485_mima_use_second;// rs485_1
// 485 rs485_0
unsigned char rstatus_485_mima_youxiao_0;// rs485_0
unsigned char zhangjihao_485_0[4];//rs485_0
// 5 second use
unsigned int rtime_485_zhangjimima_0;//rs485_0
unsigned char rtime_485_5second_0;// rs485_0
unsigned char rzhangji_485_mima_use_second_0;// rs485_0
// bian cheng qian nei rong 编程前内容AAAAA
unsigned char bianchengqian[100];
/****************安全认证***********************************/
#define renzhen_imax RAM[R_SECURITY_IMAX]
#define renzhen_ib RAM[R_SECURITY_IB]
#define renzhen_imax5l RAM[R_SECURITY_IMAX5L]
#define renzhen_ib5l RAM[R_SECURITY_IB5L]
unsigned char status_renzhen_use;
#define status_norenzhen 0
#define status_imax 1
#define status_ib 2
#define status_imax5l 3
#define status_ib5l 4
/*****************浙江规约密码有效AAAAAA********************/
unsigned char zhejiang_mima_enable;
unsigned char zhejiang_mima_quanxiang;
unsigned char noprog_time;// minute
/****************华隆规约密吗有效AAAAAAAA***************/
unsigned char hualong_mima_quanxiang;
/****************aa系统时间调度用变量AAAAA*******************/
unsigned char system_control_time0;// write eeprom 5,or read 5460a
unsigned char system_control_time1;//lost v,lost i,over ,moniter,nixiangxu
unsigned char system_control_time2;//dongjie,fuhe zhuancun
/* ;*********液晶显示模块*********************************** */
/* ********非位变量定义****************** */
struct bit_dis {
unsigned char b0:1;
unsigned char b1:1;
unsigned char b2:1;
unsigned char b3:1;
unsigned char b4:1;
unsigned char b5:1;
unsigned char b6:1;
unsigned char b7:1;
};
union byte_dis{
struct bit_dis bit;
unsigned char byte;
};
unsigned char RLCD_DISPLAY_STATUS; /* 显示状态DISPLAY_CLOSE 关闭,DISPLAY_LIGHT 全亮,DISPLAY_AUTO 自动轮显,DISPLAY_KEY 按键轮显,DISPLAY_POINT 指定索引号 DISPLAT_DATE显示时间 DISPLAY_COMM 显示通讯信息 */
//DISPLAY STATUS
#define DISPLAY_AUTO 0
#define DISPLAY_KEY 1
#define DISPLAY_POINT 2
#define DISPLAY_DATE 3
#define DISPLAY_CLOSE 4
#define DISPLAY_LIGHT 5
//#define DISPLAY_KEYINFO 6
//#define DISPLAY_COMM 7
// DISPLAY_KEYINFO 按键信息AAAA
unsigned char RDISPLAY_TIMER; /* 状态显示计时用 */
unsigned char RDISPLAY_ENVENT; /* DISPLAY_ENVENT_NO 无事件 */
/* DISPLAY_ENVENT_OPENCLOSE 关闭,打开 */
/* DISPLAY_ENVENT_KEY 按键轮显 */
/* DISPLAY_ENVENT_POINT 指定索引号 */
/* DISPLAY_ENVENT_PINTADD 指定索引号加 */
/* DISPLAY_ENVENT_POINTSUB 指定索引号减 */
/* DISPLAY_ENVENT_DATE 显示时间 */
/* DISPLAY_ENVENT_COMM 显示通讯信息 */
//DISPLAY ENVENT NAME
#define DISPLAY_ENVENT_NO 0
#define DISPLAY_ENVENT_OPENCLOSE 1
//#define DISPLAY_ENVENT_NO 2
#define DISPLAY_ENVENT_KEY 2
#define DISPLAY_ENVENT_POINT 3
#define DISPLAY_ENVENT_POINTADD 4
#define DISPLAY_ENVENT_POINTSUB 5
#define DISPLAY_ENVENT_DATE 6
#define DISPLAY_ENVENT_COMM 7
#define DISPLAY_ENVENT_KEYINFO 8
#define DISPLAY_ENVENT_KEYDOWN 9
unsigned int RAPPOINT_REFERENCE; /* 指定索引号 */
// unsigned int RCURRENT_REFERENCE; /* 当前索引号 */
//ggg液晶显示字模序号
#define CHARMODE_o 10
#define CHAEMODE_p 11
#define CHARMODE_q 12
#define CHAEMODE_b 13
#define CHARMODE_h 14
#define CHARMODE_r 15
#define CHARMODE_e 16
#define CHARMODE_l 17
#define CHARMODE_f 18
#define CHARMODE_d 19
#define CHARMODE_KONG 20
#define CHARMODE_n 21
#define CHARMODE_c 22
#define CHARMODE_A 23
// DISPLAY USE
unsigned char RDISPLAY_MODE_SECOND; //the mode soft second
//unsigned int RDISPLAY_TIMER;
//DING YI LIANG HE RRRCURRENT_REFERENCE_H AND RRRCURRENT_REFERENCE_L RRRCURRENT_REFERENCE
#define RCURRENT_REFERENCE (RAM[R_CURRENT_REFERENCE_L]+256*RAM[R_CURRENT_REFERENCE_H])
#define RCURRENT_REFERENCE_H RAM[R_CURRENT_REFERENCE_H]
#define RCURRENT_REFERENCE_L RAM[R_CURRENT_REFERENCE_L]
//AUTO LUN XIAN GE SHU (EEPROM) L--H
//set eeprom轮显设置 LUN XIANG SHE ZHI
unsigned char displaynum_auto_key;// aaaa 按键,自动轮显的索引号AAAA
unsigned char RPOINT_AUTO_DISPLAY; //AUTO LUN XIAN ZHI ZHEN
union byte_dis DISPLAY_FLAG10;
#define RFLAG_B_A_KU DISPLAY_FLAG10.bit.b0 //DUI YING RFLAG_PROG 1 B KU 0 A KU
#define RFLAG_DISPLAY_AUTO_SET DISPLAY_FLAG10.bit.b1
#define RFLAG_DISPLAY_KEY_SET DISPLAY_FLAG10.bit.b2
// tt通讯信息显示否AAAA
#define RFLAG_COMM_DISPLAY_ENABLED DISPLAY_FLAG10.bit.b3
unsigned char DISPLAY_DATA_TIME_WEEK;
//#define EEPROM 0
#define DATE 0
#define TIME 1
#define WEEK 2
/********************************************************
/** declare bit 定义位变量 */
/*********************************************************/
union byte_dis DISPLAY_FLAG;
//#define RFLAG_DISPLAY_AUTO DISPLAY_FLAG.bit.b0 /* 自动轮显设置与否标志位 */
//#define RFLAG_DISPLAY_KEY DISPLAY_FLAG.bit.b1 /* 按键轮显设置与否标志位 */
#define RFLAG_DISPLAY_05SEC DISPLAY_FLAG.bit.b2 /* 0。5秒到标志,在定时中断中产生 */
/**********************LCDBUFFER 有关变量*******************************/
//unsigned char QUADRANT ; /*当前象限 1(ONE) 2 (TWO) 3(THREE) 4 (FOUR) */
#define QUADRANT RAM[R_CURRENT_QUADRANT]
#define ONE 1
#define TWO 2
#define THREE 3
#define FOUR 4
// unsigned char STATUS_PRICE ; /* 当前时段 0-尖 1-峰 2-平 3-谷 */
#define STATUS_PRICE RAM[R_CURRENT_PRICE]
#define RFLAG_A_PHASE_SNAG DISPLAY_FLAG.bit.b3 /*当前A相状态(断相) */
#define RFLAG_B_PHASE_SNAG DISPLAY_FLAG.bit.b4 /*当前B相状态(断相) */
#define RFLAG_C_PHASE_SNAG DISPLAY_FLAG.bit.b5 /*当前C相状态(断相) */
/* 三相全失时不为断相 */
#define RFLAG_PHASE_ORDER DISPLAY_FLAG.bit.b6
// XU HAO [0]---[3] [4]--DOT
unsigned char DISPLAY_4_NUM[5];
// NEI RONG [0]---[7] [8]---DOT
unsigned char DISPLAY_8_NUM[9];
union byte_dis DISPLAY_FLAG1;
#define RFLAG_STATUS_BATTERY DISPLAY_FLAG1.bit.b4 // shi ya qing kuNG
#define RFLAG_PROG DISPLAY_FLAG1.bit.b5 /*编程状态 enabled disabled*/
#define RFLAG_KEY_DISPLAY DISPLAY_FLAG1.bit.b6 /*钥匙显示位*/
#define RFLAG_LEFT_DOT DISPLAY_FLAG1.bit.b0 /*LEFT DOT*/
#define RFLAG_RESET_DISPLAY DISPLAY_FLAG1.bit.b2 /*"复位"显示位*/
#define RFLAG_ASKNUM_DISPLAY DISPLAY_FLAG1.bit.b1 /*asknum显示位*/
union byte_dis DISPLAY_FLAG2;
#define RFLAG_RIGHT_DOT DISPLAY_FLAG2.bit.b4 /*右时间点显示位*/
#define RFLAG_K_DISPLAY DISPLAY_FLAG2.bit.b5 /*"K"显示位*/
#define RFLAG_DATE_DISPLAY DISPLAY_FLAG2.bit.b6 /*"时间"显示位*/
#define RFLAG_SNAG_DISPLAY DISPLAY_FLAG2.bit.b7 /*"断相"显示位*/
/* 三相全失时不为断相 */
#define RFLAG_V_DISPLAY DISPLAY_FLAG2.bit.b0 /*"V"显示位*/
#define RFLAG_NA_DISPLAY DISPLAY_FLAG2.bit.b1 /*"\"显示位*/
#define RFLAG_PI_DISPLAY DISPLAY_FLAG2.bit.b2 /*"/"显示位*/
#define RFLAG_A1_DISPLAY DISPLAY_FLAG2.bit.b3 /*"-\"显示位*/
union byte_dis DISPLAY_FLAG3;
#define RFLAG_UP1_DISPLAY DISPLAY_FLAG3.bit.b6 /*"H上1"显示位*/
#define RFLAG_r_DISPLAY DISPLAY_FLAG3.bit.b5 /*"r"显示位*/
#define RFLAG_DOWN1_DISPLAY DISPLAY_FLAG3.bit.b4 /*"h下1"显示位*/
#define RFLAG_h_DISPLAY DISPLAY_FLAG3.bit.b7 /*"h"显示位*/
#define RFLAG_TOTAL_DISPLAY DISPLAY_FLAG3.bit.b0 /*"总"显示位*/
#define RFLAG_XU_DISPLAY DISPLAY_FLAG3.bit.b1 /*"需"显示位*/
#define RFLAG_DIAN_DISPLAY DISPLAY_FLAG3.bit.b2 /*"电"显示位*/
#define RFLAG_LIANG_DISPLAY DISPLAY_FLAG3.bit.b3 /*"量"显示位*/
union byte_dis DISPLAY_FLAG4;
#define RFLAG_IV_DISPLAY DISPLAY_FLAG4.bit.b6 /*"IV"显示位*/
#define RFLAG_III_DISPLAY DISPLAY_FLAG4.bit.b2 /*"III"显示位*/
#define RFLAG_I_DISPLAY DISPLAY_FLAG4.bit.b5 /*"I"显示位*/
#define RFLAG_II_DISPLAY DISPLAY_FLAG4.bit.b1 /*"II"显示位*/
union byte_dis DISPLAY_FLAG5;
#define RFLAG_FAN_DISPLAY DISPLAY_FLAG5.bit.b0 /*"反"显示位*/
#define RFLAG_LAST_DISPLAY DISPLAY_FLAG5.bit.b1 /*"上月"显示位*/
#define RFLAG_MAX_DISPLAY DISPLAY_FLAG5.bit.b2 /*"最大"显示位*/
#define RFLAG_JIAN_DISPLAY DISPLAY_FLAG5.bit.b3 /*"尖"显示位*/
#define RFLAG_FENG_DISPLAY DISPLAY_FLAG5.bit.b5 /*"峰"显示位*/
#define RFLAG_PING_DISPLAY DISPLAY_FLAG5.bit.b6 /*"平"显示位*/
#define RFLAG_GU_DISPLAY DISPLAY_FLAG5.bit.b7 /*"谷"显示位*/
/* ****************软件实时时钟变量(rtc)*********************** */
/* 软件时钟 为单片机内实时时钟,所有事件的时钟(除对时外)均以此为准 */
#define RSOFT_RTC_SECOND RAM[R_SOFT_SECOND]
#define RSOFT_RTC_MINUTE RAM[R_SOFT_MINUTE]
#define RSOFT_RTC_HOUR RAM[R_SOFT_HOUR]
#define RSOFT_RTC_WEEK RAM[R_SOFT_WEEK]
#define RSOFT_RTC_DAY RAM[R_SOFT_DAY]
#define RSOFT_RTC_MONTH RAM[R_SOFT_MONTH]
#define RSOFT_RTC_YEAR RAM[R_SOFT_YEAR]
// RTC8025 USE
unsigned char rtc8025_timevalue[8];
// aaa硬件对时AAAAAA
unsigned char qingqiuduishi_rtc;
// rtc补时钟用AAAA
// HHH PD51 口线状态AAAAA
unsigned char status_pd51;
// hh 补时钟用计时*10MS
unsigned char time_pd51_low;
/*88888 停电RTC用 yyyyyyy9999999999999999999999999999999999999999*/
// 1miao 1秒中断,硬时钟AAAAAA
// AAA停电计时
//unsigned char RTIME_DIANCHI_60_USE;
//unsigned char RTIME_DIANCHI_MINUTE_QINGQIU;
//unsigned char RTIME_DIANCHI_MINUTE_QUANSHIYA_QINGQIU;
// 1 day 1ci add
// ting dian jie huo 停电激活AAAA
unsigned char RSTATUS_TINGDIANJIEHUO;
#define no_jiehuo 0
#define jiehuo 1
unsigned char RTIME_TINGDIANJIEHUO_USE;
unsigned int RTIME_6MINUTE_USE;
// QING QIU BIAO ZHI
unsigned char RQINGQIU_PANDUAN_TINGDIANCHAOBIAO;
#define do_panduan_tingdianchaobiao 1
#define no_panduan_tingdianchaobiao 0
// key use
unsigned char RTIME_TINGDIANJIEHUO_KEY_USE;
// ting dian use second
unsigned char second_tingdian;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -