⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 global.h

📁 嵌入式单片机开发,嵌入式单片机开发,嵌入式单片机开发
💻 H
📖 第 1 页 / 共 4 页
字号:





/*  ;本文件定义程序所用的全局变量,*/

#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 + -