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

📄 head.h

📁 内容摘要: LHD6000主板主芯片程序 ISD1730时序说明: 参考:void Send_1Byte(uchar ucData_s)和uchar Receive_1Byte(void)的说明.
💻 H
字号:
#ifndef LHD6KHEAD_H
#define LHD6KHEAD_H
//自定义 watchdog
/********************************************/
//看门狗宏定义设置
#if 1 // !!! .
#define EnWdt();    WDTC |= 0x80;
#define DisWdt();   WDTC &= 0x7F;

//低三位是预分频,默认2分频
#define ClrWdt();   WDTC |= (0x01 << 6);
//16分频
#define ClrWdt16();    {WDTC |= (0x01 << 6);_nop_();WDTC |= 0x03;}
//256分频
#define ClrWdt256();   {WDTC |= (0x01 << 6);_nop_();WDTC |= 0x07;}
#else
#define EnWdt();
#define DisWdt();
#define ClrWdt();
#define ClrWdt16();
#define ClrWdt256();
#endif
/********************************************/


/********************************************/
//宏常量定义:
//返回值定义
//通用
#define ERR_RTN     1
#define SUCC_RTN    0
//执行旁路命令是否成功
#define BYPASS_FAIL 1
#define UNBYP_FAIL 1
#define BYPASS_SUCC 0
#define UNBYP_SUCC 0
//设置防区类型,实际使用 24C04.C 里 WriteByte 的返回值
#define SET_ZN_TYPE_SUCC 0
#define SET_ZN_TYPE_FAIL 1
//恢复防区类型出厂值
#define RST_ZN_TYPE_SUCC 0
#define RST_ZN_TYPE_FAIL 1

#define LED_ON  0
#define LED_OFF 1	
#define CENTURY_DEFAULT 0x20 //HT1380/1381 默认年份高两位
/*//位变量记录方式
#define YES 0x55
#define NO  0xAA*/
/*********************************************/



/*********************************************/
//数值定义
//通讯等待定义,测试时需要改变

#define TIME_WAIT_KB_1_PKG  41 //发送/接收一个包运行的时间,以 10ms 为单位,  //默认60 (=40ms)

#define TIME_WAIT_KB_1_BYTE 11 //收到令牌后,最短反应时间,以 10ms 为单位,    //默认20 (=10ms)(T0定时1ms就可以为2ms或3ms)												

#define TIME_KB_LOSE        150	//认为键盘掉线时间,默认1.5s

#define TIME_KB_PROC_MSG    101	 //等待键盘处理数据的时间,即一个信息重复发送后的延时,单位ms //默认 101==>100ms
#define TIME_Aux_PROC_MSG    101

#define TIMES_KB_CMD_REPEAT 1   //键盘命令重复次数,不需要重复的设为0,实际发送次数为 n+1
#define TIMES_AUX_CMD_REPEAT 2  //发送两次有时辅助CPU收不到
//#define MAX_TIMES_AUX_CMD_REPEAT 9
#define MIN_WRZN_ALM_INTVAL 60 //200 //单位10ms


#define TIME_LED_CHG    30	  //LED灯闪烁定时,10ms为单位,无符号字符型变量使用


//#define MAX_TIMES_WRONG_PWD_STG 9
#define HOURS_LCK_PWD   8 //密码允许输错次数的最大值


#define TIME_AUX_ERR        11	  //辅助CPU通讯出错时间	,单位 s    //默认11s

#define TIME_WAIT_AUX_1_PKG 11	  //辅助CPU通讯定时长度,单位 10ms   //默认10ms
//连续两条重复信息之间的间隔,单位ms //默认2ms
#define TIME_SERIES_PAUSE_KB    6   //2ms//2006-8-23 清无线时需延时长键盘才能响.
#define TIME_SERIES_PAUSE_AUX   3


#define TIME_AUX_MSG_DUP    28  //辅助CPU重复信息的最小间隔


#define TIME_NO_SER_INT     8	 //进入串口中断间隔的初始值,单位 10ms    //默认80ms

//电话相关

#define TIME_RECV_RM_EMI    5	//接收电话按键的去抖延时.没有加电容有的机器有干扰,报警时用户摘机立即按键,主机收到两次.

#define TIME_DIAL_PAUSE     5 //2006-12-15 17:15   //拨两个号码之间的延时时间,单位 s   //默认5 //以秒为单位不要大于20,该值不大于19,大于19需重新挂机再拨号
#define TIME_DIAL_ROUND     45 //2006-12-15 17:15


#define TIME_DIAL_DIGITE    4	//向HT9200发送两个数字之间的延时,单位 10ms  //默认50ms

#define TIME_HT9200CE_DELAY 50	//开始拨号前抢线摘机将9200DTMF发生器CE置低后,与开始拨号之间的延时,单位 10ms //默认500ms	   
				                ///继电器动作需要时间

#define TIME_HANG_UP        100	//挂断电话需要的时间,g_ucDialNextDigit 计时,单位10ms

#define MAX_TIMES_CALL      31  //2006-12-15 17:15//一直无人接听需要拨打遍数,实际遍数为 MAX_TIMES_CALL-1 次,只有接警中心信息时初次会多加一次				 

#define TIME_BEEP_INTERVAL_SHRT  50	 //电话控制撤布防回复音间隔,单位10ms //默认500ms//赋值给整形常量范围0~0xFF
#define TIME_BEEP_INTERVAL_LONG  150

#define MAX_TIME_PHONE_KEY  30	 //用户拨入进行远程控制时,允许的按键时间间隔,超时挂机,单位 s  //默认30s

#define TIME_VOICE_BLANK    5	 //电话报警语音两遍之间的间隔,单位s  //默认5s

#define MAX_TIMES_VOICE_ONCE   4  //自动挂机前报警音连续播放遍数,即连续播放 MAX_TIMES_VOICE_ONCE+1 遍后用户仍没有按键,自动挂机,拨下一电话
						    //默认5遍

#define MAX_PHONE_PWD_TIMES     3	 //密码允许输入错误的次数//变量与语音播放遍数共用,后修改不再共用//密码正确后不需重新输入,所以用户重听报警不会影响
//实际允许次数为 MAX_PHONE_PWD_TIMES + 1 次

//电话回铃音

#define BACK_RING_BUSY      5  //忙音

#define BACK_RING_RINGING   6  //振铃音

#define BACK_RING_NOISE     7  //回铃噪音或接收错误

#define BACK_RING_ANSWD     8  //对方摘机有噪音

//电话控制相关
#define PHONE_CMD_RECV_END  6  
#define PHONE_CMD_ERR       7
#define PHONE_CMD_OK        PHONE_CMD_ERR + 2
#define PHONE_CMD_MAX_PNT   PHONE_CMD_OK + 1

//防区类型定义

#define ALARM_TYPE_NUM_DOOR 0x01   //出入

#define ALARM_TYPE_NUM_ROOM 0x02   //活动

#define ALARM_TYPE_NUM_OUT  0x03  //周边

#define ALARM_TYPE_NUM_EMG  0x04  //紧急求助

#define ALARM_TYPE_NUM_FIRE 0x05  //火灾

#define ALARM_TYPE_NUM_GAS  0x06  //毒气

#define ALARM_TYPE_NUM_BRK  0x07  //防拆

#define ALARM_TYPE_NUM_FORC 0x08  //胁持

//默认防区类型
#define EX_ZN_TYPE_DFLT     ALARM_TYPE_NUM_OUT
#define WRLS_ZN_TYPE_DFLT   ALARM_TYPE_NUM_EMG
#define KB_ZN_TYPE_DFLT     ALARM_TYPE_NUM_OUT

//撤布防状态定义
#define OUT_GUARDING    0x01  ///外出布防
#define HOME_GUARDING   0x02  ///留守布防
#define LAX_GUARDING    0x03  ///撤防
//#define OUTING          0x04
//#define COMING_IN       0x05
#define MAX_ARM_STATUS  0x03  ///???

#define IS_OUT_GUARDING     (OUT_GUARDING   == g_ucArmStatus) ///是否外出布防
#define IS_HOME_GUARDING    (HOME_GUARDING  == g_ucArmStatus) ///是否留守布防
#define IS_LAX_GUARDING     (LAX_GUARDING   == g_ucArmStatus) ///是否撤防
#define IS_OUTING           (g_FlagOutDelaying)		   ///是否退出延时
#define IS_COMING_IN        (g_FlagInDelaying)		   ///是否进入延时

//HT1380寄存器定义
#define REG_SEC     0
#define REG_MIN     1
#define REG_HR      2
#define REG_DATE    3
#define REG_MONTH   4
#define REG_DAY     5
#define REG_YR      6
#define REG_WP      7

#define YR_DEFAULT      0x00
#define MONTH_DEFAULT   0x01
#define DAT_DEFAULT     0x01

#define MAX485_SEND 1
#define MAX485_RECV 0

//定义在键盘接收缓存中地址和长度的位置
#define LOCATN_KB
#define LOCATN_KB_ID        0  ///本地键盘ID号
#define LOCATN_KB_PKG_LEN   1  ///数据长度
#define LOCATN_KB_CMDH      2  ///键盘命令高字节
#define LOCATN_KB_CMDL      3  ///键盘命令低字节

#define KB_RECV_BUFF_LEN    13 //电话号码为16位 ///键盘接收缓存长度

#define KB_SEND_BUFF_LEN    12 ///键盘发送缓存长度

#define KB_USING_BUFF_LEN   (KB_RECV_BUFF_LEN > KB_SEND_BUFF_LEN ? KB_RECV_BUFF_LEN : KB_SEND_BUFF_LEN)
                 	         ///键盘使用缓存

#define AUX_RECV_BUFF_LEN   2 ///辅助CPU接收缓存长度
#define AUX_SEND_BUFF_LEN   2 ///辅助CPU发送缓存长度
							  ///两个字节,这么短,不对吧

/************************************************
* 发送到键盘的命令定义开始,键盘协议按11月底重定协议
************************************************/
#ifndef KB_OUT_CMD
#define KB_OUT_CMD
#define KB_CMD


#define KB_BC_ID            0xAA  //键盘广播地址

#define KB_CMD_PKG_LEN      0x03  //没有参数的数据包长度值

#define KB_CMD_HIST_H       0x38  //发送历史纪录

#define KB_CMD_HIST_L       0x01

#define KB_CMD_RECV_ERR_H   0x49  ///键盘命令接收错误
#define KB_CMD_RECV_ERR_L   0x01

#define KB_CMD_EXE_ERR_H    0x49  ///键盘命令执行错误
#define KB_CMD_EXE_ERR_L    0x05

#define KB_CMD_RECV_OK_H    0x48  ///键盘命令接收OK
#define KB_CMD_RECV_OK_L    0x01

#define KB_CMD_EXE_OK_H     0x48  ///键盘命令执行OK
#define KB_CMD_EXE_OK_L     0x05

#define KB_CMD_OUT_GUARD_H  0x35  //外出布防
#define KB_CMD_OUT_GUARD_L  0x01

#define KB_CMD_HOME_GD_H    0x35  //留守(夜间)布防
#define KB_CMD_HOME_GD_L    0x02

#define KB_CMD_DISGUARD_H   0x35  //撤防
#define KB_CMD_DISGUARD_L   0x03

#define KB_CMD_GUARD_FAIL_H 0x35  //遥控布防失败
#define KB_CMD_GUARD_FAIL_L 0x81

#endif  //#ifndef KB_OUT_CMD 结束
/************发送到键盘的命令定义结束**************/

/*************************
* 发送到辅助CPU的命令定义开始
*************************/
#ifndef AUX_CMD
#define AUX_CMD

#define AUX_CMD_RECV_OK_H   0x18    ///辅助处理器命令接收OK
#define AUX_CMD_RECV_OK_L   0x08

#define AUX_CMD_RECV_ERR_H  0x19    ///辅助处理器命令接收失败
#define AUX_CMD_RECV_ERR_L  0x09

#define AUX_CMD_ADD_RMT_H   0x11    ///遥控器对码
#define AUX_CMD_RMV_RMT_H   0x12    ///清除遥控器对码
#define AUX_CMD_ADD_ZN_H    0x13	///无线防区对码
#define AUX_CMD_RM_ZN_L     0x14    ///清除无线防区对码

#endif  //#ifndef AUX_CMD 结束
/*************************************
* 发送到辅助CPU的命令定义结束
*************************************/

#endif //#ifndef LHD6KHEAD_H

⌨️ 快捷键说明

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