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

📄 system.lst

📁 一体化锁主程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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 + -