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

📄 system.lst

📁 一体化锁主程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 745   5                            }
 746   5                         }
 747   5                      }
 748   5                      else
 749   5                      {
 750   5                            LOADPP = DataBuf[6]*4096 + DataBuf[7]*256 + DataBuf[4]*16 + DataBuf[5] - 1;
 751   5                            if((LOADPP < LOADP) || (LOADPP >= SAVEP))
 752   5                            {
 753   5                               LOADP = LOADPP;
 754   5                               if(LOADPP >= SAVEP)
 755   5                               {
 756   5                                  D0_flag = 1;
 757   5                                  I2C_rcv[0] |= 1;
 758   5                                  AT24C128_write(0x05,I2C_rcv,1);
 759   5                               }
 760   5                               I2C_rcv[1] = (LOADP >> 8) & 0x00ff;
 761   5                               I2C_rcv[2] = LOADP& 0x00ff;
 762   5                               AT24C128_write(0x01,I2C_rcv + 1,2);
 763   5                               purview_timer = 0x4B0;
 764   5                               DataBuf[7] = 0x30;
 765   5                               DataBuf[8] = 0x30;
 766   5                               send_chk(18);
 767   5                            }
 768   5                            else
 769   5                            {
 770   5                               purview_timer = 0x4B0;
 771   5                               DataBuf[7] = 0x30;
 772   5                               DataBuf[8] = 0x36;
 773   5                               send_chk(18);
 774   5                            }
 775   5                      }*/
 776   5                   }
 777   4                }
 778   3                else if(DataBuf[2] == 0xE6)      //门锁继电器执行时间(单独设定)
 779   3                {
 780   4                   relay_timer1 = (DataBuf[4]<<4) + DataBuf[5];
 781   4                   if(relay_timer1 < 20)
 782   4                      relay_timer1 = 20;
 783   4                   if(relay_timer1 > 127)
 784   4                      relay_timer1 = 127;
 785   4                   I2C_rcv[0] = relay_timer1;
 786   4                   AT24C128_write(0x06,I2C_rcv,1);
 787   4                   purview_timer = 0x4B0;
 788   4                   DataBuf[7] = 0x30;
 789   4                   DataBuf[8] = 0x30;
 790   4                   send_chk(18);
 791   4                }
 792   3                else if(DataBuf[2] == 0xE7)      //开门后等待进入的延时时间(单独设定)
 793   3                {
 794   4                   open_timer1 = (DataBuf[4]<<4) + DataBuf[5];
 795   4                   if(open_timer1 < 20)
 796   4                      open_timer1 = 20;
 797   4                   I2C_rcv[0] = open_timer1;
 798   4                   AT24C128_write(0x07,I2C_rcv,1);
 799   4                   purview_timer = 0x4B0;
C51 COMPILER V7.50   SYSTEM                                                                02/16/2009 09:18:46 PAGE 14  

 800   4                   DataBuf[7] = 0x30;
 801   4                   DataBuf[8] = 0x30;
 802   4                   send_chk(18);
 803   4                }
 804   3                else if(DataBuf[2] == 0xE8)      //红外报警输出的被确认时间(单独设定)
 805   3                {
 806   4                   infrared_alarm_timer1 = (DataBuf[4]<<4) + DataBuf[5];
 807   4                   if(infrared_alarm_timer1 < 20)
 808   4                      infrared_alarm_timer1 = 20;
 809   4                   I2C_rcv[0] = infrared_alarm_timer1;
 810   4                   AT24C128_write(0x08,I2C_rcv,1);
 811   4                   purview_timer = 0x4B0;
 812   4                   DataBuf[7] = 0x30;
 813   4                   DataBuf[8] = 0x30;
 814   4                   send_chk(18);
 815   4                }
 816   3                else if(DataBuf[2] == 0xE9)      //设定异地报警的延时时间(单独设定)
 817   3                {
 818   4                   if(uart_rcv_len == 6)
 819   4                   {
 820   5                      exotic_alarm_timer1 = (DataBuf[4]<<4) + DataBuf[5];
 821   5                      if(exotic_alarm_timer1 < 20)
 822   5                         exotic_alarm_timer1 = 20;
 823   5                      I2C_rcv[0] = exotic_alarm_timer1;
 824   5                      AT24C128_write(0x09,I2C_rcv,1);
 825   5                      purview_timer = 0x4B0;
 826   5                      DataBuf[7] = 0x30;
 827   5                      DataBuf[8] = 0x30;
 828   5                      send_chk(18);
 829   5                   }
 830   4                }
 831   3                else if(DataBuf[2] == 0xEF)      //开启红外监控后的等待延时
 832   3                {
 833   4                   infrared_comm_timer1 = (DataBuf[6]<<4) + DataBuf[7];
 834   4                   if(infrared_comm_timer1 < 20)
 835   4                      infrared_comm_timer1 = 20;
 836   4                   I2C_rcv[0] = infrared_comm_timer1;
 837   4                   AT24C128_write(0x0A,I2C_rcv,1);
 838   4                   purview_timer = 0x4B0;
 839   4                   DataBuf[7] = 0x30;
 840   4                   DataBuf[8] = 0x30;
 841   4                   send_chk(18);
 842   4                }
 843   3                else if(DataBuf[2] == 0xFB)      //门开关状态监控的布防与撤防
 844   3                {                                //D7
 845   4                   DataBuf[4] = (DataBuf[4]<<4) + DataBuf[5];
 846   4                   if(DataBuf[4] == 0)
 847   4                   {
 848   5                      col_flag1 &= 0x7F;
 849   5                      AT24C128_write(0x0B,&col_flag1,1);
 850   5                      purview_timer = 0x4B0;
 851   5                      DataBuf[7] = 0x30;
 852   5                      DataBuf[8] = 0x30;
 853   5                      send_chk(18);
 854   5                   }
 855   4                   else if(DataBuf[4] == 1)
 856   4                   {
 857   5                      col_flag1 |= 0x80;
 858   5                      AT24C128_write(0x0B,&col_flag1,1);
 859   5                      purview_timer = 0x4B0;
 860   5                      DataBuf[7] = 0x30;
 861   5                      DataBuf[8] = 0x30;
C51 COMPILER V7.50   SYSTEM                                                                02/16/2009 09:18:46 PAGE 15  

 862   5                      send_chk(18);
 863   5                   }
 864   4                }
 865   3                else if(DataBuf[2] == 0xFA)      //红外监控的布防与撤防
 866   3                {                                //D6
 867   4                   DataBuf[4] = (DataBuf[4]<<4) + DataBuf[5];
 868   4                   if(DataBuf[4] == 0)
 869   4                   {
 870   5                      col_flag1 &= 0xBF;
 871   5                      AT24C128_write(0x0B,&col_flag1,1);
 872   5                      purview_timer = 0x4B0;
 873   5                      DataBuf[7] = 0x30;
 874   5                      DataBuf[8] = 0x30;
 875   5                      send_chk(18);
 876   5                   }
 877   4                   else if(DataBuf[4] == 1)
 878   4                   {
 879   5                      col_flag1 |= 0x40;
 880   5                      AT24C128_write(0x0B,&col_flag1,1);
 881   5                      purview_timer = 0x4B0;
 882   5                      DataBuf[7] = 0x30;
 883   5                      DataBuf[8] = 0x30;
 884   5                      send_chk(18);
 885   5                   }
 886   4                }
 887   3                else if(DataBuf[2] == 0xF9)      //设定门控电磁锁的(种类)特性
 888   3                {                                //D5
 889   4                   DataBuf[4] = (DataBuf[4]<<4) + DataBuf[5];
 890   4                   if(DataBuf[4] == 0)
 891   4                   {
 892   5                      col_flag1 &= 0xDF;
 893   5                      AT24C128_write(0x0B,&col_flag1,1);
 894   5                      purview_timer = 0x4B0;
 895   5                      DataBuf[7] = 0x30;
 896   5                      DataBuf[8] = 0x30;
 897   5                      send_chk(18);
 898   5                   }
 899   4                   else if(DataBuf[4] == 1)
 900   4                   {
 901   5                      col_flag1 |= 0x20;
 902   5                      AT24C128_write(0x0B,&col_flag1,1);
 903   5                      purview_timer = 0x4B0;
 904   5                      DataBuf[7] = 0x30;
 905   5                      DataBuf[8] = 0x30;
 906   5                      send_chk(18);
 907   5                   }
 908   4                }
 909   3                else if(DataBuf[2] == 0xF7)      //设定门开关感应器在开门状态时的有效电平(输出给门控器)
 910   3                {                                //D3
 911   4                   DataBuf[4] = (DataBuf[4]<<4) + DataBuf[5];
 912   4                   if(DataBuf[4] == 0)
 913   4                   {
 914   5                      col_flag1 &= 0xF7;
 915   5                      AT24C128_write(0x0B,&col_flag1,1);
 916   5                      purview_timer = 0x4B0;
 917   5                      DataBuf[7] = 0x30;
 918   5                      DataBuf[8] = 0x30;
 919   5                      send_chk(18);
 920   5                   }
 921   4                   else if(DataBuf[4] == 1)
 922   4                   {
 923   5                      col_flag1 |= 0x08;
C51 COMPILER V7.50   SYSTEM                                                                02/16/2009 09:18:46 PAGE 16  

 924   5                      AT24C128_write(0x0B,&col_flag1,1);
 925   5                      purview_timer = 0x4B0;
 926   5                      DataBuf[7] = 0x30;
 927   5                      DataBuf[8] = 0x30;
 928   5                      send_chk(18);
 929   5                   }
 930   4                }
 931   3                else if(DataBuf[2] == 0xF6)      //设定红外感应器在报警时的有效电平(输出给门控器)
 932   3                {                                //D2
 933   4                   DataBuf[4] = (DataBuf[4]<<4) + DataBuf[5];
 934   4                   if(DataBuf[4] == 0)
 935   4                   {
 936   5                      col_flag1 &= 0xFB;
 937   5                      AT24C128_write(0x0B,&col_flag1,1);
 938   5                      purview_timer = 0x4B0;
 939   5                      DataBuf[7] = 0x30;
 940   5                      DataBuf[8] = 0x30;
 941   5                      send_chk(18);
 942   5                   }
 943   4                   else if(DataBuf[4] == 1)
 944   4                   {
 945   5                      col_flag1 |= 0x04;
 946   5                      AT24C128_write(0x0B,&col_flag1,1);
 947   5                      purview_timer = 0x4B0;
 948   5                      DataBuf[7] = 0x30;
 949   5                      DataBuf[8] = 0x30;
 950   5                      send_chk(18);
 951   5                   }
 952   4                }
 953   3                else if(DataBuf[2] == 0xF5)      //设定是否刷卡加密码
 954   3                {                                //D1
 955   4                   DataBuf[4] = (DataBuf[4]<<4) + DataBuf[5];
 956   4                   if(DataBuf[4] == 0)
 957   4                   {
 958   5                      col_flag1 &= 0xFD;
 959   5                      AT24C128_write(0x0B,&col_flag1,1);
 960   5                      purview_timer = 0x4B0;
 961   5                      DataBuf[7] = 0x30;
 962   5                      DataBuf[8] = 0x30;
 963   5                      send_chk(18);
 964   5                   }
 965   4                   else if(DataBuf[4] == 1)
 966   4                   {
 967   5                      col_flag1 |= 0x02;
 968   5                      AT24C128_write(0x0B,&col_flag1,1);
 969   5                      purview_timer = 0x4B0;
 970   5                      DataBuf[7] = 0x30;
 971   5                      DataBuf[8] = 0x30;
 972   5                      send_chk(18);
 973   5                   }
 974   4                }
 975   3                else if(DataBuf[2] == 0xE5)      //所有控制参数
 976   3                {                                //门磁、红外等感应器的特性(单独设定)
 977   4                                                 //整体设定(1)  整体设定(2)  整体设定(3)
 978   4                   if(uart_rcv_len == 6)
 979   4                   {
 980   5                      col_flag1 = (DataBuf[4]<<4) + DataBuf[5];
 981   5                      AT24C128_write(0x0B,&col_flag1,1);
 982   5                      purview_timer = 0x4B0;
 983   5                      DataBuf[7] = 0x30;
 984   5                      DataBuf[8] = 0x30;
 985   5                      send_chk(18);
C51 COMPILER V7.50   SYSTEM                                                                02/16/2009 09:18:46 PAGE 17  

 986   5                   }
 987   4                   else if(uart_rcv_len == 8)
 988   4                   {
 989   5                      col_flag1 = (DataBuf[4]<<4) + DataBuf[5];
 990   5                      AT24C128_write(0x0B,&col_flag1,1);
 991   5                      col_flag2 = (DataBuf[6]<<4) + DataBuf[7];
 992   5                      AT24C128_write(0x0C,&col_flag2,1);
 993   5                      purview_timer = 0x4B0;
 994   5                      DataBuf[7] = 0x30;
 995   5                      DataBuf[8] = 0x30;

⌨️ 快捷键说明

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