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

📄 global.h

📁 嵌入式单片机开发,嵌入式单片机开发,嵌入式单片机开发
💻 H
📖 第 1 页 / 共 4 页
字号:
typedef struct{
	unsigned char hour;
 	unsigned char day;
	unsigned char chaobiaoriok;
	} ZHUANCUN_TIME;

  
  
  // xuliang zhuan cun qing qiu yong yu tong xun需量清零请求AAAAA
  unsigned char xuliangqingling_qingqiu;
// 1 you qing qiu
  
  
  
  
  
  
/*   ****************冻结模块***********************   */
/*   根据时间自动冻结,根据事件(命令)冻结数据模块中完成数据的保存及时间,以最后一次冻结为准;     */




// dong jie mo kuai
// ding shi dong jie ,ming ling dong jie
// ru如有冻结请求==1
unsigned char rdongjie_qingqiu;
unsigned char dongjie_use_minute;









/*   ****************瞬时量模块***********************   */
/*   在中断里面置标志,主程序读取(如果在中断时读数据,该数据有可能正在主程序中使用,
容易引起数据的冲突。)     */
/*  读取的内容为功率、电压、电流、频率及功率因素、状态字。  */

// 5460 ok >2 time 
//unsigned char delaynum_5460;





/*   ******************通讯模块*********************   */
/*  红外485通讯处理模块、命令的解释、组桢及发送中断控制、输出显示控制标志。两个串口同时支持      */

// aaa发送用奇偶校验标志AAAAA
// 485
unsigned char send4851_pry;// 0---p   1---e rs485_1
unsigned char sendremote_pry;// 0--p  1---e 

unsigned char send4850_pry;// 0---p   1---e rs485_0



// ff参111111
unsigned char tongdao;
unsigned char *rbuffer;

//数传递用全局变量AAAAAAAAAA


// aaa 错峰超门限报警用AAAAAAA
unsigned char arm_cuofeng;

unsigned char bcdaddbuffer[10];
//aaaaa 90天锁定计数器用时段已编过程标志AAAAA
unsigned char shiduan_onetimeprog;
// qqqq错峰时段闭锁20天已编过程标志AAAAA

unsigned char cuofengshiduan_onetimeprog;

// qqqq错峰定值闭锁20天已编过程标志AAAAA
unsigned char cuofengvalue_onetimeprog;


// qqqq主副费率切换闭锁60天已编过程标志AAAAA
unsigned char priceyuyue_onetimeprog;

// qqqq主副错值切换时刻闭锁60天已编过程标志AAAAA
unsigned char cuofengshiduan_switch_onetimeprog;


// qqqq主副错峰定值切换闭锁20天已编过程标志AAAAA
unsigned char cuofengvalue_switch_onetimeprog;


// gai mo chong chang shu
//unsigned char qingqiu_mochong_change;
//unsigned char mochong_change[3];

// boud set
// ram
//#define r_boud 0x871
// fm
//#define fm_boud 0x871

// bo te lv 波特率,AAAA
// 临时485 1 波特率AAAAAA--quan guo use
unsigned char boud_use;// rs485_1
unsigned char boud_use_0;// rs485_0
// 0--300,1-1200,2--2400,3--4800,4--9600,5--600
unsigned char time_boud_500_use;//rs485_1
unsigned char time_boud_500_use_0;//rs485_0
// rs485_1
// value(u2c0==) when 300-------9600
const unsigned char table_u2c0_value_form_boud[]={0x1a,0x19,0x19,0x19,0x18,0x19};
// value (brg==) when 300------9600
const unsigned char table_brg_value_from_boud[]={0x40,0x40,0x20,0xf,0x40,0x81};//7

// rs485_0
// value(u2c0==) when 300-------9600
const unsigned char table_u0c0_value_form_boud[]={0x1a,0x19,0x19,0x19,0x18,0x19};
// value (brg==) when 300------9600
const unsigned char table_brg_value_from_boud_0[]={0x40,0x40,0x20,0xf,0x40,0x81};//7


// fa song发送完成应显示的信息。llllllllll

// QUAN GUO GUI YUE ONE DAY ONE TIME   USE
// fm only minute--hour---DAY--MONTH--YEAR

unsigned char info_send_end_display;


unsigned char RSTATUS_485_1;// rs485_1  tong dao 1
unsigned char RSTATUS_485_0;// rs485_0  tong dao 2
#define START 0
#define REC 1
#define RERR 3   // must yu zhang ji tong
#define SEND 2

unsigned char RCOMM1_TIMER;      //jie shou chao shi ji shi qirs485_1
#define MAX_R_485_1_TIMER     30   //JIE SHOU CHAO SHI ZUI DA ZHI 50
unsigned char RCOMM0_TIMER;      //jie shou chao shi ji shi qirs485_0
#define MAX_R_485_0_TIMER     30   //JIE SHOU CHAO SHI ZUI DA ZHI 50

unsigned char RSEND1_DELAY_TIMER;   //fa song yan shi ji shi qirs485_1
unsigned char RSEND0_DELAY_TIMER;   //fa song yan shi ji shi qirs485_0
#define const_senddelay 10;//10//50  //fa song yan shi chang liang

unsigned char RLEN_485_R_BUFFER_1;// rs485_1
unsigned char RLEN_485_R_BUFFER_0;// rs485_0
#define MAX_R_485_1 219
#define MAX_R_485_0 219

unsigned char RPROTOCOL_485_1;//rs485_1
unsigned char RPROTOCOL_485_0;//rs485_0
#define PROTOCOL_START 0
#define ZHEJIANG 1
#define QUANGUO 2
#define HUALONG 3
#define QUANGUOZHEJIANG 4


unsigned char RCURRENTADDR_485_R_BUFFER_1;//rs485_1
unsigned char RLEN_485_T_BUFFER_1;// rs485_1
unsigned char RCURRENTADDR_485_T_BUFFER_1;//rs485_1
unsigned char RRBUFFER_485_1[225];// rs485_1


unsigned char RCURRENTADDR_485_R_BUFFER_0;//rs485_0
unsigned char RLEN_485_T_BUFFER_0;// rs485_0
unsigned char RCURRENTADDR_485_T_BUFFER_0;//rs485_0
unsigned char RRBUFFER_485_0[225];// rs485_0
//以下定义通讯发送启动标志位
struct bit_COMM {
        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_COMM{
    struct bit_dis bit;
    unsigned char    byte;
};
union byte_COMM COMM_USE0;
#define RFLAG_SEND1_START    COMM_USE0.bit.b0// rs485_1
#define RFLAG_SEND0_START    COMM_USE0.bit.b2// rs485_0







unsigned char RDISPLAY_4851INFO_STATUS;   //YONG YU PAN DUAN SHI FOU CHANG SHENG XIAN SHI XIN XI YONGrs485_1
unsigned char RDISPLAY_4850INFO_STATUS;   //YONG YU PAN DUAN SHI FOU CHANG SHENG XIAN SHI XIN XI YONGrs485_0
#define INFO_START 0         // kai shi zhuang tai
#define INFO_ME        1      //WHEN ADDRESS is me
#define INFO_GUANGBO 2   //GUANG BO JIAO SHI



// hong wai chao shi ji shu qi


unsigned char yaokong_chaoshi_timer;
#define max_yaokong_chaoshi_timer 20   // 50 tong 485




// jie shou红外接收AAAAAA
unsigned char RREMOTE_HUALONG_BUFFER[225];   // zhe jiang quan guo tong yong
unsigned char RLEN_REMOTE_HUALONG;                // zhe jiang quan guo tong yong
#define MAX_RLEN_REMOTE_HUALONG  219           // zhe jiang quan guo tong yong
unsigned char RREMOTE_YAOKONG_BUFFER[20];  //[9]=1 you xiao [6] mazhi
unsigned char RLEN_REMOTE_YAOKONG;
#define MAX_RLEN_REMOTE_YAOKONG  5;

// fa 红外发送的长度及BUFFERADDR
unsigned char RLEN_REMOTE_T_BUFFER;
unsigned char RCURRENTADDR_REMOTE_T_BUFFER;




//LUN 轮流发送标志0---485--1,1 REMOTE——T
//unsigned char RPOINT_SEND_485_REMOTE;

unsigned char RSEND_REMOTE_DELAY_TIMER;   //fa song yan shi ji shi qi(HONG WAI)
// HONG WAI FA SONG BIAO ZI
#define RFLAG_SEND_REMOTE_START    COMM_USE0.bit.b1




// h 红外 掌机 通讯当前规约。nei rong tong 485(wu dandu zhejiang  quanguo)
unsigned char RPROTOCOL_REMOTE_1;
// h 红外 掌机 通讯当前最大超时ppp

#define MAX_R_REMOTE_TIMER     50  
// h 红外 掌机 通讯当前超时计时器ppp




unsigned char RREMOTE_TIMER;
// zhang ji ben ji zhi shi TONG 485_1
unsigned char RDISPLAY_REMOTEINFO_STATUS;   //YONG YU PAN DUAN SHI FOU CHANG SHENG XIAN SHI XIN XI YONG



unsigned char remote_status;
#define remote_phase_start  0
#define remote_phase_hualong  1
#define remote_phase_yaokong  2
#define remote_phase_err  3    // must yu 485_1 tong   ying wei gong yong tong dao chu li

// add 2003  zhen jia (quan guo), (zhe jiang)gui yue tong xun  
#define remote_phase_zhejiang_quanguo  4
//TIAN JIA发送壮态AAAAAA
#define remote_phase_send 5



unsigned char remote_status_start;
#define remote_start_1 0  // start bit
#define remote_start_2 1 // date first bit 
#define remote_start_3 2// rec 8 bit date
#define remote_start_4 3 // rec check bit
#define remote_start_5 4  // empty bit (value=1)


unsigned char remote_status_hualong;
#define REMOTE_HUALONG_1 0// empty
#define REMOTE_HUALONG_2 1// rec start bit
#define REMOTE_HUALONG_3 2// rec 8bit date
#define REMOTE_HUALONG_4 3// rec check bit
#define REMOTE_HUALONG_5 4//stop bit



// yao kong qi shi xu zhuang tai fen jie
unsigned char remote_status_yaokong;
#define REMOTE_YAOKONG_3617    0// judge start code or end code
#define REMOTE_YAOKONG_225     1// start code 
#define REMOTE_YAOKONG_1125a   2
#define REMOTE_YAOKONG_1125b   3
#define REMOTE_YAOKONG_2000    4


// add 2003  zhen jia (quan guo), (zhe jiang)gui yue tong xun  


unsigned char remote_status_zhejiang_quanguo;
#define remote_zhejiang_quanguo_1 0// empty
#define remote_zhejiang_quanguo_2 1// start bit 0
#define remote_zhejiang_quanguo_3 2// rec 8 bit date
#define remote_zhejiang_quanguo_4 3// rec check bit
#define remote_zhejiang_quanguo_5 4//rec  stop bit

// YAO 遥控处于接收状态计时AAAA 300
unsigned char rtime_yaokong_rec;
#define max_time_rec_yaokong 50


//ying tian jia chao shi ji shu qi
//zai cheng xu de ge ge bu feng
unsigned char len_bit_remote;
unsigned char len_bit_youxiao;
struct bit_remote{
        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_remote{
    struct bit_remote bit;
   unsigned char    byte;
                };
union byte_remote remote_rec;
union byte_remote remote_rec1;
union byte_remote remote_rec2;




//duo key  he chao shi ji shu qi




unsigned char RYAOKONG_DUOJIAN_TIMER;

//多键状态
unsigned char RSTATUS_DUOJIAN;
#define NODUOJIAN 0
#define DUOJIAN_1 1
#define DUOJIAN_2 2
#define DUOJIAN_3 3
#define DUOJIAN_4 4
#define DUOJIAN_5 5
#define DUOJIAN_6 6
#define DUOJIAN_7 7
#define DUOJIAN_8 8
unsigned RDUOJIAN_SECOND;      //多键程序用秒钟,用于产生秒到处理

//多键保持时间


#define DUOJIAN_TIME_VALUE 10





///////////////////////////////////////////////////////////

//NO CHANGED  2003-3-12

/*   ****************电量计算模块***********************   */
/*   根据中断中得到的电量增加标志,计算当前各电量值,同时完成及判断数据的转存,本模块预留视在电量计量模块     */



struct bit_dianliang {
       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_dianliang{
    struct bit_dianliang bit;
   unsigned char    byte;
};
union byte_dianliang  Dianliang1;
union byte_dianliang  Dianliang2;


unsigned int RKWH_F_COUNT;     // zhen xian 正向有功电量脉冲计数器ppppp

unsigned int RKWH_R_COUNT;     // fan  xian 反向有功电量脉冲计数器ppppppp

unsigned int RKVARH_F_COUNT;  // zhen xian 正向无功电量脉冲计数器oooooooo
unsigned int RKVARH_R_COUNT;  // zhen xian 正向无功电量脉冲计数器ooooooooo


unsigned int RKVARH_1_COUNT;     // 1XUAN XIANG 1象限无功脉冲计数器.oooooooooo

unsigned int RKVARH_2_COUNT;     // 2XUAN XIANG 2象限无功脉冲计数器.oooooooo
unsigned int RKVARH_3_COUNT;     // 3XUAN XIANG 3象限无功脉冲计数器.oooooooo

unsigned int RKVARH_4_COUNT;     // 4XUAN XIANG 4象限无功脉冲计数器.ooooooooo



⌨️ 快捷键说明

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