📄 system.lst
字号:
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 + -