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

📄 rfid.lst

📁 自己作的的射频卡项目的源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
....................        				}  
.................... 					else  
.................... 					{  
0EAE:  GOTO   0F3A
.................... 						if((temp&0x01)==((*(PData+ByteCounter))&0x01))//效验高4位  
....................               			{  
0EB2:  MOVF   4D,W
0EB4:  ANDLW  01
0EB6:  MOVWF  5B
0EB8:  MOVF   51,W
0EBA:  ADDWF  52,W
0EBC:  MOVWF  01
0EBE:  MOVLW  00
0EC0:  ADDWFC 53,W
0EC2:  MOVWF  03
0EC4:  MOVF   01,W
0EC6:  MOVWF  FE9
0EC8:  MOVFF  03,FEA
0ECC:  MOVF   FEF,W
0ECE:  ANDLW  01
0ED0:  SUBWF  5B,W
0ED2:  BTFSS  FD8.2
0ED4:  GOTO   0F32
.................... 							temp1=*(PData+ByteCounter)&0x1f;  
0ED8:  MOVF   51,W
0EDA:  ADDWF  52,W
0EDC:  MOVWF  01
0EDE:  MOVLW  00
0EE0:  ADDWFC 53,W
0EE2:  MOVWF  03
0EE4:  MOVF   01,W
0EE6:  MOVWF  FE9
0EE8:  MOVFF  03,FEA
0EEC:  MOVF   FEF,W
0EEE:  ANDLW  1F
0EF0:  MOVWF  4E
.................... 							*(PData1+ByteCounter)=temp1;  
0EF2:  MOVF   51,W
0EF4:  ADDWF  54,W
0EF6:  MOVWF  01
0EF8:  MOVLW  00
0EFA:  ADDWFC 55,W
0EFC:  MOVWF  03
0EFE:  MOVF   01,W
0F00:  MOVWF  FE9
0F02:  MOVFF  03,FEA
0F06:  MOVFF  4E,FEF
.................... 							temp1=(temp1&0x1e)>>1;  
0F0A:  MOVF   4E,W
0F0C:  ANDLW  1E
0F0E:  MOVWF  00
0F10:  BCF    FD8.0
0F12:  RRCF   00,W
0F14:  MOVWF  4E
.................... 							*(PData+ByteCounter)=temp1;  
0F16:  MOVF   51,W
0F18:  ADDWF  52,W
0F1A:  MOVWF  01
0F1C:  MOVLW  00
0F1E:  ADDWFC 53,W
0F20:  MOVWF  03
0F22:  MOVF   01,W
0F24:  MOVWF  FE9
0F26:  MOVFF  03,FEA
0F2A:  MOVFF  4E,FEF
....................               			}  
....................               			else  
....................               			{  
0F2E:  GOTO   0F3A
....................                      	normal_Clern_Number();//并清所有数据  
0F32:  CALL   0A28
.................... 						goto	str;  
0F36:  GOTO   0A46
....................               			}  
.................... 					}  
.................... 				}  
0F3A:  INCF   51,F
0F3C:  GOTO   0DD0
.................... 				output_high(PIN_C5);  
0F40:  BSF    F8B.5
.................... 				delay_ms(1000);  
0F42:  MOVLW  04
0F44:  MOVWF  5B
0F46:  MOVLW  FA
0F48:  MOVWF  62
0F4A:  CALL   02B6
0F4E:  DECFSZ 5B,F
0F50:  BRA    0F46
.................... 				output_low(PIN_C5);  
0F52:  BCF    F8B.5
.................... 				Check_Data_bit=1;  
0F54:  BSF    3A.0
.................... 				SendCmd(0xc0);  
0F56:  MOVLW  C0
0F58:  MOVWF  61
0F5A:  CALL   0342
.................... 				putcLCD(' ');  
0F5E:  MOVLW  20
0F60:  MOVWF  61
0F62:  CALL   03D4
.................... 				putcLCD(' ');  
0F66:  MOVLW  20
0F68:  MOVWF  61
0F6A:  CALL   03D4
.................... 				putcLCD(' ');  
0F6E:  MOVLW  20
0F70:  MOVWF  61
0F72:  CALL   03D4
.................... 				putcLCD(' ');  
0F76:  MOVLW  20
0F78:  MOVWF  61
0F7A:  CALL   03D4
.................... 				putcLCD(' ');  
0F7E:  MOVLW  20
0F80:  MOVWF  61
0F82:  CALL   03D4
.................... 				putcLCD('s');  
0F86:  MOVLW  73
0F88:  MOVWF  61
0F8A:  CALL   03D4
.................... 				putcLCD('u');  
0F8E:  MOVLW  75
0F90:  MOVWF  61
0F92:  CALL   03D4
.................... 				putcLCD('c');  
0F96:  MOVLW  63
0F98:  MOVWF  61
0F9A:  CALL   03D4
.................... 				putcLCD('c');  
0F9E:  MOVLW  63
0FA0:  MOVWF  61
0FA2:  CALL   03D4
.................... 				putcLCD('e');  
0FA6:  MOVLW  65
0FA8:  MOVWF  61
0FAA:  CALL   03D4
.................... 				putcLCD('s');  
0FAE:  MOVLW  73
0FB0:  MOVWF  61
0FB2:  CALL   03D4
.................... 				putcLCD('s');  
0FB6:  MOVLW  73
0FB8:  MOVWF  61
0FBA:  CALL   03D4
.................... 			}  
.................... 			else  
.................... 			{  
0FBE:  GOTO   0FCA
.................... 				normal_Clern_Number();  
0FC2:  CALL   0A28
.................... 				goto	str;  
0FC6:  GOTO   0A46
.................... 			}  
.................... 		}  
.................... 	}	  
.................... }  
0FCA:  GOTO   0FE2 (RETURN)
0FCE:  NOP(FFFF)
.................... //***************************************************************  
.................... void normal(void)  
.................... {  
0FD0:  NOP(FFFF)
.................... 	int8	temp;  
.................... 	delay_ms(100);  
0FD2:  MOVLW  64
0FD4:  MOVWF  62
0FD6:  CALL   02B6
.................... 	normal_Inti();  
0FDA:  GOTO   0A00
.................... ni:  
.................... 	normal_Recive();  
0FDE:  GOTO   0A44
.................... 	if(Check_Data_bit==0)  
.................... 	goto	ni;  
0FE2:  MOVLW  00
0FE4:  BTFSC  3A.0
0FE6:  MOVLW  01
0FE8:  XORLW  00
0FEA:  BTFSS  FD8.2
0FEC:  GOTO   0FF8
0FF0:  GOTO   0FDE
.................... 	else  
.................... 	{  
0FF4:  GOTO   1006
.................... 		Check_Data_bit=0;  
0FF8:  BCF    3A.0
.................... 		simulation_Inti();  
0FFA:  CALL   08D8
.................... 		while(1)  
.................... 		{	  
.................... 			simulation();  
0FFE:  CALL   08F8
.................... 		}  
1002:  GOTO   0FFE
.................... 	}  
.................... }  
1006:  GOTO   12C2 (RETURN)
100A:  NOP(FFFF)
.................... //******************************************************************************************  
.................... //                                          模拟卡片模块  
.................... //******************************************************************************************  
.................... #INT_TIMER3  
.................... void TIMER3_isr(void)  
.................... {  
*
0292:  NOP(FFFF)
.................... 	over=1;  
0294:  BSF    3C.0
.................... 	set_timer3(65082);  
0296:  MOVLW  FE
0298:  MOVWF  FB3
029A:  MOVLW  3A
029C:  MOVWF  FB2
.................... }  
029E:  BCF    FA1.1
02A0:  GOTO   006E
.................... void simulation_Inti(void)  
.................... {  
*
08D8:  NOP(FFFF)
.................... 	setup_timer_3(T3_INTERNAL|0x00);  
08DA:  MOVF   FB1,W
08DC:  ANDLW  48
08DE:  IORLW  85
08E0:  MOVWF  FB1
.................... 	set_timer3(65082);  
08E2:  MOVLW  FE
08E4:  MOVWF  FB3
08E6:  MOVLW  3A
08E8:  MOVWF  FB2
.................... 	over=0;  
08EA:  BCF    3C.0
.................... 	enable_interrupts(INT_TIMER3);  
08EC:  BSF    FA0.1
.................... 	enable_interrupts(global);  
08EE:  MOVLW  C0
08F0:  IORWF  FF2,F
.................... 	CFE_DIR=0;  
08F2:  BCF    F92.2
.................... }  
08F4:  RETLW  00
08F6:  NOP(FFFF)
.................... void simulation(void)  
.................... {  
08F8:  NOP(FFFF)
.................... 	int8	header,*PData,count,i,run;  
.................... 	tim3Str=1;  
08FA:  BSF    FB1.0
.................... 	for(header=0;header<9;header++)  
08FC:  CLRF   4B
08FE:  MOVF   4B,W
0900:  SUBLW  08
0902:  BTFSS  FD8.0
0904:  GOTO   0930
.................... 	{  
.................... 		tim3Str=1;  
0908:  BSF    FB1.0
.................... 		CFE=1;  
090A:  BSF    F80.2
.................... 		delay_us(251);  
090C:  MOVLW  53
090E:  MOVWF  00
0910:  DECFSZ 00,F
0912:  BRA    0910
0914:  NOP   
.................... 		CFE=0;  
0916:  BCF    F80.2
.................... 		while(over==0);  
0918:  MOVLW  00
091A:  BTFSC  3C.0
091C:  MOVLW  01
091E:  XORLW  00
0920:  BTFSC  FD8.2
0922:  GOTO   0918
.................... 		over=0;  
0926:  BCF    3C.0
.................... 		tim3Str=0;  
0928:  BCF    FB1.0
.................... 	}  
092A:  INCF   4B,F
092C:  GOTO   08FE
.................... 	PData=sendData;  
0930:  CLRF   4D
0932:  MOVLW  2F
0934:  MOVWF  4C
.................... 	for(count=0;count<11;count++)  
0936:  CLRF   4E
0938:  MOVF   4E,W
093A:  SUBLW  0A
093C:  BTFSS  FD8.0
093E:  GOTO   09C0
.................... 	{	  
.................... 		temp=*(PData+count);  
0942:  MOVF   4E,W
0944:  ADDWF  4C,W
0946:  MOVWF  01
0948:  MOVLW  00
094A:  ADDWFC 4D,W
094C:  MOVWF  03
094E:  MOVF   01,W
0950:  MOVWF  FE9
0952:  MOVFF  03,FEA
0956:  MOVF   FEF,W
0958:  MOVWF  3B
.................... 		temp=temp<<3;  
095A:  RLCF   3B,F
095C:  RLCF   3B,F
095E:  RLCF   3B,F
0960:  MOVLW  F8
0962:  ANDWF  3B,F
.................... 	//	delay_us(1);  
.................... 		for(i=0;i<5;i++)  
0964:  CLRF   4F
0966:  MOVF   4F,W
0968:  SUBLW  04
096A:  BTFSS  FD8.0
096C:  GOTO   09BA
.................... 		{  
.................... 			run=temp&0x80;  
0970:  MOVF   3B,W
0972:  ANDLW  80
0974:  MOVWF  50
.................... 			if(run==0)  
.................... 			{  
0976:  MOVF   50,F
0978:  BTFSS  FD8.2
097A:  GOTO   0990
.................... 				tim3Str=1;  
097E:  BSF    FB1.0
.................... 				CFE=0;  
0980:  BCF    F80.2
.................... 				delay_us(256);  
0982:  MOVLW  55
0984:  MOVWF  00
0986:  DECFSZ 00,F
0988:  BRA    0986
.................... 				CFE=1;  
098A:  BSF    F80.2
.................... 			}  
.................... 			else  
.................... 			{  
098C:  GOTO   099E
.................... 				tim3Str=1;  
0990:  BSF    FB1.0
.................... 				CFE=1;  
0992:  BSF    F80.2
.................... 				delay_us(256);  
0994:  MOVLW  55
0996:  MOVWF  00
0998:  DECFSZ 00,F
099A:  BRA    0998
.................... 				CFE=0;  
099C:  BCF    F80.2
.................... 			}  
.................... 			temp=temp<<1;  
099E:  BCF    FD8.0
09A0:  RLCF   3B,F
.................... 			while(over==0);  
09A2:  MOVLW  00
09A4:  BTFSC  3C.0
09A6:  MOVLW  01
09A8:  XORLW  00
09AA:  BTFSC  FD8.2
09AC:  GOTO   09A2
.................... 			over=0;  
09B0:  BCF    3C.0
.................... 			tim3Str=0;  
09B2:  BCF    FB1.0
.................... 		}  
09B4:  INCF   4F,F
09B6:  GOTO   0966
.................... 	}  
09BA:  INCF   4E,F
09BC:  GOTO   0938
.................... }  
09C0:  RETLW  00
09C2:  NOP(FFFF)
.................... //******************************************************************************************  
.................... //                                          主函数模块  
.................... //******************************************************************************************  
.................... void InitADKEY(void)  
.................... 	{  
*
02A4:  NOP(FFFF)
.................... 		#asm  
.................... 		movlw	0x41  
02A6:  MOVLW  41
.................... 		movwf	ADCON0  
02A8:  MOVWF  FC2
.................... 		movlw	0x02  
02AA:  MOVLW  02
.................... 		movwf	ADCON1  
02AC:  MOVWF  FC1
.................... 		bsf		TRISA,0  
02AE:  BSF    F92.0
.................... 		#endasm  
.................... 	}  
02B0:  GOTO   103E (RETURN)
02B4:  NOP(FFFF)
.................... int8 GetADKEY(void)  
.................... {  
*
03FA:  NOP(FFFF)
.................... 		int8	ADKEYH;  
.................... 		int8	KEYRES;  
.................... 		#asm  
.................... 			bsf		ADCON0,GO  
03FC:  BSF    FC2.2
.................... 		IsOver:  
.................... 			btfsc	ADCON0,GO  
03FE:  BTFSC  FC2.2
.................... 			goto	IsOver  
0400:  GOTO   03FE
.................... 			movf	ADRESH,W  
0404:  MOVF   FC4,W
.................... 			movwf	ADKEYH  
0406:  MOVWF  4A
.................... 			movlw	0x31  
0408:  MOVLW  31
.................... 			movwf	KEYRES  
040A:  MOVWF  4B
.................... 		KEY1:	  
.................... 			movlw	0xcb  
040C:  MOVLW  CB
.................... 			subwf	ADKEYH,W  
040E:  SUBWF  4A,W
.................... 			btfss	STATUS,C  
0410:  BTFSS  FD8.0
.................... 			goto	KEY2  
0412:  GOTO   041A
.................... 			goto	KEYOUT  
0416:  GOTO   049E
.................... 		KEY2:  
.................... 			incf	KEYRES,F  
041A:  INCF   4B,F
.................... 			movlw	0xa8  
041C:  MOVLW  A8
.................... 			subwf	ADKEYH,W  
041E:  SUBWF  4A,W
.................... 			btfss	STATUS,C  
0420:  BTFSS  FD8.0
.................... 			goto	KEY3  
0422:  GOTO   042A
.................... 			goto	KEYOUT  
0426:  GOTO   049E
.................... 		KEY3:  
.................... 			incf	KEYRES,F  
042A:  INCF   4B,F
.................... 			movlw	0x8f  
042C:  MOVLW  8F
.................... 			subwf	ADKEYH,W  
042E:  SUBWF  4A,W
.................... 			btfss	STATUS,C  
0430:  BTFSS  FD8.0
.................... 			goto	KEY4  
0432:  GOTO   043A
.................... 			goto	KEYOUT  
0436:  GOTO   049E
.................... 		KEY4:  
.................... 			incf	KEYRES,F  
043A:  INCF   4B,F
.................... 			movlw	0x7c  
043C:  MOVLW  7C
.................... 			subwf	ADKEYH,W  
043E:  SUBWF  4A,W
.................... 			btfss	STATUS,C  
0440:  BTFSS  FD8.0
.................... 			goto	KEY5  
0442:  GOTO   044A
.................... 			goto

⌨️ 快捷键说明

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