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

📄 rfid.lst

📁 自己作的的射频卡项目的源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
0780:  MOVWF  03
0782:  MOVF   01,W
0784:  MOVWF  FE9
0786:  MOVFF  03,FEA
078A:  MOVF   FEF,W
078C:  ANDLW  1F
078E:  MOVWF  4E
.................... 						*(PData1+ByteCounter)=temp1;  
0790:  MOVF   51,W
0792:  ADDWF  54,W
0794:  MOVWF  01
0796:  MOVLW  00
0798:  ADDWFC 55,W
079A:  MOVWF  03
079C:  MOVF   01,W
079E:  MOVWF  FE9
07A0:  MOVFF  03,FEA
07A4:  MOVFF  4E,FEF
....................               			  
....................        					}  
.................... 					else  
.................... 						{  
07A8:  GOTO   0834
.................... 						if((temp&0x01)==((*(PData+ByteCounter))&0x01))//效验高4位  
....................               						{  
07AC:  MOVF   4D,W
07AE:  ANDLW  01
07B0:  MOVWF  61
07B2:  MOVF   51,W
07B4:  ADDWF  52,W
07B6:  MOVWF  01
07B8:  MOVLW  00
07BA:  ADDWFC 53,W
07BC:  MOVWF  03
07BE:  MOVF   01,W
07C0:  MOVWF  FE9
07C2:  MOVFF  03,FEA
07C6:  MOVF   FEF,W
07C8:  ANDLW  01
07CA:  SUBWF  61,W
07CC:  BTFSS  FD8.2
07CE:  GOTO   082C
.................... 							temp1=*(PData+ByteCounter)&0x1f;  
07D2:  MOVF   51,W
07D4:  ADDWF  52,W
07D6:  MOVWF  01
07D8:  MOVLW  00
07DA:  ADDWFC 53,W
07DC:  MOVWF  03
07DE:  MOVF   01,W
07E0:  MOVWF  FE9
07E2:  MOVFF  03,FEA
07E6:  MOVF   FEF,W
07E8:  ANDLW  1F
07EA:  MOVWF  4E
.................... 							*(PData1+ByteCounter)=temp1;  
07EC:  MOVF   51,W
07EE:  ADDWF  54,W
07F0:  MOVWF  01
07F2:  MOVLW  00
07F4:  ADDWFC 55,W
07F6:  MOVWF  03
07F8:  MOVF   01,W
07FA:  MOVWF  FE9
07FC:  MOVFF  03,FEA
0800:  MOVFF  4E,FEF
.................... 							temp1=(temp1&0x1e)>>1;  
0804:  MOVF   4E,W
0806:  ANDLW  1E
0808:  MOVWF  00
080A:  BCF    FD8.0
080C:  RRCF   00,W
080E:  MOVWF  4E
.................... 							*(PData+ByteCounter)=temp1;  
0810:  MOVF   51,W
0812:  ADDWF  52,W
0814:  MOVWF  01
0816:  MOVLW  00
0818:  ADDWFC 53,W
081A:  MOVWF  03
081C:  MOVF   01,W
081E:  MOVWF  FE9
0820:  MOVFF  03,FEA
0824:  MOVFF  4E,FEF
....................               						}  
....................               					else  
....................               						{  
0828:  GOTO   0834
....................                      				moniter_Clern_Number();//并清所有数据  
082C:  CALL   04DE
.................... 									goto	str;  
0830:  GOTO   04FC
....................               						}  
.................... 						}  
.................... 					}  
0834:  INCF   51,F
0836:  GOTO   06CA
.................... 				output_high(PIN_C5);  
083A:  BSF    F8B.5
.................... 				delay_ms(1000);  
083C:  MOVLW  04
083E:  MOVWF  61
0840:  MOVLW  FA
0842:  MOVWF  62
0844:  CALL   02B6
0848:  DECFSZ 61,F
084A:  BRA    0840
.................... 				output_low(PIN_C5);  
084C:  BCF    F8B.5
.................... 				Check_Data_bit=1;  
084E:  BSF    3A.0
.................... 				disable_interrupts(GLOBAL);  
0850:  BCF    FF2.6
0852:  BCF    FF2.7
0854:  BTFSC  FF2.7
0856:  GOTO   0852
.................... 				disable_interrupts(INT_CCP1);  
085A:  BCF    F9D.2
.................... 				disable_interrupts(INT_CCP2);  
085C:  BCF    FA0.0
.................... 				SendCmd(0xc0);  
085E:  MOVLW  C0
0860:  MOVWF  61
0862:  CALL   0342
.................... 				putcLCD(' ');  
0866:  MOVLW  20
0868:  MOVWF  61
086A:  CALL   03D4
.................... 				putcLCD(' ');  
086E:  MOVLW  20
0870:  MOVWF  61
0872:  CALL   03D4
.................... 				putcLCD(' ');  
0876:  MOVLW  20
0878:  MOVWF  61
087A:  CALL   03D4
.................... 				putcLCD(' ');  
087E:  MOVLW  20
0880:  MOVWF  61
0882:  CALL   03D4
.................... 				putcLCD(' ');  
0886:  MOVLW  20
0888:  MOVWF  61
088A:  CALL   03D4
.................... 				putcLCD('s');  
088E:  MOVLW  73
0890:  MOVWF  61
0892:  CALL   03D4
.................... 				putcLCD('u');  
0896:  MOVLW  75
0898:  MOVWF  61
089A:  CALL   03D4
.................... 				putcLCD('c');  
089E:  MOVLW  63
08A0:  MOVWF  61
08A2:  CALL   03D4
.................... 				putcLCD('c');  
08A6:  MOVLW  63
08A8:  MOVWF  61
08AA:  CALL   03D4
.................... 				putcLCD('e');  
08AE:  MOVLW  65
08B0:  MOVWF  61
08B2:  CALL   03D4
.................... 				putcLCD('s');  
08B6:  MOVLW  73
08B8:  MOVWF  61
08BA:  CALL   03D4
.................... 				putcLCD('s');  
08BE:  MOVLW  73
08C0:  MOVWF  61
08C2:  CALL   03D4
.................... 			}  
.................... 			else  
.................... 			{  
08C6:  GOTO   08D2
.................... 				moniter_Clern_Number();  
08CA:  CALL   04DE
.................... 				goto	str;  
08CE:  GOTO   04FC
.................... 			}  
.................... 		}  
.................... 	}	  
.................... }  
08D2:  GOTO   09D6 (RETURN)
08D6:  NOP(FFFF)
.................... //***************************************************************  
.................... void moniter(void)  
.................... {  
*
09C4:  NOP(FFFF)
.................... 	int8	temp;  
....................   
.................... 	delay_ms(100);  
09C6:  MOVLW  64
09C8:  MOVWF  62
09CA:  CALL   02B6
.................... 	moniter_Inti();  
09CE:  GOTO   04A8
.................... wo:  
.................... 	moniter_Recive();  
09D2:  GOTO   04FA
.................... 	if(Check_Data_bit==0)  
.................... 	goto	wo;  
09D6:  MOVLW  00
09D8:  BTFSC  3A.0
09DA:  MOVLW  01
09DC:  XORLW  00
09DE:  BTFSS  FD8.2
09E0:  GOTO   09EC
09E4:  GOTO   09D2
.................... 	else  
.................... 	{  
09E8:  GOTO   09FA
.................... 		Check_Data_bit=0;  
09EC:  BCF    3A.0
.................... 		simulation_Inti();  
09EE:  CALL   08D8
.................... 		while(1)  
.................... 		{  
.................... 			simulation();  
09F2:  CALL   08F8
.................... 		}  
09F6:  GOTO   09F2
.................... 	}  
.................... }  
09FA:  GOTO   1244 (RETURN)
09FE:  NOP(FFFF)
.................... //******************************************************************************************  
.................... //                                          读卡模块  
.................... //******************************************************************************************  
.................... void normal_Inti(void)  
.................... {  
0A00:  NOP(FFFF)
.................... 	setup_ccp1(CCP_CAPTURE_RE);    							// Configure CCP1 to capture rise  
0A02:  MOVLW  B7
0A04:  ANDWF  FB1,F
0A06:  CLRF   FBD
0A08:  MOVLW  05
0A0A:  MOVWF  FBD
.................... 	setup_ccp2(CCP_CAPTURE_FE);    							// Configure CCP2 to capture fall  
0A0C:  MOVLW  B7
0A0E:  ANDWF  FB1,F
0A10:  CLRF   FBA
0A12:  MOVLW  04
0A14:  MOVWF  FBA
.................... 	setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);    				// Start timer 1  
0A16:  MOVLW  85
0A18:  MOVWF  FCD
.................... 	setup_timer_0(RTCC_INTERNAL|RTCC_OFF|RTCC_8_BIT|RTCC_DIV_1);  
0A1A:  MOVLW  48
0A1C:  MOVWF  FD5
.................... 	set_tris_c(0x86);  
0A1E:  MOVLW  86
0A20:  MOVWF  F94
.................... }  
0A22:  GOTO   0FDE (RETURN)
0A26:  NOP(FFFF)
.................... //************************************************************  
.................... void normal_Clern_Number(void)  
.................... {  
0A28:  NOP(FFFF)
....................        normal_Data[0]=0;  
0A2A:  CLRF   24
....................        normal_Data[1]=0;               
0A2C:  CLRF   25
....................        normal_Data[2]=0;        
0A2E:  CLRF   26
....................        normal_Data[3]=0;               
0A30:  CLRF   27
....................        normal_Data[4]=0;        
0A32:  CLRF   28
....................        normal_Data[5]=0;               
0A34:  CLRF   29
....................        normal_Data[6]=0;        
0A36:  CLRF   2A
....................        normal_Data[7]=0;               
0A38:  CLRF   2B
....................        normal_Data[8]=0;        
0A3A:  CLRF   2C
....................        normal_Data[9]=0;               
0A3C:  CLRF   2D
....................        normal_Data[10]=0;                                                                         
0A3E:  CLRF   2E
.................... }  
0A40:  RETLW  00
0A42:  NOP(FFFF)
.................... //************************************************************  
.................... void normal_Recive(void)  
.................... {  
0A44:  NOP(FFFF)
.................... 	int8	header,pc;  
.................... 	int8	temp,temp1;  
.................... 	int16	temp2;  
.................... 	int8	ByteCounter;  
.................... 	int8	*PData,*PData1;  
.................... 	int8	BitCounter;  
.................... 	int16	fall,rise;  
.................... str:  
.................... 	if(input(RF_DATA_IN)==0)  
.................... 	if(input(RF_DATA_IN)==0)  
0A46:  MOVLW  00
0A48:  BTFSC  F82.2
0A4A:  MOVLW  01
0A4C:  XORLW  00
0A4E:  BTFSS  FD8.2
0A50:  GOTO   0FCA
.................... 	if(input(RF_DATA_IN)==0)  
0A54:  MOVLW  00
0A56:  BTFSC  F82.2
0A58:  MOVLW  01
0A5A:  XORLW  00
0A5C:  BTFSS  FD8.2
0A5E:  GOTO   0FCA
.................... 	if(input(RF_DATA_IN)==0)  
0A62:  MOVLW  00
0A64:  BTFSC  F82.2
0A66:  MOVLW  01
0A68:  XORLW  00
0A6A:  BTFSS  FD8.2
0A6C:  GOTO   0FCA
.................... 	if(input(RF_DATA_IN)==0)  
0A70:  MOVLW  00
0A72:  BTFSC  F82.2
0A74:  MOVLW  01
0A76:  XORLW  00
0A78:  BTFSS  FD8.2
0A7A:  GOTO   0FCA
.................... 	{  
0A7E:  MOVLW  00
0A80:  BTFSC  F82.2
0A82:  MOVLW  01
0A84:  XORLW  00
0A86:  BTFSS  FD8.2
0A88:  GOTO   0FCA
.................... 		while(input(RF_DATA_IN)==0);  
0A8C:  MOVLW  00
0A8E:  BTFSC  F82.2
0A90:  MOVLW  01
0A92:  XORLW  00
0A94:  BTFSC  FD8.2
0A96:  GOTO   0A8C
.................... 		rise=CCP_1;  
0A9A:  MOVFF  FBF,5A
0A9E:  MOVFF  FBE,59
.................... 		delay_us(10);  
0AA2:  MOVLW  03
0AA4:  MOVWF  00
0AA6:  DECFSZ 00,F
0AA8:  BRA    0AA6
.................... 		while(input(RF_DATA_IN)==1);  
0AAA:  MOVLW  00
0AAC:  BTFSC  F82.2
0AAE:  MOVLW  01
0AB0:  SUBLW  01
0AB2:  BTFSC  FD8.2
0AB4:  GOTO   0AAA
.................... 		fall=CCP_2;  
0AB8:  MOVFF  FBC,58
0ABC:  MOVFF  FBB,57
.................... 		TIMER_1=fall-rise;  
0AC0:  MOVF   59,W
0AC2:  SUBWF  57,W
0AC4:  MOVWF  17
0AC6:  MOVF   5A,W
0AC8:  SUBWFB 58,W
0ACA:  MOVWF  18
.................... 		if(fall<rise)  
.................... 		TIMER_1=TIMER_1+65536;  
0ACC:  MOVF   58,W
0ACE:  SUBWF  5A,W
0AD0:  BTFSS  FD8.0
0AD2:  GOTO   0AE6
0AD6:  BTFSS  FD8.2
0AD8:  GOTO   0AE6
0ADC:  MOVF   59,W
0ADE:  SUBWF  57,W
0AE0:  BTFSC  FD8.0
0AE2:  GOTO   0AE6
.................... 		temp2=560;  
0AE6:  MOVLW  02
0AE8:  MOVWF  50
0AEA:  MOVLW  30
0AEC:  MOVWF  4F
.................... 		if(TIMER_1>temp2)  
.................... 		{  
0AEE:  MOVF   50,W
0AF0:  SUBWF  18,W
0AF2:  BTFSS  FD8.0
0AF4:  GOTO   0B0C
0AF8:  BTFSS  FD8.2
0AFA:  GOTO   0B08
0AFE:  MOVF   17,W
0B00:  SUBWF  4F,W
0B02:  BTFSC  FD8.0
0B04:  GOTO   0B0C
.................... 			goto	str;  
0B08:  GOTO   0A46
.................... 		}  
.................... 		temp2=540;  
0B0C:  MOVLW  02
0B0E:  MOVWF  50
0B10:  MOVLW  1C
0B12:  MOVWF  4F
.................... 		if(TIMER_1<temp2)  
.................... 		{  
0B14:  MOVF   18,W
0B16:  SUBWF  50,W
0B18:  BTFSS  FD8.0
0B1A:  GOTO   0B32
0B1E:  BTFSS  FD8.2
0B20:  GOTO   0B2E
0B24:  MOVF   4F,W
0B26:  SUBWF  17,W
0B28:  BTFSC  FD8.0
0B2A:  GOTO   0B32
.................... 			goto	str;  
0B2E:  GOTO   0A46
.................... 		}  
.................... 		header=0;  
0B32:  CLRF   4B
.................... 		do  
.................... 		{  
.................... 			TIMER_1=0;  
0B34:  CLRF   18
0B36:  CLRF   17
.................... 			while(input(RF_DATA_IN)==0);  
0B38:  MOVLW  00
0B3A:  BTFSC  F82.2
0B3C:  MOVLW  01
0B3E:  XORLW  00
0B40:  BTFSC  FD8.2
0B42:  GOTO   0B38
.................... 			rise=CCP_1;  
0B46:  MOVFF  FBF,5A
0B4A:  MOVFF  FBE,59
.................... 			delay_us(10);  
0B4E:  MOVLW  03
0B50:  MOVWF  00
0B52:  DECFSZ 00,F
0B54:  BRA    0B52
.................... 			while(input(RF_DATA_IN)==1);  
0B56:  MOVLW  00
0B58:  BTFSC  F82.2
0B5A:  MOVLW  01
0B5C:  SUBLW  01
0B5E:  BTFSC  FD8.2
0B60:  GOTO   0B56
.................... 			fall=CCP_2;  
0B64:  MOVFF  FBC,58
0B68:  MOVFF  FBB,57
.................... 			TIMER_1=fall-rise;  
0B6C:  MOVF   59,W
0B6E:  SUBWF  57,W
0B70:  MOVWF  17
0B72:  MOVF   5A,W
0B74:  SUBWFB 58,W
0B76:  MOVWF  18
.................... 			if(fall<rise)  
.................... 			TIMER_1=TIMER_1+65536;  
0B78:  MOVF   58,W
0B7A:  SUBWF  5A,W
0B7C:  BTFSS  FD8.0
0B7E:  GOTO   0B92
0B82:  BTFSS  FD8.2
0B84:  GOTO   0B92
0B88:  MOVF   59,W
0B8A:  SUBWF  57,W
0B8C:  BTFSC  FD8.0
0B8E:  GOTO   0B92
.................... 			temp2=280;  
0B92:  MOVLW  01

⌨️ 快捷键说明

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