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

📄 variel.h

📁 c8051f020实现4个 产UART 口
💻 H
字号:
#define  FLAH_ADDR_Variel  0   //总变量结构地址
#define  FLAH_ADDR_BJjilu  1000   //报警记录地址

#define  SHENGJI_active  0
#define  Is_JiaMi  0

#define  Is_JiLuRecIn2416  0   //为1 时报警记录保存到24c16


//重新发警情给服务器的时间间隔
#define  RE_Fa_Jing_TCPIP4000     4000     //4000*4=16s
//重新发警情给触摸屏的时间间隔
#define  RE_Fa_Jing_LcD1500        1500     //1500*4=6s




#define  PWM      125
#define  EN_PWM   PCA0CPM0 |= 0x40         // CCM0为8位PWM方
#define  DIS_PWM  PCA0CPM0 &= (~0x40)       // CCM0为8位PWM方



#define  OK         1
#define  ERROR   0
#define  MM0xa5  0xaa
#define GUIERROR_DAY  180

 #define 	DISABLE()	EA=0			
#define 	ENABLE()    EA=1

 #define  Xing   11
 #define  Jing   12


#define  CLR_WDG   WDTCN = 0xA5     //允许并清看门狗
//#define  CLR_WDG   WDTCN = 0x55     //允许并清看门狗


#define   YAO_CE    0x03
#define   YAO_BU    0x0c
#define   YAO_ZAI   0x30
#define   YAO_HU    0xc0
#define   YAO_1    0xc3
#define   YAO_2    0xf3
#define   YAO_3    0xfc
#define   YAO_4    0xcf
#define   YAO_tan_HU    0x3f    //无线呼叫按键

#define   YAO_YouXian    0x85


#define   Play_isd1420()    Close_Play_P
#define   Close_isd1420()   Open_Play_P


//铁电接口有关变量
#define   ulong   unsigned long
extern bit   iic_error_flag,sm_busy;
extern ulong smbus_ms_cnt;//无中断豪秒计数器
//extern uchar watch_buf[20];
extern uchar *iic_buf_p;
extern uchar xdata iic_data_buf[253];
extern uchar slave_add,send_byte,write_start_num,read_start_num,iic_add_count;
extern uchar iic_data_count,iic_data_len,watch;
extern uint iic_ram_add;

extern void Delay_1us()	;

extern bit En_recieve_dtmfb;
extern bit    Xin_dtmfb;
extern bit    Xin_dtmf_sound_b;
extern uchar xdata Xin_dtmf;


extern uchar Dog_INIT_cnt;   //看门狗计数器
extern uchar Dog_ZIJIAN_cnt;
extern uchar Dog_GSMATTAND_cnt;
extern uchar Dog_TcpIp_CHULI_cnt;
extern uchar Dog_FMROMI_cnt; //看门狗计数器
extern uchar Dog_RF315_cnt;
extern uchar Dog_TIMELIMITED_cnt;
extern uchar Dog_JINGQINGCHULI_cnt;
extern uchar Dog_YouXian_CK_task_cnt;
extern uchar Dog_KEYATTAND_cnt; //看门狗计数器

// 以shang是看门狗计数器



#define Delay1us Delay_1us()
#define Delay4us Delay_1us();Delay_1us();Delay_1us();Delay_1us()

/*
#define    _nop_1clk  asm("nop")
#define NOP5	_nop_1clk;_nop_1clk;_nop_1clk;_nop_1clk;_nop_1clk
#define Delay1us NOP5;NOP5;NOP5;NOP5;NOP5
#define Delay4us Delay1us;Delay1us;Delay1us;Delay1us		

*/


#define IIC_CLK	1000000//MHz
//#define IIC_SMB0CR	(256 - (SYS_FREQUENCE>>3)/IIC_CLK)
#define IIC_SMB0CR  128   //	0xc9//(257 - (((1000000000/IIC_CLK)-625)*SYS_FREQUENCE/(4*1000000000)))


#define   INIT              0
#define    Time_2ms_Dog   1
#define  GSMATTAND   2
#define    TcpIp_CHULI   3
#define  FMROM    4
#define  RF315     5
#define  TIMELIMITED  6
#define    JINGQINGCHULI  7
#define    YouXian_CK_task    8   //用于发GPRS串口数据
#define   ZIJIAN    9  //用于看门 狗监控
#define     KEYATTAND     10    //键盘处理任务

  
 extern uchar xdata  EECmd; 
 extern uchar xdata  EECmd; 
 extern  uchar xdata EETask;
 extern  uint xdata FM_addr,FM_num;




 //振铃 来检测变量定议

 extern  bit  En_Ring_data_in_B;     //有数据进来标志
 extern  xdata uint   En_Ring_data_in_Time_cnt;  //计时寄存器,下降沿开始计时
 extern  xdata uchar   Ring_cnt;           //铃 声计数器加1 


 extern  bit    En_Sms_data_in_B;     //有sms数据进来标志
 extern  xdata uint    En_Sms_data_in_Time_cnt;  //sms计时寄存器,下降沿开始计时

//=========================================================



//警情记录结构 
typedef  struct  JingQing_JiLu{                   //所有参数结构  

             uchar   bak[2];    //+ 总数+ 序号,此二字节 为0时表示空记录
	      uchar   Jing_time[6];   //	BAK 警情内容的生存时间, 被 查询后两个小时后清0
             uchar   Lei;   

} struct_JingQing_JiLu;



//无线探头地址结构
typedef  struct  RF_Addr{                   //所有参数结构           
            uchar   Lei;   
	     uint   Address;   

} struct_RF_24bit;


typedef  struct  Para_all  {                   //所有参数结构

			char     Apn[8];                //VERSION
			uchar   A5A5;
			uchar   Change_Flag;

			uchar   BuFang_Delay_Time;      //布防延时 (0-255)秒    
			uchar   ZhenLingCiShu_Time;      //11.	振铃次数设置2-9 次
			uchar   BaoJing_Delay_Time;     //报警延时 (0-255)秒
			uchar   ZiJian_Time;                    //7.	自检间隔设置1-255分钟 0:则不自检
			uchar   LuXiang_CiShu;      //录像次数
                     uchar   Work_Mode;                   //0:撤防 1 布防 2在家布防  5延时布防
                     uchar    Net_oK_FLAG;     //  1:网络是通的 0不通
                     uchar   Is_Have_XingJing_FLAG; //有无新警情 0: 无新警情  1: 有新警情
                     uchar   Is_ChuangTi_Ok;       //床体是否正常
			uchar   Is_DiZhenYi_Ok;   //地震仪是否正常
			uchar  Spk_cnt_Time;   // 警号鸣响时长0-255秒??????????????
			
								/*

								Byte1: 布防延时时间(0-255)秒
								Byte2: 振铃次数(2-9) 次
								Byte3: 报警延时时间(0-255)秒
								Byte4: 系统自检间隔(0-255)分
								Byte5: 摄像记录次数(0-255)欠
								Byte6: 布撤防状态       0: 撤防状态  1: 布防   3:在家布防
								Byte7: 网络状态  0: 网络不通  1: 布网络在线
								Byte8: 有无新警情 0: 无新警情  1: 有新警情
								Byte9: 床体状态0: 床体异常  1: 床体正常

								Byte10: 地震仪状态0: 地震仪异常  1: 地震仪正常

                                                        Byte11: 警号鸣响时长0-255秒
								*/
			uchar   Test1[10];		//测试字节		
                      
	               uchar   IP[4];               //ip地址
	               uint      IP_Port;          //ip 端口
	               char     My_Apn[10];    //apn
	               uchar   ID[7];               //车id
	     
                     uchar   Mima[7];    //密码  

			uchar DiZhenYi_status[2];	     //11	地震仪状态
			uchar ChuangTi_status[3];	      //12	防震床状态
			uchar FangQu_is_1or0[4];	    //      //1-4有线防区的输入 状态



			
			char      Phone_1To6[6][19];       //报警电话123456
			
			uchar   Test2[10];  //测试字节

                    
			//struct_RF_24bit  RF_Address24_True[20];      //无线对码地址


			uchar JingQing_JiLu_True_Head;  //警情记录的头指针
			uchar JingQing_JiLu_True_Sum;  //警情记录总数
			

			uchar  Dog_INIT_cnt;   //看门狗计数器
			uchar Dog_ZIJIAN_cnt;   //看门狗计数器
			uchar Dog_GSMATTAND_cnt; //看门狗计数器
			uchar Dog_TcpIp_CHULI_cnt; //看门狗计数器
			uchar Dog_FMROMI_cnt; //看门狗计数器
			uchar Dog_RF315_cnt; //看门狗计数器
			uchar Dog_TIMELIMITED_cnt;  //看门狗计数器
			uchar Dog_JINGQINGCHULI_cnt; //看门狗计数器
			uchar Dog_YouXian_CK_task_cnt; //看门狗计数器
			uchar Dog_KEYATTAND_cnt;



			uchar Dog_Gui_Reg;
			uint    Dog_Gui_Reg_Day;        //180

			uchar CSsum;    //累加和
		
	
} struct_Para_all;
extern uchar MYCSsum;    //累加和

/*
 Work_Mode======== 
 功能码:  8
注:数据长度:1(1 bytes)
    数据:Byte1 
数据域说明。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
     Byte1.3 Byte1.2Byte1.1 Byte1.0
0:无定义
1:发生 撤防
2:发生 有声音布防
3:发生 无声布防
4:发生 进入修车
5:发生 退出修车,进入撤防状态
*/


extern xdata struct_Para_all  Para_all_True;
extern  code struct_Para_all   struct_Para_all_IniteValue;
extern  code struct_Para_all   struct_Para_all_MaxValue ;
extern  code struct_Para_all   struct_Para_all_MinValue ;


//变量结构
typedef  struct  Variale {                   //所有参数结构
              uchar   Xin_Flag;   

	
		uchar  Attand_One_Jing_B;   // 有新警情要处理的标志 
           
		uchar ZiJian_Byte;                              //自检字节  		                                                     		
				
          
               uint    Net_oK_FLAG_cnt;   // 网络通不通计数器,5分钟定时通讯握手
                    
		 uchar   XinCeFang_B;    //新来的撤防标志   1: 有新撤防命令来
          
} struct_Variale;


#define Net_oK_FLAG_cnt_MAX    80

/*
  struct_Variale_True.Net_oK_FLAG=0;     //  1:网络是通的 0不通
  报警时置为1,上位可要求为1
  但只有上位机通知断,才能清为0
  清为0 后,自己不再主动握手查询网络通不通
  
   struct_Variale_True.Net_oK_FLAG_cnt=0;    //秒为单位
   // 网络通不通计数器,5分钟定时通讯握手
    一量发现网络不通时要主动连接,连接后收到对方查询ID时置
     struct_Variale_True.Net_oK_FLAG=1;

*/
extern code  struct_JingQing_JiLu   struct_JingQing_JiLu_True_Value[100];
extern struct_Variale  struct_Variale_True;
extern xdata struct_JingQing_JiLu  struct_JingQing_JiLu_True[110];
extern xdata  uchar  struct_JingQing_JiLu_Change;    //用于标识是否有警情记录要存储



extern xdata uchar XinRf315_B;
extern xdata struct_JingQing_JiLu  struct_JingQing_Current_True;   // 当前的警情

extern xdata unsigned long  XinRf315_Value[2];
extern  struct_RF_24bit  RF_Address24_Xin;      //

extern  xdata uchar  XinJingLei_Byte;            //高位为1为有线否则为无线
extern   xdata uchar  XinPhone_JingLei_Byte; // 打电话用的报警字节
extern   xdata uchar  XinTcp_JingLei_Byte;  // TCPIP用的报警字节
extern   xdata  struct_Para_all  Para_all_True_Bak;

⌨️ 快捷键说明

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