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

📄 system.lst

📁 一体化锁主程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 494  10                                      break;
 495  10                                  }
 496   9                                  else m++;
 497   9                               }
 498   8                               if(m == 4)
 499   8                               {
 500   9                                  purview_timer = 0x4B0;
 501   9                                  DataBuf[7] = 0x45;
 502   9                                  DataBuf[8] = 0x37;
 503   9                                  send_chk(18);
 504   9                                  TI = 0;
 505   9                                  ES = 1;
 506   9                                  return;
 507   9                               }
 508   8                            }
 509   7                         }
 510   6                         if(l == user_n)
 511   6                         {
 512   7                            for(i=0;i<60;i++)
 513   7                            {
 514   8                               if(user_buf[i].class.purview == 0xff)
 515   8                               {
 516   9                                  user_buf[i] = user_tmp;
 517   9                                  user_n++;
 518   9                                  I2C_rcv[0] = user_n;
 519   9                                  AT24C128_write(0x00,I2C_rcv,1);
 520   9                                  AT24C128_write(0x10 + i*16,user_buf[i].whole,16);
 521   9                                  purview_timer = 0x4B0;
 522   9                                  DataBuf[7] = 0x30;
 523   9                                  DataBuf[8] = 0x30;
 524   9                                  send_chk(18);
 525   9                                  TI = 0;
 526   9                                  ES = 1;
 527   9                                  return;
 528   9                               }
 529   8                            }
 530   7                            break;
 531   7                         }
 532   6                      }
 533   5                   }
 534   4                   else if(user_n == 60)
 535   4                   {
 536   5                       purview_timer = 0x4B0;
 537   5                       DataBuf[7] = 0x45;
 538   5                       DataBuf[8] = 0x32;
 539   5                       send_chk(18);
 540   5                   }
 541   4                   else if(user_n > 60)
 542   4                   {
 543   5                       user_n = 0;
 544   5                   }
 545   4                }
 546   3                else if(DataBuf[2] == 0xE4)      //删除用户
 547   3                {
 548   4                   DataBuf[4] = (DataBuf[4]<<4) + DataBuf[5];
 549   4                   if(DataBuf[4] == 0)           //按卡号删除用户
 550   4                   {
 551   5                      if(user_n == 0)
C51 COMPILER V7.50   SYSTEM                                                                02/16/2009 09:18:46 PAGE 10  

 552   5                      {
 553   6                         purview_timer = 0x4B0;
 554   6                         DataBuf[7] = 0x45;
 555   6                         DataBuf[8] = 0x34;
 556   6                         send_chk(18);
 557   6                      }
 558   5                      else
 559   5                      {
 560   6                         for(i=0;i<5;i++)
 561   6                           user_tmp.class.card[i] = (DataBuf[6 + i*2]<<4) + DataBuf[7 + i*2];
 562   6                         for(i=0;i<60;i++)
 563   6                         {
 564   7                            if(user_buf[i].class.purview != 0xFF)
 565   7                            {
 566   8                               m = 0;
 567   8                               for(j=0;j<5;j++)
 568   8                               {
 569   9                                  if(user_tmp.class.card[j] == user_buf[i].class.card[j])
 570   9                                  {
 571  10                                     m++;
 572  10                                  }
 573   9                                  else break;
 574   9                               }
 575   8                               if(m == 5)
 576   8                               {
 577   9                                  user_n--;
 578   9                                  I2C_rcv[0] = user_n;
 579   9                                  AT24C128_write(0x00,I2C_rcv,1);
 580   9                                  I2C_rcv[0] = 0xFF;
 581   9                                  user_buf[i].class.purview = 0xFF;
 582   9                                  AT24C128_write(0x1F + i*16,I2C_rcv,1);
 583   9                                  purview_timer = 0x4B0;
 584   9                                  DataBuf[7] = 0x30;
 585   9                                  DataBuf[8] = 0x30;
 586   9                                  send_chk(18);
 587   9                                  TI = 0;
 588   9                                  ES = 1;
 589   9                                  return;
 590   9                               }
 591   8                            }
 592   7                         }
 593   6                         purview_timer = 0x4B0;
 594   6                         DataBuf[7] = 0x45;
 595   6                         DataBuf[8] = 0x35;
 596   6                         send_chk(18);
 597   6                      }
 598   5                   }
 599   4                   else if(DataBuf[4] == 1)      //按ID删除用户
 600   4                   {
 601   5                      if(user_n == 0)
 602   5                      {
 603   6                         purview_timer = 0x4B0;
 604   6                         DataBuf[7] = 0x45;
 605   6                         DataBuf[8] = 0x34;
 606   6                         send_chk(18);
 607   6                      }
 608   5                      else
 609   5                      {
 610   6                         for(i=0;i<4;i++)
 611   6                           user_tmp.class.ID[i] = (DataBuf[8 + i*2]<<4) + DataBuf[9 + i*2];
 612   6                         for(i=0;i<60;i++)
 613   6                         {
C51 COMPILER V7.50   SYSTEM                                                                02/16/2009 09:18:46 PAGE 11  

 614   7                            if(user_buf[i].class.purview != 0xFF)
 615   7                            {
 616   8                               m = 0;
 617   8                               for(j=0;j<4;j++)
 618   8                               {
 619   9                                  if(user_tmp.class.ID[j] == user_buf[i].class.ID[j])
 620   9                                  {
 621  10                                     m++;
 622  10                                  }
 623   9                                  else break;
 624   9                               }
 625   8                               if(m == 4)
 626   8                               {
 627   9                                  user_n--;
 628   9                                  I2C_rcv[0] = user_n;
 629   9                                  AT24C128_write(0x00,I2C_rcv,1);
 630   9                                  I2C_rcv[0] = 0xFF;
 631   9                                  user_buf[i].class.purview = 0xFF;
 632   9                                  AT24C128_write(0x1F + i*16,I2C_rcv,1);
 633   9                                  purview_timer = 0x4B0;
 634   9                                  DataBuf[7] = 0x30;
 635   9                                  DataBuf[8] = 0x30;
 636   9                                  send_chk(18);
 637   9                                  TI = 0;
 638   9                                  ES = 1;
 639   9                                  return;
 640   9                               }
 641   8                            }
 642   7                         }
 643   6                         purview_timer = 0x4B0;
 644   6                         DataBuf[7] = 0x45;
 645   6                         DataBuf[8] = 0x35;
 646   6                         send_chk(18);
 647   6                      }
 648   5                   }
 649   4                   else if(DataBuf[4] == 2)      //全部删除用户
 650   4                   {
 651   5                      if(user_n == 0)
 652   5                      {
 653   6                         purview_timer = 0x4B0;
 654   6                         DataBuf[7] = 0x45;
 655   6                         DataBuf[8] = 0x34;
 656   6                         send_chk(18);
 657   6                      }
 658   5                      else
 659   5                      {
 660   6                         user_n = 0;
 661   6                         I2C_rcv[0] = 0;
 662   6                         AT24C128_write(0x00,I2C_rcv,1);
 663   6                         I2C_rcv[0] = 0xFF;
 664   6                         purview_timer = 0x4B0;
 665   6                         DataBuf[7] = 0x30;
 666   6                         DataBuf[8] = 0x30;
 667   6                         send_chk(18);
 668   6                         for(i=0;i<60;i++)
 669   6                         {
 670   7                            user_buf[i].class.purview = 0xFF;
 671   7                            AT24C128_write(0x1F + i*16,I2C_rcv,1);
 672   7                         }
 673   6                      }
 674   5                   }
 675   4                }
C51 COMPILER V7.50   SYSTEM                                                                02/16/2009 09:18:46 PAGE 12  

 676   3                else if(DataBuf[2] == 0xE0)              //设置时间20081115 06 210446
 677   3                {
 678   4                   sys_year = (DataBuf[6]<<4) + DataBuf[7];           //系统时间 年
 679   4                   sys_mon = (DataBuf[8]<<4) + DataBuf[9];            //系统时间 月
 680   4                   sys_date = (DataBuf[10]<<4) + DataBuf[11];         //系统时间 日
 681   4                   sys_week = (DataBuf[12]<<4) + DataBuf[13];         //系统时间 星期
 682   4                   sys_hour = (DataBuf[14]<<4) + DataBuf[15];         //系统时间 时
 683   4                   sys_min = (DataBuf[16]<<4) + DataBuf[17];          //系统时间 分
 684   4                   sys_second = (DataBuf[18]<<4) + DataBuf[19];       //系统时间 秒
 685   4                   write_systime();
 686   4                   purview_timer = 0x4B0;
 687   4                   DataBuf[7] = 0x30;
 688   4                   DataBuf[8] = 0x30;
 689   4                   send_chk(18);
 690   4                }
 691   3                else if(DataBuf[2] == 0xF0)      //初驶化记录区(清空记录)
 692   3                {                                //设定读指针
 693   4                   if(uart_rcv_len == 14)        //设定整个记录区指针
 694   4                   {
 695   5                      D0_flag = 0;
 696   5                      D7_flag = 0;
 697   5                      LOADP = 0;
 698   5                      SAVEP = 0;
 699   5                      I2C_rcv[1] = 0;
 700   5                      I2C_rcv[2] = 0;
 701   5                      I2C_rcv[3] = 0;
 702   5                      I2C_rcv[4] = 0;
 703   5                      I2C_rcv[5] = 0;
 704   5                      AT24C128_write(0x01,I2C_rcv + 1,5);
 705   5                      purview_timer = 0x4B0;
 706   5                      DataBuf[7] = 0x30;
 707   5                      DataBuf[8] = 0x30;
 708   5                      send_chk(18);
 709   5                   }
 710   4                   else if(uart_rcv_len == 10)    //恢复记录指针
 711   4                   {
 712   5                      purview_timer = 0x4B0;
 713   5                      DataBuf[7] = 0x30;
 714   5                      DataBuf[8] = 0x30;
 715   5                      send_chk(18);
 716   5                      /*if(D0_flag)
 717   5                      {
 718   5                         if(LOADP == SAVEP)
 719   5                         {
 720   5                            purview_timer = 0x4B0;
 721   5                            DataBuf[7] = 0x45;
 722   5                            DataBuf[8] = 0x32;
 723   5                            send_chk(18);
 724   5                         }
 725   5                         else
 726   5                         {
 727   5                            LOADPP = DataBuf[6]*4096 + DataBuf[7]*256 + DataBuf[4]*16 + DataBuf[5] - 1;
 728   5                            if((LOADPP < LOADP) && (LOADPP >= SAVEP))
 729   5                            {
 730   5                               LOADP = LOADPP;
 731   5                               I2C_rcv[1] = (LOADP >> 8) & 0x00ff;
 732   5                               I2C_rcv[2] = LOADP& 0x00ff;
 733   5                               AT24C128_write(0x01,I2C_rcv + 1,2);
 734   5                               purview_timer = 0x4B0;
 735   5                               DataBuf[7] = 0x30;
 736   5                               DataBuf[8] = 0x30;
 737   5                               send_chk(18);
C51 COMPILER V7.50   SYSTEM                                                                02/16/2009 09:18:46 PAGE 13  

 738   5                            }
 739   5                            else
 740   5                            {
 741   5                               purview_timer = 0x4B0;
 742   5                               DataBuf[7] = 0x30;
 743   5                               DataBuf[8] = 0x36;
 744   5                               send_chk(18);

⌨️ 快捷键说明

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