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

📄 admcptcl.h

📁 内容摘要: LHD6000主板主芯片程序 ISD1730时序说明: 参考:void Send_1Byte(uchar ucData_s)和uchar Receive_1Byte(void)的说明.
💻 H
字号:
/*******************************************************************************
* 版权所有 (C)2005,深圳豪恩科技有限公司
*
* 文件名称:  main.C
* 文件标识:
* 内容摘要: LHD6000主板主芯片程序,2005.12.05开始
* 其它说明:
* 当前版本: 0.000
* 作    者:  涂常亮(豪恩科技研发中心安全主机组)
* 完成日期: 2005.03.28
*
* 修改纪录1:
*    修改日期:
*    版 本 号:
*    修 改 人:
*    修改内容:
* 修改纪录2:
*******************************************************************************/

#ifndef AdemcoProtocol_H
#define AdemcoProtocol_H

//#include <reg54.h>
//#include "EEPROM.H"


#define MAX_TIMES_ADEMCO_TRY    0x10  //重试次数
		  ///最大次数,安定宝协议重试

#ifndef ADEMCO_STAGE
#define ADEMCO_STAGE

#define ADEMCO_START            (0)  
          ///协议开始

#define ADEMCO_START_SEND_ID    (ADEMCO_START)  //开始发送ID    //0 //4位ID,中间加DTMF停止信号0xFF
		  ///四位ID,那这位不算
				   
#define ADEMCO_START_SEND_ID1   (ADEMCO_START_SEND_ID)  //开始发送ID    //0
          ///第一位ID:0

#define ADEMCO_START_SEND_ID2   (ADEMCO_START_SEND_ID1 + 2)  //开始发送ID    //2
          ///第二位ID: 2

#define ADEMCO_START_SEND_ID3   (ADEMCO_START_SEND_ID2 + 2)  //开始发送ID    //4
		  ///第三位ID: 4

#define ADEMCO_START_SEND_ID4   (ADEMCO_START_SEND_ID3 + 2)  //开始发送ID    //6
		  ///第四位ID: 6

#define ADEMCO_SEND_ID_END      (ADEMCO_START_SEND_ID4 + 1)//(ADEMCO_START_SEND_ID + 7)  //4位ID,中间加DTMF停止信号0xFF  //7
          ///ID结尾

#define ADEMCO_SEND_FMT         (ADEMCO_SEND_ID_END + 1)    //发送 4+1 或 ContactID 的格式识别符(17,18) //8
	      ///4 + 1与ContactID格式区别 

#define ADEMCO_SEND_FMT_END     (ADEMCO_SEND_FMT + 3)
		  ///格式结束

#define ADEMCO_SEND_CHK_SUM     (0xF0)
		  ///协议校验和,为什么是0xF0

#define ADEMCO_END              (ADEMCO_SEND_CHK_SUM + 1)//(0xF1)
		  ///协议结束

#define ADEMCO_WAIT_WAIT_ACK    (ADEMCO_END + 1)    //发送结束,等待确认回铃
          ///等待回铃???





//**********************定义发送 4+1 协议所需宏
#define ADEMCO41_SEND_EVENT     (ADEMCO_SEND_FMT_END + 1)   //格式两位,中间加暂停   //12(0x0C)(ADEMCO_SEND_FMT + 4)
          ///12 即0x0c              

#define ADEMCO41_SEND_EVENT_END (ADEMCO41_SEND_EVENT + 1)
          ///13 即0x0d

#define ADEMCO41_FIRE_ALARM 1   //火警,包括火警,气警,求助防区
          ///4+1事件代码1:火警         

#define ADEMCO41_HOLDUP     2   //劫警,胁持防区
		  ///4+1事件代码2:劫警

#define ADEMCO41_BURG_ALARM 3   //盗警,出入,活动,周边,防拆防区
		  ///4+1事件代码3:盗警

#define ADEMCO41_OPENING    4   //撤防
          ///4+1事件代码4:撤防
       
#define ADEMCO41_CLOSING    5   //布防
          ///4+1事件代码5:布防 

#define ADEMCO41_AC_POWER   6   //交流掉电
          ///4+1事件代码6:交流掉电

#define ADEMCO41_LOW_BATT   7   //电池欠压
		  ///4+1事件代码7:电池欠压

#define ADEMCO41_RESTORE    8   //复位(恢复出厂值 ??? )
   		  ///4+1事件代码8:

#define ADEMCO41_TEST       9   //测试(本系统不使用)
          ///4+1事件代码9:
//******************************************end




//****************************定义ContactID所用宏
#define CONTACTID_SEND_MARK_EVT     (ADEMCO_SEND_FMT_END + 1)   //发送一位事件标志码    //12(0x0C)(ADEMCO_SEND_FMT + 4)
				  ///12,即0x0c

#define CONTACTID_SEND_MARK_END     (CONTACTID_SEND_MARK_EVT + 1)   //13(0x0D)
				  ///13

#define CONTACTID_SEND_EVT          (CONTACTID_SEND_MARK_END + 1)   //14(0x0E)  //发送3位时间码
			      ///14

#define CONTACTID_SEND_EVT1         (CONTACTID_SEND_EVT)            //14(0x0E)
#define CONTACTID_SEND_EVT2         (CONTACTID_SEND_EVT1 + 2)       //16(0x10)
#define CONTACTID_SEND_EVT3         (CONTACTID_SEND_EVT2 + 2)       //18(0x12)
#define CONTACTID_SEND_EVT_END      (CONTACTID_SEND_EVT3 + 1)       //19(0x13)//(CONTACTID_SEND_EVT + 6)


