📄 system.lst
字号:
996 5 send_chk(18);
997 5 }
998 4 else if(uart_rcv_len == 14)
999 4 {
1000 5 col_flag1 = (DataBuf[4]<<4) + DataBuf[5];
1001 5 AT24C128_write(0x0B,&col_flag1,1);
1002 5 relay_timer1 = (DataBuf[6]<<4) + DataBuf[7];
1003 5 if(relay_timer1 < 20)
1004 5 relay_timer1 = 20;
1005 5 else if(relay_timer1 > 127)
1006 5 relay_timer1 = 127;
1007 5 AT24C128_write(0x06,&relay_timer1,1);
1008 5 open_timer1 = (DataBuf[8]<<4) + DataBuf[9];
1009 5 if(open_timer1 < 20)
1010 5 open_timer1 = 20;
1011 5 AT24C128_write(0x07,&open_timer1,1);
1012 5 infrared_alarm_timer1 = (DataBuf[10]<<4) + DataBuf[11];
1013 5 if(infrared_alarm_timer1 < 20)
1014 5 infrared_alarm_timer1 = 20;
1015 5 AT24C128_write(0x08,&infrared_alarm_timer1,1);
1016 5 exotic_alarm_timer1 = (DataBuf[12]<<4) + DataBuf[13];
1017 5 if(exotic_alarm_timer1 < 20)
1018 5 exotic_alarm_timer1 = 20;
1019 5 AT24C128_write(0x09,&exotic_alarm_timer1,1);
1020 5 purview_timer = 0x4B0;
1021 5 DataBuf[7] = 0x30;
1022 5 DataBuf[8] = 0x30;
1023 5 send_chk(18);
1024 5 }
1025 4 else if(uart_rcv_len == 16)
1026 4 {
1027 5 col_flag1 = (DataBuf[4]<<4) + DataBuf[5];
1028 5 AT24C128_write(0x0B,&col_flag1,1);
1029 5 relay_timer1 = (DataBuf[6]<<4) + DataBuf[7];
1030 5 if(relay_timer1 < 20)
1031 5 relay_timer1 = 20;
1032 5 else if(relay_timer1 > 127)
1033 5 relay_timer1 = 127;
1034 5 AT24C128_write(0x06,&relay_timer1,1);
1035 5 open_timer1 = (DataBuf[8]<<4) + DataBuf[9];
1036 5 if(open_timer1 < 20)
1037 5 open_timer1 = 20;
1038 5 AT24C128_write(0x07,&open_timer1,1);
1039 5 infrared_alarm_timer1 = (DataBuf[10]<<4) + DataBuf[11];
1040 5 if(infrared_alarm_timer1 < 20)
1041 5 infrared_alarm_timer1 = 20;
1042 5 AT24C128_write(0x08,&infrared_alarm_timer1,1);
1043 5 exotic_alarm_timer1 = (DataBuf[12]<<4) + DataBuf[13];
1044 5 if(exotic_alarm_timer1 < 20)
1045 5 exotic_alarm_timer1 = 20;
1046 5 AT24C128_write(0x09,&exotic_alarm_timer1,1);
1047 5 col_flag2 = (DataBuf[14]<<4) + DataBuf[15];
C51 COMPILER V7.50 SYSTEM 02/16/2009 09:18:46 PAGE 18
1048 5 AT24C128_write(0x0C,&col_flag2,1);
1049 5 purview_timer = 0x4B0;
1050 5 DataBuf[7] = 0x30;
1051 5 DataBuf[8] = 0x30;
1052 5 send_chk(18);
1053 5 }
1054 4 }
1055 3 else if(DataBuf[2] == 0xEE) //设置系统支持维根感应头的种类及卡片编号的获取方法
1056 3 {
1057 4 purview_timer = 0x4B0;
1058 4 DataBuf[7] = 0x30;
1059 4 DataBuf[8] = 0x30;
1060 4 send_chk(18);
1061 4 }
1062 3 else if(DataBuf[2] == 0xF2) //设定系统使用的感应卡种类
1063 3 {
1064 4 purview_timer = 0x4B0;
1065 4 DataBuf[7] = 0x30;
1066 4 DataBuf[8] = 0x30;
1067 4 send_chk(18);
1068 4 }
1069 3 else if(DataBuf[2] == 0xF3) //设定统感应卡编号的获取方法
1070 3 {
1071 4 purview_timer = 0x4B0;
1072 4 DataBuf[7] = 0x30;
1073 4 DataBuf[8] = 0x30;
1074 4 send_chk(18);
1075 4 }
1076 3 else if(DataBuf[2] == 0xF4) //启用或关闭ES5000键盘<ENT>开门许可
1077 3 {
1078 4 purview_timer = 0x4B0;
1079 4 DataBuf[7] = 0x30;
1080 4 DataBuf[8] = 0x30;
1081 4 send_chk(18);
1082 4 }
1083 3 else if(DataBuf[2] == 0xF8) //启用或关闭 "手动开门按键"输入
1084 3 {
1085 4 purview_timer = 0x4B0;
1086 4 DataBuf[7] = 0x30;
1087 4 DataBuf[8] = 0x30;
1088 4 send_chk(18);
1089 4 }
1090 3 else if(DataBuf[2] == 0xFC) //设定控制器的第二控制字 联动及报警输出特性
1091 3 {
1092 4 col_flag2 = (DataBuf[4]<<4) + DataBuf[5];
1093 4 AT24C128_write(0x0C,&col_flag2,1);
1094 4 purview_timer = 0x4B0;
1095 4 DataBuf[7] = 0x30;
1096 4 DataBuf[8] = 0x30;
1097 4 send_chk(18);
1098 4 }
1099 3 else if(DataBuf[2] == 0xFD) //设定控制器的第三控制字
1100 3 {
1101 4 col_flag3 = (DataBuf[4]<<4) + DataBuf[5];
1102 4 AT24C128_write(0x0D,&col_flag3,1);
1103 4 purview_timer = 0x4B0;
1104 4 DataBuf[7] = 0x30;
1105 4 DataBuf[8] = 0x30;
1106 4 send_chk(18);
1107 4 }
1108 3 else if(DataBuf[2] == 0xE1) //设置工作日的准进时段
1109 3 {
C51 COMPILER V7.50 SYSTEM 02/16/2009 09:18:46 PAGE 19
1110 4 i = DataBuf[4]*10 + DataBuf[5];
1111 4 if((i > 0) && (i < 5))
1112 4 {
1113 5 for(j=0;j<16;j++)
1114 5 DataBuf[j] = (DataBuf[j*2 + 6]<<4) + DataBuf[j*2 + 7];
1115 5 AT24C128_write(0x1DF0 + i*16,DataBuf,16);
1116 5 purview_timer = 0x4B0;
1117 5 DataBuf[7] = 0x30;
1118 5 DataBuf[8] = 0x30;
1119 5 send_chk(18);
1120 5 }
1121 4 else
1122 4 {
1123 5 purview_timer = 0x4B0;
1124 5 DataBuf[7] = 0x30;
1125 5 DataBuf[8] = 0x35;
1126 5 send_chk(18);
1127 5 }
1128 4 }
1129 3 else if(DataBuf[2] == 0xE2) //设置非工作日(节假日,或星期内休息日)的准进时段
1130 3 { //设置门常开时段,刷卡加密时段,门常闭时段,门磁红外监控时段
1131 4 i = DataBuf[4]*10 + DataBuf[5];
1132 4 if(i == 1)
1133 4 {
1134 5 for(j=0;j<16;j++)
1135 5 DataBuf[j] = (DataBuf[j*2 + 6]<<4) + DataBuf[j*2 + 7];
1136 5 AT24C128_write(0x1E40,DataBuf,16);
1137 5 purview_timer = 0x4B0;
1138 5 DataBuf[7] = 0x30;
1139 5 DataBuf[8] = 0x30;
1140 5 send_chk(18);
1141 5 }
1142 4 else if((i > 4) && (i < 9))
1143 4 {
1144 5 for(j=0;j<16;j++)
1145 5 DataBuf[j] = (DataBuf[j*2 + 6]<<4) + DataBuf[j*2 + 7];
1146 5 AT24C128_write(0x1E00 + i*16,DataBuf,16);
1147 5 purview_timer = 0x4B0;
1148 5 DataBuf[7] = 0x30;
1149 5 DataBuf[8] = 0x30;
1150 5 send_chk(18);
1151 5 }
1152 4 else
1153 4 {
1154 5 purview_timer = 0x4B0;
1155 5 DataBuf[7] = 0x30;
1156 5 DataBuf[8] = 0x35;
1157 5 send_chk(18);
1158 5 }
1159 4 }
1160 3 else if(DataBuf[2] == 0xF1) //设定星期准进时间段列表
1161 3 {
1162 4 i = (DataBuf[4]<<4) + DataBuf[5];
1163 4 j = (DataBuf[6]<<4) + DataBuf[7];
1164 4 if((i < 16) && (j > 0) && (j < 8))
1165 4 {
1166 5 for(m=0;m<24;m++)
1167 5 DataBuf[m] = (DataBuf[m*2 + 8]<<4) + DataBuf[m*2 + 9];
1168 5 AT24C128_write(0x1000 + i*224 + (j-1)*32,DataBuf,24);
1169 5 purview_timer = 0x4B0;
1170 5 DataBuf[7] = 0x30;
1171 5 DataBuf[8] = 0x30;
C51 COMPILER V7.50 SYSTEM 02/16/2009 09:18:46 PAGE 20
1172 5 send_chk(18);
1173 5 }
1174 4 else
1175 4 {
1176 5 purview_timer = 0x4B0;
1177 5 DataBuf[7] = 0x30;
1178 5 DataBuf[8] = 0x35;
1179 5 send_chk(18);
1180 5 }
1181 4 }
1182 3 else if(DataBuf[2] == 0xEA) //设定星期内的休息日
1183 3 {
1184 4 DataBuf[0] = DataBuf[4]*10 + DataBuf[5];
1185 4 DataBuf[1] = DataBuf[6]*10 + DataBuf[7];
1186 4 if(((DataBuf[0] > 0) && (DataBuf[0] < 8)) || ((DataBuf[1] > 0) && (DataBuf[1] < 8)))
1187 4 {
1188 5 AT24C128_write(0x1E90,DataBuf,2);
1189 5 purview_timer = 0x4B0;
1190 5 DataBuf[7] = 0x30;
1191 5 DataBuf[8] = 0x30;
1192 5 send_chk(18);
1193 5 }
1194 4 else
1195 4 {
1196 5 purview_timer = 0x4B0;
1197 5 DataBuf[7] = 0x30;
1198 5 DataBuf[8] = 0x35;
1199 5 send_chk(18);
1200 5 }
1201 4 }
1202 3 else if(DataBuf[2] == 0xEB) //设定国家法定节假日(不包括星期内休息日)
1203 3 {
1204 4 DataBuf[0] = DataBuf[4]*10 + DataBuf[5];
1205 4 DataBuf[1] = DataBuf[6]*10 + DataBuf[7];
1206 4 if((DataBuf[0] > 0) && (DataBuf[0] < 13) && (DataBuf[1] > 0) && (DataBuf[1] < 32))
1207 4 {
1208 5 if(holiday_n < 14)
1209 5 {
1210 6
1211 6 for(i=0;i<14;i++)
1212 6 {
1213 7 if((holiday_buf[i].holiday[0] == DataBuf[0]) && (holiday_buf[i].holiday[1] == DataBu
-f[1]))
1214 7 {
1215 8 purview_timer = 0x4B0;
1216 8 DataBuf[7] = 0x30;
1217 8 DataBuf[8] = 0x35;
1218 8 send_chk(18);
1219 8 TI = 0;
1220 8 ES = 1;
1221 8 return;
1222 8 }
1223 7 }
1224 6 for(i=0;i<14;i++)
1225 6 {
1226 7 if((holiday_buf[i].holiday[0] > 12) || (holiday_buf[i].holiday[1] > 31))
1227 7 {
1228 8 holiday_n++;
1229 8 I2C_rcv[0] = holiday_n;
1230 8 AT24C128_write(0x0F,I2C_rcv,1);
1231 8 holiday_buf[i].holiday[0] = DataBuf[0];
1232 8 holiday_buf[i].holiday[1] = DataBuf[1];
C51 COMPILER V7.50 SYSTEM 02/16/2009 09:18:46 PAGE 21
1233 8 AT24C128_write(0x1EA0 + i*2,DataBuf,2);
1234 8 purview_timer = 0x4B0;
1235 8 DataBuf[7] = 0x30;
1236 8 DataBuf[8] = 0x30;
1237 8 send_chk(18);
1238 8 TI = 0;
1239 8 ES = 1;
1240 8 return;
1241 8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -