📄 rfid.lst
字号:
0B94: MOVWF 50
0B96: MOVLW 18
0B98: MOVWF 4F
.................... if(TIMER_1>temp2)
.................... {
0B9A: MOVF 50,W
0B9C: SUBWF 18,W
0B9E: BTFSS FD8.0
0BA0: GOTO 0BBA
0BA4: BTFSS FD8.2
0BA6: GOTO 0BB4
0BAA: MOVF 17,W
0BAC: SUBWF 4F,W
0BAE: BTFSC FD8.0
0BB0: GOTO 0BBA
.................... header=0;
0BB4: CLRF 4B
.................... goto str;
0BB6: GOTO 0A46
.................... }
.................... temp2=230;
0BBA: CLRF 50
0BBC: MOVLW E6
0BBE: MOVWF 4F
.................... if(TIMER_1<temp2)
.................... {
0BC0: MOVF 18,W
0BC2: SUBWF 50,W
0BC4: BTFSS FD8.0
0BC6: GOTO 0BE0
0BCA: BTFSS FD8.2
0BCC: GOTO 0BDA
0BD0: MOVF 4F,W
0BD2: SUBWF 17,W
0BD4: BTFSC FD8.0
0BD6: GOTO 0BE0
.................... header=0;
0BDA: CLRF 4B
.................... goto str;
0BDC: GOTO 0A46
.................... }
.................... header++;
0BE0: INCF 4B,F
.................... }while(header<8);
.................... //delay_us(65);
.................... if(header==8)
0BE2: MOVF 4B,W
0BE4: SUBLW 07
0BE6: BTFSC FD8.0
0BE8: GOTO 0B34
.................... {
0BEC: MOVF 4B,W
0BEE: SUBLW 08
0BF0: BTFSS FD8.2
0BF2: GOTO 0FCA
.................... set_timer0(106);//对计数器0赋初值
0BF6: CLRF FD7
0BF8: MOVLW 6A
0BFA: MOVWF FD6
.................... Time_Out=0;
0BFC: BCF FF2.2
.................... ByteCounter=0;
0BFE: CLRF 51
.................... PData=normal_Data;
0C00: CLRF 53
0C02: MOVLW 24
0C04: MOVWF 52
.................... do
.................... {
.................... BitCounter=5;
0C06: MOVLW 05
0C08: MOVWF 56
.................... temp1=0;
0C0A: CLRF 4E
.................... do
.................... {
.................... delay_us(445);
0C0C: MOVLW 94
0C0E: MOVWF 00
0C10: DECFSZ 00,F
0C12: BRA 0C10
.................... if(input(RF_DATA_IN)==1)
.................... temp=1;
0C14: MOVLW 00
0C16: BTFSC F82.2
0C18: MOVLW 01
0C1A: SUBLW 01
0C1C: BTFSS FD8.2
0C1E: GOTO 0C2A
0C22: MOVLW 01
0C24: MOVWF 4D
.................... else
.................... temp=0;
0C26: GOTO 0C2C
0C2A: CLRF 4D
.................... Star_Timer=1;
0C2C: BSF FD5.7
.................... while(input(RF_DATA_IN)==temp)
.................... {
0C2E: MOVLW 00
0C30: BTFSC F82.2
0C32: MOVLW 01
0C34: SUBWF 4D,W
0C36: BTFSS FD8.2
0C38: GOTO 0C56
.................... if(Time_Out==1)
.................... {
0C3C: MOVLW 00
0C3E: BTFSC FF2.2
0C40: MOVLW 01
0C42: SUBLW 01
0C44: BTFSS FD8.2
0C46: GOTO 0C52
.................... Star_Timer=0;//停止计数器
0C4A: BCF FD5.7
.................... Time_Out=0;
0C4C: BCF FF2.2
.................... goto str;
0C4E: GOTO 0A46
.................... }
.................... }
0C52: GOTO 0C2E
.................... Star_Timer=0;
0C56: BCF FD5.7
.................... set_timer0(106);//对计数器0赋初值
0C58: CLRF FD7
0C5A: MOVLW 6A
0C5C: MOVWF FD6
.................... Time_Out=0;
0C5E: BCF FF2.2
.................... if(input(RF_DATA_IN)==1)
.................... temp=0;
0C60: MOVLW 00
0C62: BTFSC F82.2
0C64: MOVLW 01
0C66: SUBLW 01
0C68: BTFSS FD8.2
0C6A: GOTO 0C74
0C6E: CLRF 4D
.................... else
.................... temp=1;
0C70: GOTO 0C78
0C74: MOVLW 01
0C76: MOVWF 4D
.................... temp1=(temp1<<1)|temp;
0C78: BCF FD8.0
0C7A: RLCF 4E,W
0C7C: IORWF 4D,W
0C7E: MOVWF 4E
.................... BitCounter--;
0C80: DECF 56,F
.................... }while(BitCounter);
.................... *(PData+ByteCounter)=temp1;
0C82: MOVF 56,F
0C84: BTFSS FD8.2
0C86: GOTO 0C0C
0C8A: MOVF 51,W
0C8C: ADDWF 52,W
0C8E: MOVWF 01
0C90: MOVLW 00
0C92: ADDWFC 53,W
0C94: MOVWF 03
0C96: MOVF 01,W
0C98: MOVWF FE9
0C9A: MOVFF 03,FEA
0C9E: MOVFF 4E,FEF
.................... ByteCounter=ByteCounter+1;
0CA2: MOVLW 01
0CA4: ADDWF 51,F
.................... }while(ByteCounter<10);
.................... set_timer0(106);
0CA6: MOVF 51,W
0CA8: SUBLW 09
0CAA: BTFSC FD8.0
0CAC: GOTO 0C06
0CB0: CLRF FD7
0CB2: MOVLW 6A
0CB4: MOVWF FD6
.................... Time_Out=0;
0CB6: BCF FF2.2
.................... pc=4;
0CB8: MOVLW 04
0CBA: MOVWF 4C
.................... temp1=0;
0CBC: CLRF 4E
.................... do
.................... {
.................... delay_us(445);
0CBE: MOVLW 94
0CC0: MOVWF 00
0CC2: DECFSZ 00,F
0CC4: BRA 0CC2
.................... if(input(RF_DATA_IN)==1)
.................... temp=1;
0CC6: MOVLW 00
0CC8: BTFSC F82.2
0CCA: MOVLW 01
0CCC: SUBLW 01
0CCE: BTFSS FD8.2
0CD0: GOTO 0CDC
0CD4: MOVLW 01
0CD6: MOVWF 4D
.................... else
.................... temp=0;
0CD8: GOTO 0CDE
0CDC: CLRF 4D
.................... Star_Timer=1;
0CDE: BSF FD5.7
.................... while(input(RF_DATA_IN)==temp)
.................... {
0CE0: MOVLW 00
0CE2: BTFSC F82.2
0CE4: MOVLW 01
0CE6: SUBWF 4D,W
0CE8: BTFSS FD8.2
0CEA: GOTO 0D08
.................... if(Time_Out==1)
.................... {
0CEE: MOVLW 00
0CF0: BTFSC FF2.2
0CF2: MOVLW 01
0CF4: SUBLW 01
0CF6: BTFSS FD8.2
0CF8: GOTO 0D04
.................... Star_Timer=0;//停止计数器
0CFC: BCF FD5.7
.................... Time_Out=0;
0CFE: BCF FF2.2
.................... goto str;
0D00: GOTO 0A46
.................... }
.................... }
0D04: GOTO 0CE0
.................... Star_Timer=0;
0D08: BCF FD5.7
.................... set_timer0(106);//对计数器0赋初值
0D0A: CLRF FD7
0D0C: MOVLW 6A
0D0E: MOVWF FD6
.................... Time_Out=0;
0D10: BCF FF2.2
.................... if(input(RF_DATA_IN)==1)
.................... temp=0;
0D12: MOVLW 00
0D14: BTFSC F82.2
0D16: MOVLW 01
0D18: SUBLW 01
0D1A: BTFSS FD8.2
0D1C: GOTO 0D26
0D20: CLRF 4D
.................... else
.................... temp=1;
0D22: GOTO 0D2A
0D26: MOVLW 01
0D28: MOVWF 4D
.................... temp1=(temp1<<1)|temp;
0D2A: BCF FD8.0
0D2C: RLCF 4E,W
0D2E: IORWF 4D,W
0D30: MOVWF 4E
.................... pc--;
0D32: DECF 4C,F
.................... }while(pc);
.................... temp1=temp1<<1;
0D34: MOVF 4C,F
0D36: BTFSS FD8.2
0D38: GOTO 0CBE
0D3C: BCF FD8.0
0D3E: RLCF 4E,F
.................... normal_Data[10]=temp1;
0D40: MOVFF 4E,2E
.................... delay_us(445);
0D44: MOVLW 94
0D46: MOVWF 00
0D48: DECFSZ 00,F
0D4A: BRA 0D48
.................... set_timer0(106);//对计数器0赋初值
0D4C: CLRF FD7
0D4E: MOVLW 6A
0D50: MOVWF FD6
.................... Time_Out=0;
0D52: BCF FF2.2
.................... if(input(RF_DATA_IN)==1)
.................... temp=1;
0D54: MOVLW 00
0D56: BTFSC F82.2
0D58: MOVLW 01
0D5A: SUBLW 01
0D5C: BTFSS FD8.2
0D5E: GOTO 0D6A
0D62: MOVLW 01
0D64: MOVWF 4D
.................... else
.................... temp=0;
0D66: GOTO 0D6C
0D6A: CLRF 4D
.................... Star_Timer=1;
0D6C: BSF FD5.7
.................... while(input(RF_DATA_IN)==temp)
.................... {
0D6E: MOVLW 00
0D70: BTFSC F82.2
0D72: MOVLW 01
0D74: SUBWF 4D,W
0D76: BTFSS FD8.2
0D78: GOTO 0D96
.................... if(Time_Out==1)
.................... {
0D7C: MOVLW 00
0D7E: BTFSC FF2.2
0D80: MOVLW 01
0D82: SUBLW 01
0D84: BTFSS FD8.2
0D86: GOTO 0D92
.................... Star_Timer=0;//停止计数器
0D8A: BCF FD5.7
.................... Time_Out=0;
0D8C: BCF FF2.2
.................... goto str;
0D8E: GOTO 0A46
.................... }
.................... }
0D92: GOTO 0D6E
.................... Star_Timer=0;
0D96: BCF FD5.7
.................... set_timer0(106);//对计数器0赋初值
0D98: CLRF FD7
0D9A: MOVLW 6A
0D9C: MOVWF FD6
.................... Time_Out=0;
0D9E: BCF FF2.2
.................... if(input(RF_DATA_IN)==1)
.................... temp=0;
0DA0: MOVLW 00
0DA2: BTFSC F82.2
0DA4: MOVLW 01
0DA6: SUBLW 01
0DA8: BTFSS FD8.2
0DAA: GOTO 0DB4
0DAE: CLRF 4D
.................... else
.................... temp=1;
0DB0: GOTO 0DB8
0DB4: MOVLW 01
0DB6: MOVWF 4D
.................... delay_us(1);
0DB8: NOP
.................... if(temp==0)
.................... {
0DBA: MOVF 4D,F
0DBC: BTFSS FD8.2
0DBE: GOTO 0FC2
....................
.................... PData=normal_Data;
0DC2: CLRF 53
0DC4: MOVLW 24
0DC6: MOVWF 52
.................... PData1=sendData;
0DC8: CLRF 55
0DCA: MOVLW 2F
0DCC: MOVWF 54
.................... for(ByteCounter=0;ByteCounter<11;ByteCounter++)//有5个字节数据
0DCE: CLRF 51
0DD0: MOVF 51,W
0DD2: SUBLW 0A
0DD4: BTFSS FD8.0
0DD6: GOTO 0F40
.................... {
.................... temp=(((*(PData+ByteCounter))&0x10)>>4)+(((*(PData+ByteCounter))&0x08)>>3)+(((*(PData+ByteCounter))&0x04)>>2)+(((*(PData+ByteCounter))&0x02)>>1);
0DDA: MOVF 51,W
0DDC: ADDWF 52,W
0DDE: MOVWF 01
0DE0: MOVLW 00
0DE2: ADDWFC 53,W
0DE4: MOVWF 03
0DE6: MOVF 01,W
0DE8: MOVWF FE9
0DEA: MOVFF 03,FEA
0DEE: MOVF FEF,W
0DF0: ANDLW 10
0DF2: MOVWF 00
0DF4: SWAPF 00,W
0DF6: MOVWF 5D
0DF8: MOVLW 0F
0DFA: ANDWF 5D,F
0DFC: MOVF 51,W
0DFE: ADDWF 52,W
0E00: MOVWF 01
0E02: MOVLW 00
0E04: ADDWFC 53,W
0E06: MOVWF 03
0E08: MOVF 01,W
0E0A: MOVWF FE9
0E0C: MOVFF 03,FEA
0E10: MOVF FEF,W
0E12: ANDLW 08
0E14: MOVWF 00
0E16: RRCF 00,F
0E18: RRCF 00,F
0E1A: RRCF 00,F
0E1C: MOVLW 1F
0E1E: ANDWF 00,F
0E20: MOVF 00,W
0E22: ADDWF 5D,W
0E24: MOVWF 60
0E26: MOVF 51,W
0E28: ADDWF 52,W
0E2A: MOVWF 01
0E2C: MOVLW 00
0E2E: ADDWFC 53,W
0E30: MOVWF 03
0E32: MOVF 01,W
0E34: MOVWF FE9
0E36: MOVFF 03,FEA
0E3A: MOVF FEF,W
0E3C: ANDLW 04
0E3E: MOVWF 00
0E40: RRCF 00,F
0E42: RRCF 00,F
0E44: MOVLW 3F
0E46: ANDWF 00,F
0E48: MOVF 00,W
0E4A: ADDWF 60,W
0E4C: MOVWF 63
0E4E: MOVF 51,W
0E50: ADDWF 52,W
0E52: MOVWF 01
0E54: MOVLW 00
0E56: ADDWFC 53,W
0E58: MOVWF 03
0E5A: MOVF 01,W
0E5C: MOVWF FE9
0E5E: MOVFF 03,FEA
0E62: MOVF FEF,W
0E64: ANDLW 02
0E66: MOVWF 00
0E68: BCF FD8.0
0E6A: RRCF 00,F
0E6C: MOVF 00,W
0E6E: ADDWF 63,W
0E70: MOVWF 4D
.................... if(ByteCounter==10)
.................... {
0E72: MOVF 51,W
0E74: SUBLW 0A
0E76: BTFSS FD8.2
0E78: GOTO 0EB2
.................... temp1=*(PData+ByteCounter)&0x1f;
0E7C: MOVF 51,W
0E7E: ADDWF 52,W
0E80: MOVWF 01
0E82: MOVLW 00
0E84: ADDWFC 53,W
0E86: MOVWF 03
0E88: MOVF 01,W
0E8A: MOVWF FE9
0E8C: MOVFF 03,FEA
0E90: MOVF FEF,W
0E92: ANDLW 1F
0E94: MOVWF 4E
.................... *(PData1+ByteCounter)=temp1;
0E96: MOVF 51,W
0E98: ADDWF 54,W
0E9A: MOVWF 01
0E9C: MOVLW 00
0E9E: ADDWFC 55,W
0EA0: MOVWF 03
0EA2: MOVF 01,W
0EA4: MOVWF FE9
0EA6: MOVFF 03,FEA
0EAA: MOVFF 4E,FEF
....................
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -