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

📄 rfid.lst

📁 自己作的的射频卡项目的源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
0260:  BTFSS  FD8.0
0262:  GOTO   0288
0266:  BTFSS  FD8.2
0268:  GOTO   0276
026C:  MOVF   40,W
026E:  SUBLW  1F
0270:  BTFSS  FD8.0
0272:  GOTO   0288
.................... 			bitdata=0;  
0276:  CLRF   46
.................... 			bit_over=1;  
0278:  MOVLW  01
027A:  MOVWF  45
.................... 			last_timer=CCP_2;  
027C:  MOVFF  FBC,3F
0280:  MOVFF  FBB,3E
.................... 		}  
.................... 		else  
.................... 		{  
0284:  GOTO   028C
.................... 		timeout=1;  
0288:  MOVLW  01
028A:  MOVWF  44
.................... 		}  
.................... 	}  
.................... }  
028C:  BCF    FA1.0
028E:  GOTO   006E
.................... void moniter_Inti(void)  
.................... {  
*
04A8:  NOP(FFFF)
.................... 	setup_ccp1(CCP_CAPTURE_RE);    							// Configure CCP1 to capture rise  
04AA:  MOVLW  B7
04AC:  ANDWF  FB1,F
04AE:  CLRF   FBD
04B0:  MOVLW  05
04B2:  MOVWF  FBD
.................... 	setup_ccp2(CCP_CAPTURE_FE);    							// Configure CCP2 to capture fall  
04B4:  MOVLW  B7
04B6:  ANDWF  FB1,F
04B8:  CLRF   FBA
04BA:  MOVLW  04
04BC:  MOVWF  FBA
.................... 	setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);    				// Start timer 1  
04BE:  MOVLW  85
04C0:  MOVWF  FCD
.................... 	setup_timer_0(RTCC_INTERNAL|RTCC_OFF|RTCC_8_BIT|RTCC_DIV_1);  
04C2:  MOVLW  48
04C4:  MOVWF  FD5
.................... 	set_tris_c(0x86);  
04C6:  MOVLW  86
04C8:  MOVWF  F94
.................... 	disable_interrupts(GLOBAL);  
04CA:  BCF    FF2.6
04CC:  BCF    FF2.7
04CE:  BTFSC  FF2.7
04D0:  GOTO   04CC
.................... 	enable_interrupts(INT_CCP1);  
04D4:  BSF    F9D.2
.................... 	enable_interrupts(INT_CCP2);  
04D6:  BSF    FA0.0
.................... }  
04D8:  GOTO   09D2 (RETURN)
04DC:  NOP(FFFF)
.................... //************************************************************  
.................... void moniter_Clern_Number(void)  
.................... {  
04DE:  NOP(FFFF)
....................        moniter_Data[0]=0;  
04E0:  CLRF   19
....................        moniter_Data[1]=0;               
04E2:  CLRF   1A
....................        moniter_Data[2]=0;        
04E4:  CLRF   1B
....................        moniter_Data[3]=0;               
04E6:  CLRF   1C
....................        moniter_Data[4]=0;        
04E8:  CLRF   1D
....................        moniter_Data[5]=0;               
04EA:  CLRF   1E
....................        moniter_Data[6]=0;        
04EC:  CLRF   1F
....................        moniter_Data[7]=0;               
04EE:  CLRF   20
....................        moniter_Data[8]=0;        
04F0:  CLRF   21
....................        moniter_Data[9]=0;               
04F2:  CLRF   22
....................        moniter_Data[10]=0;                                                                         
04F4:  CLRF   23
.................... }  
04F6:  RETLW  00
04F8:  NOP(FFFF)
.................... //************************************************************  
.................... void moniter_Recive(void)  
.................... {  
04FA:  NOP(FFFF)
.................... 	int8	header,pc;  
.................... 	int8	temp,temp1;  
.................... 	int16	temp2;  
.................... 	int8	ByteCounter;  
.................... 	int8	*PData,*PData1;  
.................... 	int8	BitCounter;  
.................... 	int16	fall,rise,num;  
.................... 	int16	value,delay_time;  
.................... str:  
.................... 	disable_interrupts(GLOBAL);  
04FC:  BCF    FF2.6
04FE:  BCF    FF2.7
0500:  BTFSC  FF2.7
0502:  GOTO   04FE
.................... 	if(input(RF_DATA_IN)==1)  
.................... 	if(input(RF_DATA_IN)==1)  
0506:  MOVLW  00
0508:  BTFSC  F82.2
050A:  MOVLW  01
050C:  SUBLW  01
050E:  BTFSS  FD8.2
0510:  GOTO   08D2
.................... 	if(input(RF_DATA_IN)==1)  
0514:  MOVLW  00
0516:  BTFSC  F82.2
0518:  MOVLW  01
051A:  SUBLW  01
051C:  BTFSS  FD8.2
051E:  GOTO   08D2
.................... 	if(input(RF_DATA_IN)==1)  
0522:  MOVLW  00
0524:  BTFSC  F82.2
0526:  MOVLW  01
0528:  SUBLW  01
052A:  BTFSS  FD8.2
052C:  GOTO   08D2
.................... 	if(input(RF_DATA_IN)==1)  
0530:  MOVLW  00
0532:  BTFSC  F82.2
0534:  MOVLW  01
0536:  SUBLW  01
0538:  BTFSS  FD8.2
053A:  GOTO   08D2
.................... 	{  
053E:  MOVLW  00
0540:  BTFSC  F82.2
0542:  MOVLW  01
0544:  SUBLW  01
0546:  BTFSS  FD8.2
0548:  GOTO   08D2
.................... 		enable_interrupts(GLOBAL);  
054C:  MOVLW  C0
054E:  IORWF  FF2,F
.................... 		while(b==0);  
0550:  MOVF   48,F
0552:  BTFSC  FD8.2
0554:  GOTO   0550
.................... 		a=0;b=0;  
0558:  CLRF   47
055A:  CLRF   48
.................... 		delay_us(1);  
055C:  NOP   
.................... 		if(haha<430||haha>550)  
.................... 		{  
055E:  MOVF   43,W
0560:  SUBLW  01
0562:  BTFSS  FD8.0
0564:  GOTO   0578
0568:  BTFSS  FD8.2
056A:  GOTO   0594
056E:  MOVF   42,W
0570:  SUBLW  AD
0572:  BTFSC  FD8.0
0574:  GOTO   0594
0578:  MOVF   43,W
057A:  SUBLW  01
057C:  BTFSC  FD8.0
057E:  GOTO   0598
0582:  XORLW  FF
0584:  BTFSS  FD8.2
0586:  GOTO   0594
058A:  MOVF   42,W
058C:  SUBLW  26
058E:  BTFSC  FD8.0
0590:  GOTO   0598
....................   
.................... 			goto	str;  
0594:  GOTO   04FC
.................... 		}  
.................... 		last_timer=CCP_1;  
0598:  MOVFF  FBF,3F
059C:  MOVFF  FBE,3E
.................... 		header=0;  
05A0:  CLRF   4B
.................... 		value=0;  
05A2:  CLRF   5E
05A4:  CLRF   5D
.................... 		do  
.................... 		{  
.................... 			jing=header;  
05A6:  MOVFF  4B,3D
.................... 			bit_over=0;  
05AA:  CLRF   45
.................... 			timeout=0;  
05AC:  CLRF   44
.................... 			num=0;  
05AE:  CLRF   5C
05B0:  CLRF   5B
.................... 			while(!bit_over)  
.................... 			{  
05B2:  MOVF   45,F
05B4:  BTFSS  FD8.2
05B6:  GOTO   05EA
.................... 				delay_us(1);  
05BA:  NOP   
.................... 				num++;  
05BC:  INCF   5B,F
05BE:  BTFSC  FD8.2
05C0:  INCF   5C,F
.................... 				if(num>600)  
.................... 				{  
05C2:  MOVF   5C,W
05C4:  SUBLW  01
05C6:  BTFSC  FD8.0
05C8:  GOTO   05E6
05CC:  XORLW  FF
05CE:  BTFSS  FD8.2
05D0:  GOTO   05DE
05D4:  MOVF   5B,W
05D6:  SUBLW  58
05D8:  BTFSC  FD8.0
05DA:  GOTO   05E6
.................... 				timeout=1;  
05DE:  MOVLW  01
05E0:  MOVWF  44
.................... 				break;  
05E2:  GOTO   05EA
.................... 				}  
.................... 			}  
05E6:  GOTO   05B2
.................... 			bit_over=0;  
05EA:  CLRF   45
.................... 			if(!(timeout==0&&bitdata==1))  
.................... 			{  
05EC:  MOVF   44,F
05EE:  BTFSS  FD8.2
05F0:  GOTO   05FE
05F4:  DECFSZ 46,W
05F6:  GOTO   05FE
05FA:  GOTO   0604
.................... 				timeout=0;  
05FE:  CLRF   44
.................... 				goto	str;  
0600:  GOTO   04FC
.................... 			}  
.................... 		//	value+=TIMER_1;  
.................... 			header=header+1;  
0604:  MOVLW  01
0606:  ADDWF  4B,F
.................... 		}while(header<8);  
.................... 	//	delay_time=value*0.2;  
.................... 		if(header==8)  
0608:  MOVF   4B,W
060A:  SUBLW  07
060C:  BTFSC  FD8.0
060E:  GOTO   05A6
.................... 		{  
0612:  MOVF   4B,W
0614:  SUBLW  08
0616:  BTFSS  FD8.2
0618:  GOTO   08D2
.................... 			ByteCounter=0;  
061C:  CLRF   51
.................... 			PData=moniter_Data;  
061E:  CLRF   53
0620:  MOVLW  19
0622:  MOVWF  52
.................... 			do  
.................... 			{  
.................... 				BitCounter=5;  
0624:  MOVLW  05
0626:  MOVWF  56
.................... 				temp1=0;  
0628:  CLRF   4E
.................... 				do  
.................... 				{  
.................... 					bit_over=0;  
062A:  CLRF   45
.................... 					timeout=0;  
062C:  CLRF   44
.................... 					num=0;  
062E:  CLRF   5C
0630:  CLRF   5B
.................... 					while(!bit_over)  
.................... 					{  
0632:  MOVF   45,F
0634:  BTFSS  FD8.2
0636:  GOTO   066A
.................... 						delay_us(1);  
063A:  NOP   
.................... 						num++;  
063C:  INCF   5B,F
063E:  BTFSC  FD8.2
0640:  INCF   5C,F
.................... 						if(num>600)  
.................... 						{  
0642:  MOVF   5C,W
0644:  SUBLW  01
0646:  BTFSC  FD8.0
0648:  GOTO   0666
064C:  XORLW  FF
064E:  BTFSS  FD8.2
0650:  GOTO   065E
0654:  MOVF   5B,W
0656:  SUBLW  58
0658:  BTFSC  FD8.0
065A:  GOTO   0666
.................... 						timeout=1;  
065E:  MOVLW  01
0660:  MOVWF  44
.................... 						break;  
0662:  GOTO   066A
.................... 						}  
.................... 					}  
0666:  GOTO   0632
.................... 					bit_over=0;  
066A:  CLRF   45
.................... 					if(timeout==1)  
.................... 					{  
066C:  DECFSZ 44,W
066E:  GOTO   0678
.................... 						timeout=0;  
0672:  CLRF   44
.................... 						goto	str;  
0674:  GOTO   04FC
.................... 					}  
.................... 					temp=bitdata;  
0678:  MOVFF  46,4D
.................... 					temp1=(temp1<<1)|temp;  
067C:  BCF    FD8.0
067E:  RLCF   4E,W
0680:  IORWF  4D,W
0682:  MOVWF  4E
.................... 					BitCounter--;  
0684:  DECF   56,F
.................... 				}while(BitCounter);  
.................... 				*(PData+ByteCounter)=temp1;  
0686:  MOVF   56,F
0688:  BTFSS  FD8.2
068A:  GOTO   062A
068E:  MOVF   51,W
0690:  ADDWF  52,W
0692:  MOVWF  01
0694:  MOVLW  00
0696:  ADDWFC 53,W
0698:  MOVWF  03
069A:  MOVF   01,W
069C:  MOVWF  FE9
069E:  MOVFF  03,FEA
06A2:  MOVFF  4E,FEF
.................... 				ByteCounter=ByteCounter+1;  
06A6:  MOVLW  01
06A8:  ADDWF  51,F
.................... 			}while(ByteCounter<11);  
.................... 			if(temp==0)  
06AA:  MOVF   51,W
06AC:  SUBLW  0A
06AE:  BTFSC  FD8.0
06B0:  GOTO   0624
.................... 			{  
06B4:  MOVF   4D,F
06B6:  BTFSS  FD8.2
06B8:  GOTO   08CA
.................... 				  
.................... 				PData=moniter_Data;  
06BC:  CLRF   53
06BE:  MOVLW  19
06C0:  MOVWF  52
.................... 				PData1=sendData;  
06C2:  CLRF   55
06C4:  MOVLW  2F
06C6:  MOVWF  54
.................... 				for(ByteCounter=0;ByteCounter<11;ByteCounter++)//有5个字节数据  
06C8:  CLRF   51
06CA:  MOVF   51,W
06CC:  SUBLW  0A
06CE:  BTFSS  FD8.0
06D0:  GOTO   083A
....................        				{  
....................               			temp=(((*(PData+ByteCounter))&0x10)>>4)+(((*(PData+ByteCounter))&0x08)>>3)+(((*(PData+ByteCounter))&0x04)>>2)+(((*(PData+ByteCounter))&0x02)>>1);    
06D4:  MOVF   51,W
06D6:  ADDWF  52,W
06D8:  MOVWF  01
06DA:  MOVLW  00
06DC:  ADDWFC 53,W
06DE:  MOVWF  03
06E0:  MOVF   01,W
06E2:  MOVWF  FE9
06E4:  MOVFF  03,FEA
06E8:  MOVF   FEF,W
06EA:  ANDLW  10
06EC:  MOVWF  00
06EE:  SWAPF  00,W
06F0:  MOVWF  63
06F2:  MOVLW  0F
06F4:  ANDWF  63,F
06F6:  MOVF   51,W
06F8:  ADDWF  52,W
06FA:  MOVWF  01
06FC:  MOVLW  00
06FE:  ADDWFC 53,W
0700:  MOVWF  03
0702:  MOVF   01,W
0704:  MOVWF  FE9
0706:  MOVFF  03,FEA
070A:  MOVF   FEF,W
070C:  ANDLW  08
070E:  MOVWF  00
0710:  RRCF   00,F
0712:  RRCF   00,F
0714:  RRCF   00,F
0716:  MOVLW  1F
0718:  ANDWF  00,F
071A:  MOVF   00,W
071C:  ADDWF  63,W
071E:  MOVWF  66
0720:  MOVF   51,W
0722:  ADDWF  52,W
0724:  MOVWF  01
0726:  MOVLW  00
0728:  ADDWFC 53,W
072A:  MOVWF  03
072C:  MOVF   01,W
072E:  MOVWF  FE9
0730:  MOVFF  03,FEA
0734:  MOVF   FEF,W
0736:  ANDLW  04
0738:  MOVWF  00
073A:  RRCF   00,F
073C:  RRCF   00,F
073E:  MOVLW  3F
0740:  ANDWF  00,F
0742:  MOVF   00,W
0744:  ADDWF  66,W
0746:  MOVWF  69
0748:  MOVF   51,W
074A:  ADDWF  52,W
074C:  MOVWF  01
074E:  MOVLW  00
0750:  ADDWFC 53,W
0752:  MOVWF  03
0754:  MOVF   01,W
0756:  MOVWF  FE9
0758:  MOVFF  03,FEA
075C:  MOVF   FEF,W
075E:  ANDLW  02
0760:  MOVWF  00
0762:  BCF    FD8.0
0764:  RRCF   00,F
0766:  MOVF   00,W
0768:  ADDWF  69,W
076A:  MOVWF  4D
.................... 					if(ByteCounter==10)  
.................... 						{     
076C:  MOVF   51,W
076E:  SUBLW  0A
0770:  BTFSS  FD8.2
0772:  GOTO   07AC
.................... 						temp1=*(PData+ByteCounter)&0x1f;  
0776:  MOVF   51,W
0778:  ADDWF  52,W
077A:  MOVWF  01
077C:  MOVLW  00
077E:  ADDWFC 53,W

⌨️ 快捷键说明

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