#define CONTACTID_SEND_SUB_SYS      (CONTACTID_SEND_EVT_END + 1)    //发送两位子系统代码    //20(0x14)
#define CONTACTID_SEND_SUB_SYS1     (CONTACTID_SEND_SUB_SYS) //20(0x14)
#define CONTACTID_SEND_SUB_SYS2     (CONTACTID_SEND_SUB_SYS1 + 2)   //22(0x16)
#define CONTACTID_SEND_SUB_SYS_END  (CONTACTID_SEND_SUB_SYS2 + 1)   //23(0x17)
			 ///子系统干什么用的呢

#define CONTACTID_SEND_ZN_NUM       (CONTACTID_SEND_SUB_SYS_END + 1)    //发送三位防区号    //24(0x18)
#define CONTACTID_SEND_ZN_NUM1      (CONTACTID_SEND_ZN_NUM)         //24(0x18)
#define CONTACTID_SEND_ZN_NUM2      (CONTACTID_SEND_ZN_NUM1 + 2)    //26(0x1A)
#define CONTACTID_SEND_ZN_NUM3      (CONTACTID_SEND_ZN_NUM2 + 2)    //28(0x1C)
#define CONTACTID_SEND_ZN_NUM_END   (CONTACTID_SEND_ZN_NUM3 + 1)    //29(0x1D)//(CONTACTID_SEND_ZN_NUM + 5)
             ///跟防区有何关系
#endif //#ifndef ADEMCO_STAGE

//24C04存放是否使用ContactID的位置定义为 EEPROM_ADD_CONTACT_ID_SEL
#ifdef AdemcoProtocol_C
unsigned int code c_auiContactIDCode[]=
                                       {
                                        0x0110, //火警 //火警 //0
                                        0x0100, //医疗报警//求助防区    //1
                                        0x0121, //挟持//挟持密码,挟持防区报警 //2
                                        0x0131, //周边盗警//周边防区报警 //3 //防区类型3// !!! 修改时要修改报警时记录事件索引的程序
                                        0x0132, //内部盗警//活动防区报警 //4 //防区类型2// !!! 修改时要修改报警时记录事件索引的程序
                                        0x0134, //出入盗警//出入防区报警 //5 //防区类型1// !!! 修改时要修改报警时记录事件索引的程序
                                        0x0137, //24小时盗警//主机防拆及防拆防区报警 //6
                                        0x0151, //煤气泄漏//气警防区 //7
                                        0x0301, //交流掉电 //8
                                        0x0302, //系统电池电压低//电池欠压 //9
                                        0x0382, //总线模块丢失//键盘掉线 //10(0x0A)
                                        0x0145, //总线模块防拆//键盘防拆 //11(0x0B)
                                        0x0401, //用户布撤防操作//键盘和遥控//撤防是新事件,布防是恢复 //12(0x0C)
                                        0x0441, //留守布防 //13(0x0D)
                                        0x0455, //自动布防失败//有报警或进入延时时会自动布防失败 //14(0x0E)
                                        0x0521, //警号1旁路//取消警号 //15(0x0F)
                                        0x0570, //旁路 //16(0x10)
                                        };
                                        /*
                                        0x0311, //系统工程复位//恢复出厂值
                                        0x0306, //编程防拆
                                        */
#else
extern unsigned int code c_auiContactIDCode[];
#endif

#ifndef CONTACTID_INDEX
#define CONTACTID_INDEX
//和事件标志码存放一切,新事件/撤防(01表示ContactID标志发1)还是新的恢复事件或布防(02表示,ContactID标志发3)
//g_ucAdemcoEvts 记录防区号/操作者

///ContactID事件代码在c_auiContactIDCode[]的指针(序号)
#define FIRE_CONTACTID_INDEX    0
#define EMG_CONTACTID_INDEX     1
#define HOLDUP_CONTACTID_INDEX  2
#define OUT_CONTACTID_INDEX     3
#define ROOM_CONTACTID_INDEX    4
#define DOOR_CONTACTID_INDEX    5
#define WHOLE_DAY_ZN_CTID_INDEX 6
#define GAS_CONTACTID_INDEX     7
#define AC_CONTACTID_INDEX      8
#define BATT_CONTACTID_INDEX    9
#define LOSE_KB_CTID_INDEX      10
#define KB_BREAK_CTID_INDEX     11//(0x0B)
#define CHANGE_GUARD_CTID_INDEX 12//(0x0C)
#define HOME_GUARD_CTID_INDEX   13//(0x0D)
#define AUTO_GD_FAIL_CTID_INDEX 14//(0x0E)
#define STOP_TRUMP_CTID_INDEX   15//(0x0F)
#define BYPASS_ZN_CTID_INDEX    16//(0x10)
#define MAX_CONTACTID_INDEX     BYPASS_ZN_CTID_INDEX

//#define RMTR_OPERATR_CNTCTID    5//遥控器的操作员记为5
#define TEL_OPERATR_CNTCTID     0x20//报警时根据电话编号顺序,对应21~25,
                                    //电话远程操作时操作员根据密码为1,2
#define AUTO_OPERATR_CNTCTID    0x99//自动撤布防操作员记为99
#endif //#ifndef CONTACTID_INDEX

#endif //#ifndef AdemcoProtocol_H

⌨️ 快捷键说明

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