📄 cd_door.h
字号:
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
/*******常用变量***********/
uchar clk_10ms;
uchar clk_20ms;
uchar clk_50ms;
uchar clk_100ms;
uchar clk_20s;
uchar clk_200ms;
uint clk_1min;
uchar buzzer_cnt;
uchar buzzer_cycle;
uchar card_cnt;
uint FLAG;
uint FLAG1;
uint FLAG2;
uchar addr;
uchar addr1;
uchar tx_len;
uchar RX_DATA[100];
uchar TX_DATA[100];
uchar table_buf[840];
uchar clock[8];
uchar conone;
/*BIT位 控制 说明
D7 =0 不监控门开关状态
=1 监控门开关状态(通过门磁),异常报警
(1)非正常开门;
(2)不能自动关门的锁,刷卡后无开门后--再关门的机械动作;
(3)开门延时结束后,还未关门;
D6 =0 不监控红外
=1 监控红外,"非法进入监控区域"则报警,产生记录。合法刷卡进入,或KEYPAD上输入用户号/密码而开门进入 ,远程RS485命令放行(进入),控制器都会自动关闭红外监控。可以由远程RS485命令开启,或KEYPAD上直接开启。(KEYPAD上不能关闭,只能开启;只有合法刷卡才能关闭)
D5 =0 电磁锁在断电后(或加电后)能自动锁上;
=1 必须靠"开门--再关门"机械动作的弹力才能锁上;
D4 =0 允许 "手动开门"输入线在与电源地线短接时,能开门. =1,禁止.
D3 =0 设定门磁输出电平为:
开门时门磁两信号线是短路(通);门关上后,两信号线开路(不通)
=1 设定门磁输出电平为:
开门时门磁两信号线是断路(开);门关上后,两信号线短路合上(通)
D2 =0 设定红外感应器的输出电平:报警时两信号线是短路(通);正常时(不报警)两信号线开路(不通)
=1 设定红外感应器的输出电平:报警时两信号线是断路(不通);正常时(不报警)两信号线短路(通)
D1 =0 刷卡合法,就能开门,无须再个人密码确认;
=1 刷卡合法,必须再个人密码确认后,才能开门;
D0 =0 不允许从键盘单独按一个<ENT>键手动开门;
=1 允许从键盘单独按一<ENT>键手动开门,而节省手动开门按键;
*/
uint nvip; //已存正式卡号数目
uint nnom; //已存巡更卡号数目
uint nyvip; //已存遥控器正式卡号数目
uint nynom; //已存遥控器巡更卡号数目
ulong addrbuf;
ulong cardin; //记录内门刷卡
ulong cardout; //记录外门刷卡
ulong cardyao; //记录遥控开门卡号
uchar key;
uchar key_pre;
uchar key_cnt;
uchar door;
uchar door_pre;
uchar door_cnt;
uchar door_close;
uchar ir;
uchar ir_pre;
uchar ir_cnt;
uchar ir_close;
uint earse_cnt;
uint BOTTOM;
uint LOADP;
uint SAVEP;
uint MAXLEN;
uint save_cnt;
uchar MF;
uchar REMARK;
uchar STATUS;
ulong cardnum;
uchar recordbuf;
uchar delay_cnt; //门锁继电器执行时间计数
uchar wait_cnt; //开门后等待进入的延时时间计数
uchar iren_cnt; //红外报警输出的被确认时间计数
uchar alarm_cnt; //异地报警的延时时间计数
uchar irdly_cnt; //开启红外后的等待延时
uchar restday1;
uchar restday2;
uchar holiday[40][2];
uchar card_buf[5];
uchar index_vip;
uint protect_cnt;
uchar msg_flag;
uchar ircon[16]; //存储自动开启对红外门监控时段
//*******引脚定义*********
#define ALE BIT0
#define BUZ BIT1
#define DATA10 BIT0
#define DATA11 BIT1
#define DATA20 BIT2
#define DATA21 BIT3
#define CE BIT7
#define DATA BIT6
#define SCLK BIT5
//*****程序进程标识位FLAG***
#define fb_10ms BIT0
#define fb_20ms BIT1
#define fb_100ms BIT2
#define gb_buzzer BIT3
#define gb_card BIT4
#define gb_lock BIT5
#define gb_clock BIT6
#define gb_re1302 BIT7
#define gb_wr1302 BIT8
#define gb_tx BIT9
#define gb_addvip BITA
#define gb_addnom BITB
#define gb_delvip BITC
#define gb_delnom BITD
#define gb_time_re BITE
#define fb_50ms BITF
//*****程序进程标识位FLAG1***
#define gb_flashr BIT0
#define gb_flashw BIT1
#define gb_cdsame BIT2
#define gb_cardin BIT3
#define gb_cardout BIT4
#define gb_era7 BIT5
#define gb_deldeal BIT6
#define gb_remsg BIT7
#define gb_repar BIT8
#define gb_wrmsg BIT9
#define gb_work BITA
#define gb_week BITB
#define gb_rework BITC
#define gb_renowork BITD
#define gb_reweek BITE
#define gb_protect BITF
/*********程序进程标志位FLAG2****/
#define gb_addyvip BIT0
#define gb_addynom BIT1
#define gb_cardyao BIT2
#define gb_dooror BIT3
#define gb_doorval BIT4
#define gb_rejian BIT5
#define gb_conmsg BIT6
#define gb_ircon BIT7
#define gb_1min BIT8
#define gb_concon BIT9
#define gb_concon1 BITA
#define gb_doornval BITB
#define gb_irval BITC
/******信息记录区标志位msg_flag*****/
#define gb_msg1 BIT1
#define gb_msg2 BIT2
#define gb_msg3 BIT3
#define gb_msg4 BIT4
#define gb_msg5 BIT5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -