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

📄 rfid.lst

📁 自己作的的射频卡项目的源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -