📄 wiegand.ls1
字号:
00ED 664 ?C0030:
665 ;
666 ; memcpy(wiebuf,wiebak,6);
667 ; SOURCE LINE # 125
00ED 7800 F 668 MOV R0,#LOW (wiebuf)
00EF 7C00 F 669 MOV R4,#HIGH (wiebuf)
00F1 7D01 670 MOV R5,#01H
00F3 7B01 671 MOV R3,#01H
00F5 7A00 F 672 MOV R2,#HIGH (wiebak?247)
00F7 7900 F 673 MOV R1,#LOW (wiebak?247)
00F9 7E00 674 MOV R6,#00H
00FB 7F06 675 MOV R7,#06H
00FD 120000 F 676 LCALL ?C?COPY
677 ; if(odd_parity(wie)) //end
678 ; SOURCE LINE # 126
0100 900000 F 679 MOV DPTR,#wie?243
0103 E0 680 MOVX A,@DPTR
0104 FF 681 MOV R7,A
0105 120000 F 682 LCALL _odd_parity
0108 5015 683 JNC ?C0032
684 ;
685 ; {
686 ; SOURCE LINE # 128
687 ; if(chanl1==CHANL_DIN)
688 ; SOURCE LINE # 129
010A 900000 F 689 MOV DPTR,#chanl1?244
010D E0 690 MOVX A,@DPTR
010E B40106 691 CJNE A,#01H,?C0033
692 ; {
693 ; SOURCE LINE # 130
694 ; D1IN=1;
695 ; SOURCE LINE # 131
696 ; delayus(90); //50us脉冲宽度
697 ; SOURCE LINE # 132
0111 120000 F 698 LCALL L?0096
699 ; D1IN=0;
700 ; SOURCE LINE # 133
0114 C295 701 CLR D1IN
702 ; }
703 ; SOURCE LINE # 134
0116 22 704 RET
0117 705 ?C0033:
706 ; else
707 ; {
708 ; SOURCE LINE # 136
709 ; D1OUT=1;
710 ; SOURCE LINE # 137
0117 D297 711 SETB D1OUT
712 ; delayus(90); //50us脉冲宽度
713 ; SOURCE LINE # 138
0119 120000 F 714 LCALL L?0098
715 ; D1OUT=0;
716 ; SOURCE LINE # 139
011C C297 717 CLR D1OUT
A51 MACRO ASSEMBLER WIEGAND 08/03/2009 16:57:28 PAGE 12
718 ; }
719 ; SOURCE LINE # 140
720 ; }
721 ; SOURCE LINE # 141
011E 22 722 RET
011F 723 ?C0032:
724 ; else
725 ; {
726 ; SOURCE LINE # 143
727 ; if(chanl1==CHANL_DIN)
728 ; SOURCE LINE # 144
011F 900000 F 729 MOV DPTR,#chanl1?244
0122 E0 730 MOVX A,@DPTR
0123 B40108 731 CJNE A,#01H,?C0036
732 ; {
733 ; SOURCE LINE # 145
734 ; D0IN=1;
735 ; SOURCE LINE # 146
0126 D294 736 SETB D0IN
737 ; delayus(90);
738 ; SOURCE LINE # 147
0128 120000 F 739 LCALL L?0098
740 ; D0IN=0;
741 ; SOURCE LINE # 148
012B C294 742 CLR D0IN
743 ; }
744 ; SOURCE LINE # 149
012D 22 745 RET
012E 746 ?C0036:
747 ; else
748 ; {
749 ; SOURCE LINE # 151
750 ; D0OUT=1;
751 ; SOURCE LINE # 152
012E D296 752 SETB D0OUT
753 ; delayus(90);
754 ; SOURCE LINE # 153
0130 120000 F 755 LCALL L?0098
756 ; D0OUT=0;
757 ; SOURCE LINE # 154
0133 C296 758 CLR D0OUT
759 ; }
760 ; SOURCE LINE # 155
761 ; }
762 ; SOURCE LINE # 156
763 ; }
764 ; SOURCE LINE # 157
765 ; break;
766 ; SOURCE LINE # 158
767 ;
768 ; default:
769 ; SOURCE LINE # 160
770 ; break;
771 ; SOURCE LINE # 161
772 ;
773 ; }
774 ; SOURCE LINE # 163
775 ;
776 ; }
777 ; SOURCE LINE # 165
0135 778 ?C0039:
0135 22 779 RET
780 ; END OF _wiegandout
781
782 ; /***************************************************************************************
783 ; **函数功能:wiegand data out
A51 MACRO ASSEMBLER WIEGAND 08/03/2009 16:57:28 PAGE 13
784 ; **入参: wie
785 ; **返回值: 无
786 ; **作者: jerkoh
787 ; **日期: 2009-06-16
788 ; **说明: 无
789 ; ***************************************************************************************/
790 ; void wiedataout(unsigned char k,unsigned char chanl2)
791
---- 792 RSEG ?PR?_wiedataout?WIEGAND
0000 793 L?0099:
794 USING 0
0000 795 L?0100:
0000 900000 F 796 MOV DPTR,#chanl1?244
0003 E0 797 MOVX A,@DPTR
0004 FD 798 MOV R5,A
0005 799 _wiedataout:
800 USING 0
801 ; SOURCE LINE # 174
0005 900000 F 802 MOV DPTR,#chanl2?349
0008 ED 803 MOV A,R5
0009 F0 804 MOVX @DPTR,A
805 ;---- Variable 'k?348' assigned to Register 'R1' ----
000A A907 806 MOV R1,AR7
807 ; {
808 ; SOURCE LINE # 175
809 ; unsigned char i;
810 ;
811 ; for(i=0;i<8;i++)
812 ; SOURCE LINE # 178
813 ;---- Variable 'i?350' assigned to Register 'R3' ----
000C E4 814 CLR A
000D FB 815 MOV R3,A
000E 816 ?C0040:
817 ; {
818 ; SOURCE LINE # 179
819 ; if(wiebuf[k]&0x80)
820 ; SOURCE LINE # 180
000E 7400 F 821 MOV A,#LOW (wiebuf)
0010 29 822 ADD A,R1
0011 F582 823 MOV DPL,A
0013 E4 824 CLR A
0014 3400 F 825 ADDC A,#HIGH (wiebuf)
0016 F583 826 MOV DPH,A
0018 E0 827 MOVX A,@DPTR
0019 30E717 828 JNB ACC.7,?C0043
829 ; {
830 ; SOURCE LINE # 181
831 ; if(chanl2==CHANL_DIN)
832 ; SOURCE LINE # 182
001C 900000 F 833 MOV DPTR,#chanl2?349
001F E0 834 MOVX A,@DPTR
0020 B40107 835 CJNE A,#01H,?C0044
836 ; {
837 ; SOURCE LINE # 183
838 ; D1IN=1;
839 ; SOURCE LINE # 184
840 ; delayus(90); //50us脉冲宽度
841 ; SOURCE LINE # 185
0023 120000 F 842 LCALL L?0097
843 ; D1IN=0;
844 ; SOURCE LINE # 186
0026 C295 845 CLR D1IN
846 ; }
847 ; SOURCE LINE # 187
0028 8020 848 SJMP ?C0095
002A 849 ?C0044:
A51 MACRO ASSEMBLER WIEGAND 08/03/2009 16:57:28 PAGE 14
850 ; else
851 ; {
852 ; SOURCE LINE # 189
853 ; D1OUT=1;
854 ; SOURCE LINE # 190
002A D297 855 SETB D1OUT
856 ; delayus(90); //50us脉冲宽度
857 ; SOURCE LINE # 191
002C 120000 F 858 LCALL L?0098
859 ; D1OUT=0;
860 ; SOURCE LINE # 192
002F C297 861 CLR D1OUT
862 ; }
863 ; SOURCE LINE # 193
0031 864 ?C0045:
865 ; delayms(2); //2ms脉冲间隔
866 ; SOURCE LINE # 194
867 ; wiebuf[k]<<=1;
868 ; SOURCE LINE # 195
869 ; }
870 ; SOURCE LINE # 196
0031 8017 871 SJMP ?C0095
0033 872 ?C0043:
873 ; else
874 ; {
875 ; SOURCE LINE # 198
876 ; if(chanl2==CHANL_DIN)
877 ; SOURCE LINE # 199
0033 900000 F 878 MOV DPTR,#chanl2?349
0036 E0 879 MOVX A,@DPTR
0037 B40109 880 CJNE A,#01H,?C0047
881 ; {
882 ; SOURCE LINE # 200
883 ; D0IN=1;
884 ; SOURCE LINE # 201
003A D294 885 SETB D0IN
886 ; delayus(90);
887 ; SOURCE LINE # 202
003C 120000 F 888 LCALL L?0098
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -