📄 rfid.ls1
字号:
01CF B40AD3 674 CJNE A,#0AH,?C0008
675 ; }
676 ; SOURCE LINE # 66
01D2 677 ?C0007:
678 ; if(nr>10) //防止nr出错 ,这里可以考虑老化掉登记了最久的卡
679 ; SOURCE LINE # 67
01D2 900000 F 680 MOV DPTR,#nr?042
01D5 E0 681 MOVX A,@DPTR
01D6 FF 682 MOV R7,A
01D7 D3 683 SETB C
01D8 940A 684 SUBB A,#0AH
01DA 4003 685 JC $ + 5H
01DC 020000 F 686 LJMP ?C0013
687 ; {
688 ; SOURCE LINE # 68
689 ; return;
690 ; }
691 ; SOURCE LINE # 70
01DF 692 ?C0012:
693 ;
694 ;
695 ; switch(tagnr[nr].save_state)
696 ; SOURCE LINE # 73
01DF EF 697 MOV A,R7
01E0 75F009 698 MOV B,#09H
01E3 A4 699 MUL AB
01E4 2400 F 700 ADD A,#LOW (tagnr+07H)
01E6 F582 701 MOV DPL,A
01E8 E4 702 CLR A
01E9 3400 F 703 ADDC A,#HIGH (tagnr+07H)
01EB F583 704 MOV DPH,A
01ED E0 705 MOVX A,@DPTR
01EE 24FE 706 ADD A,#0FEH
01F0 7003 707 JNZ $ + 5H
01F2 020000 F 708 LJMP ?C0019
01F5 04 709 INC A
01F6 6003 710 JZ $ + 5H
01F8 020000 F 711 LJMP ?C0013
712 ; {
713 ; SOURCE LINE # 74
714 ; case FLG_NEW:
715 ; SOURCE LINE # 75
01FB 716 ?C0015:
717 ;
718 ; for(i=0;i<6;i++)
A51 MACRO ASSEMBLER RFID 08/03/2009 16:57:28 PAGE 12
719 ; SOURCE LINE # 77
01FB E4 720 CLR A
01FC 900000 F 721 MOV DPTR,#i?040
01FF F0 722 MOVX @DPTR,A
0200 723 ?C0016:
724 ; {
725 ; SOURCE LINE # 78
726 ; tagnr[nr].save_id[i] =reply->tag_id[i]; //复制卡号
727 ; SOURCE LINE # 79
0200 900000 F 728 MOV DPTR,#i?040
0203 E0 729 MOVX A,@DPTR
0204 FF 730 MOV R7,A
0205 900000 F 731 MOV DPTR,#reply?045
0208 E0 732 MOVX A,@DPTR
0209 FC 733 MOV R4,A
020A A3 734 INC DPTR
020B E0 735 MOVX A,@DPTR
020C 2406 736 ADD A,#06H
020E F582 737 MOV DPL,A
0210 E4 738 CLR A
0211 3C 739 ADDC A,R4
0212 F583 740 MOV DPH,A
0214 E582 741 MOV A,DPL
0216 2F 742 ADD A,R7
0217 F582 743 MOV DPL,A
0219 E4 744 CLR A
021A 3583 745 ADDC A,DPH
021C F583 746 MOV DPH,A
021E E0 747 MOVX A,@DPTR
021F FE 748 MOV R6,A
0220 900000 F 749 MOV DPTR,#nr?042
0223 E0 750 MOVX A,@DPTR
0224 75F009 751 MOV B,#09H
0227 A4 752 MUL AB
0228 2400 F 753 ADD A,#LOW (tagnr)
022A F582 754 MOV DPL,A
022C E4 755 CLR A
022D 3400 F 756 ADDC A,#HIGH (tagnr)
022F F583 757 MOV DPH,A
0231 E582 758 MOV A,DPL
0233 2F 759 ADD A,R7
0234 F582 760 MOV DPL,A
0236 E4 761 CLR A
0237 3583 762 ADDC A,DPH
0239 F583 763 MOV DPH,A
023B EE 764 MOV A,R6
023C F0 765 MOVX @DPTR,A
766 ; }
767 ; SOURCE LINE # 80
023D 900000 F 768 MOV DPTR,#i?040
0240 E0 769 MOVX A,@DPTR
0241 04 770 INC A
0242 F0 771 MOVX @DPTR,A
0243 E0 772 MOVX A,@DPTR
0244 B406B9 773 CJNE A,#06H,?C0016
0247 774 ?C0017:
775 ;
776 ; tagnr[nr].save_io =reply->tag_flag; //进出标记
777 ; SOURCE LINE # 82
0247 900000 F 778 MOV DPTR,#reply?045
024A E0 779 MOVX A,@DPTR
024B FE 780 MOV R6,A
024C A3 781 INC DPTR
024D E0 782 MOVX A,@DPTR
024E 240C 783 ADD A,#0CH
0250 F582 784 MOV DPL,A
A51 MACRO ASSEMBLER RFID 08/03/2009 16:57:28 PAGE 13
0252 E4 785 CLR A
0253 3E 786 ADDC A,R6
0254 F583 787 MOV DPH,A
0256 E0 788 MOVX A,@DPTR
0257 FF 789 MOV R7,A
0258 900000 F 790 MOV DPTR,#nr?042
025B E0 791 MOVX A,@DPTR
025C FE 792 MOV R6,A
025D 75F009 793 MOV B,#09H
0260 A4 794 MUL AB
0261 2400 F 795 ADD A,#LOW (tagnr+06H)
0263 F582 796 MOV DPL,A
0265 E4 797 CLR A
0266 3400 F 798 ADDC A,#HIGH (tagnr+06H)
0268 F583 799 MOV DPH,A
026A EF 800 MOV A,R7
026B F0 801 MOVX @DPTR,A
802 ; tagnr[nr].save_state =FLG_OLD;
803 ; SOURCE LINE # 83
026C EE 804 MOV A,R6
026D 75F009 805 MOV B,#09H
0270 A4 806 MUL AB
0271 2400 F 807 ADD A,#LOW (tagnr+07H)
0273 F582 808 MOV DPL,A
0275 E4 809 CLR A
0276 3400 F 810 ADDC A,#HIGH (tagnr+07H)
0278 F583 811 MOV DPH,A
027A 7402 812 MOV A,#02H
027C F0 813 MOVX @DPTR,A
814 ; tagnr[nr].save_inactivity =INACTIVITY_TIME; //登记就开启溢出
815 ; SOURCE LINE # 84
027D 7800 F 816 MOV R0,#LOW (INACTIVITY_TIME)
027F E6 817 MOV A,@R0
0280 FF 818 MOV R7,A
0281 EE 819 MOV A,R6
0282 75F009 820 MOV B,#09H
0285 A4 821 MUL AB
0286 2400 F 822 ADD A,#LOW (tagnr+08H)
0288 F582 823 MOV DPL,A
028A E4 824 CLR A
028B 3400 F 825 ADDC A,#HIGH (tagnr+08H)
028D F583 826 MOV DPH,A
028F EF 827 MOV A,R7
0290 F0 828 MOVX @DPTR,A
829 ;
830 ;
831 ; wiegandout(wiefmt,CHANL_DIN); //全新卡需要输出wieand
832 ; SOURCE LINE # 87
0291 7800 F 833 MOV R0,#LOW (wiefmt)
0293 E6 834 MOV A,@R0
0294 FF 835 MOV R7,A
0295 7D01 836 MOV R5,#01H
0297 120000 F 837 LCALL _wiegandout
838 ;
839 ; relay_work();
840 ; SOURCE LINE # 89
029A 120000 F 841 LCALL relay_work
842 ; event_relay=RELAY_TIME_IN;
843 ; SOURCE LINE # 90
029D 7800 F 844 MOV R0,#LOW (RELAY_TIME_IN)
029F E6 845 MOV A,@R0
02A0 7800 F 846 MOV R0,#LOW (event_relay)
02A2 F6 847 MOV @R0,A
848 ;
849 ; break;
850 ; SOURCE LINE # 92
A51 MACRO ASSEMBLER RFID 08/03/2009 16:57:28 PAGE 14
02A3 22 851 RET
852 ;
853 ; case FLG_OLD:
854 ; SOURCE LINE # 94
02A4 855 ?C0019:
856 ;
857 ; for(i=0;i<6;i++)
//旧卡只登记并赋值重计算老化时间
858 ; SOURCE LINE # 96
02A4 E4 859 CLR A
02A5 900000 F 860 MOV DPTR,#i?040
02A8 F0 861 MOVX @DPTR,A
02A9 862 ?C0020:
863 ; {
864 ; SOURCE LINE # 97
865 ; tagnr[nr].save_id[i] =reply->tag_id[i]; //复制卡号
866 ; SOURCE LINE # 98
02A9 900000 F 867 MOV DPTR,#i?040
02AC E0 868 MOVX A,@DPTR
02AD FF 869 MOV R7,A
02AE 900000 F 870 MOV DPTR,#reply?045
02B1 E0 871 MOVX A,@DPTR
02B2 FC 872 MOV R4,A
02B3 A3 873 INC DPTR
02B4 E0 874 MOVX A,@DPTR
02B5 2406 875 ADD A,#06H
02B7 F582 876 MOV DPL,A
02B9 E4 877 CLR A
02BA 3C 878 ADDC A,R4
02BB F583 879 MOV DPH,A
02BD E582 880 MOV A,DPL
02BF 2F 881 ADD A,R7
02C0 F582 882 MOV DPL,A
02C2 E4 883 CLR A
02C3 3583 884 ADDC A,DPH
02C5 F583 885 MOV DPH,A
02C7 E0 886 MOVX A,@DPTR
02C8 FE 887 MOV R6,A
02C9 900000 F 888 MOV DPTR,#nr?042
02CC E0 889 MOVX A,@DPTR
02CD 75F009 890 MOV B,#09H
02D0 A4 891 MUL AB
02D1 2400 F 892 ADD A,#LOW (tagnr)
02D3 F582 893 MOV DPL,A
02D5 E4 894 CLR A
02D6 3400 F 895 ADDC A,#HIGH (tagnr)
02D8 F583 896 MOV DPH,A
02DA E582 897 MOV A,DPL
02DC 2F 898 ADD A,R7
02DD F582 899 MOV DPL,A
02DF E4 900 CLR A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -