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

📄 rfid.lst

📁 自己作的的射频卡项目的源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
CCS PCH C Compiler, Version 3.187, 16465

               Filename: rfid.LST

               ROM used: 4946 (15%)
                         Largest free fragment is 26986
               RAM used: 75 (5%) at main() level
                         116 (8%) worst case
               Stack:    5 worst case (4 in main + 1 for interrupts)

*
0000:  GOTO   100C
*
0008:  NOP(FFFF)
000A:  MOVWF  05
000C:  MOVFF  FD8,06
0010:  MOVF   FE9,W
0012:  MOVWF  07
0014:  MOVF   FEA,W
0016:  MOVWF  08
0018:  MOVF   FE1,W
001A:  MOVWF  09
001C:  MOVF   FE2,W
001E:  MOVWF  0A
0020:  MOVF   FD9,W
0022:  MOVWF  0B
0024:  MOVF   FDA,W
0026:  MOVWF  0C
0028:  MOVF   FF3,W
002A:  MOVWF  14
002C:  MOVF   FF4,W
002E:  MOVWF  15
0030:  MOVF   FE0,W
0032:  MOVWF  0D
0034:  MOVLB  0
0036:  MOVF   00,W
0038:  MOVWF  0F
003A:  MOVF   01,W
003C:  MOVWF  10
003E:  MOVF   02,W
0040:  MOVWF  11
0042:  MOVF   03,W
0044:  MOVWF  12
0046:  MOVF   04,W
0048:  MOVWF  13
004A:  BTFSS  FA0.1
004C:  GOTO   0056
0050:  BTFSC  FA1.1
0052:  GOTO   0292
0056:  BTFSS  F9D.2
0058:  GOTO   0062
005C:  BTFSC  F9E.2
005E:  GOTO   00B0
0062:  BTFSS  FA0.0
0064:  GOTO   006E
0068:  BTFSC  FA1.0
006A:  GOTO   01C6
006E:  MOVF   0F,W
0070:  MOVWF  00
0072:  MOVF   10,W
0074:  MOVWF  01
0076:  MOVF   11,W
0078:  MOVWF  02
007A:  MOVF   12,W
007C:  MOVWF  03
007E:  MOVF   13,W
0080:  MOVWF  04
0082:  MOVF   0D,W
0084:  MOVWF  FE0
0086:  BSF    0D.7
0088:  MOVF   07,W
008A:  MOVWF  FE9
008C:  MOVF   08,W
008E:  MOVWF  FEA
0090:  MOVF   09,W
0092:  MOVWF  FE1
0094:  MOVF   0A,W
0096:  MOVWF  FE2
0098:  MOVF   0B,W
009A:  MOVWF  FD9
009C:  MOVF   0C,W
009E:  MOVWF  FDA
00A0:  MOVF   14,W
00A2:  MOVWF  FF3
00A4:  MOVF   15,W
00A6:  MOVWF  FF4
00A8:  MOVF   05,W
00AA:  MOVFF  06,FD8
00AE:  RETFIE 0
....................  //******************************************************************************************  
.................... //                                          头文件处理  
.................... //******************************************************************************************  
.................... #include	<18F252.H> 
....................  //////// Standard Header file for the PIC18F252 device ////////////////  
.................... #device PIC18F252  
.................... #list  
....................  
.................... #device 	ICD=TRUE  
.................... #fuses		HS,NOWDT,NOLVP  
.................... #use		delay(clock=4000000)  
*
02B8:  CLRF   FEA
02BA:  MOVLW  62
02BC:  MOVWF  FE9
02BE:  MOVF   FEF,W
02C0:  BTFSC  FD8.2
02C2:  GOTO   02E4
02C6:  MOVLW  01
02C8:  MOVWF  01
02CA:  CLRF   00
02CC:  DECFSZ 00,F
02CE:  BRA    02CC
02D0:  DECFSZ 01,F
02D2:  BRA    02CA
02D4:  MOVLW  4A
02D6:  MOVWF  00
02D8:  DECFSZ 00,F
02DA:  BRA    02D8
02DC:  NOP   
02DE:  NOP   
02E0:  DECFSZ FEF,F
02E2:  BRA    02C6
02E4:  RETLW  00
02E6:  NOP(FFFF)
.................... #use		rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)  
*
02B6:  NOP(FFFF)
.................... #use		fast_io(c)  
.................... #use		fast_io(a)  
.................... #use		fast_io(b)  
.................... //******************************************************************************************  
.................... //                                          IO口处理  
.................... //******************************************************************************************  
.................... #define		RF_DATA_IN	PIN_C2  
.................... #bit		Time_Out=	0xff2.2  
.................... #bit		Star_Timer=	0xfd5.7  
.................... //******************************************************************************************  
.................... //                                          变量处理  
.................... //******************************************************************************************  
.................... // LCD 模块命令  
.................... #define	DISP_ON		0x0C	//开显示  
.................... #define	DISP_ON_C	0x0E	//开显示, 开指针  
.................... #define	DISP_ON_B	0x0F	//开显示, 开指针,开闪烁  
.................... #define	DISP_OFF	0x08	//关显示  
.................... #define	CLR_DISP	0x01	//清显示的操作数  
.................... #define	ENTRY_INC	0x06	//操作数  
.................... #define	ENTRY_INC_S	0x07	//操作数  
.................... #define	ENTRY_DEC	0x04	//操作数  
.................... #define	ENTRY_DEC_S	0x05	//操作数  
.................... #define	DD_RAM_ADDR	0x80	//初始化第一行显示的操作数  
.................... #define	DD_RAM_UL	0xc0	//初始化第二行显示的操作数  
.................... //*******************************************************  
.................... int16		TIMER_1=0;  
*
1028:  CLRF   17
102A:  CLRF   18
.................... int8		moniter_Data[11],normal_Data[11];  
.................... int8		sendData[11];  
.................... int1		Check_Data_bit;  
.................... int8		temp;  
.................... int8		flag,jing;  
.................... int16		last_timer,width,haha;  
.................... int8		timeout=0,bit_over=1,bitdata=0;  
102C:  CLRF   44
102E:  MOVLW  01
1030:  MOVWF  45
1032:  CLRF   46
.................... int8		a=0,b=0;  
1034:  CLRF   47
1036:  CLRF   48
....................   
.................... //******************************************************************************************  
.................... //                                          寄存器处理  
.................... //******************************************************************************************  
.................... #byte		ADCON0=0xfc2  
.................... #byte		ADCON1=0xfc1  
.................... #byte		TRISA=0xf92  
.................... #byte		ADRESH=0xfc4  
.................... #byte		STATUS=0xfd8  
.................... #byte		PORTA=0xf80  
.................... #byte		PORTB=0xf81  
.................... #byte		TRISA=0xf92  
.................... #byte		TRISB=0xf93  
.................... #byte		SPBRG=0xfaf  
.................... #byte		TXSTA=0xfac  
.................... #byte		RCSTA=0xfab  
.................... #byte		TRISC=0xf94  
.................... #byte		PIE1=0xf9d  
.................... #byte		RCREG=0xfae  
.................... #define		GO		2  
.................... #define		C		0  
.................... #define		RCIE	5  
.................... #bit		tim3Str=	0xfb1.0  
.................... #bit		over=		flag.0  
.................... #bit	LCD_DB7=    	PORTB.5    
.................... #bit	LCD_DB6=    	PORTB.4    
.................... #bit	LCD_DB5=    	PORTB.3    
.................... #bit	LCD_DB4=    	PORTB.2    
.................... #bit	LCD_E=    		PORTA.5    
.................... #bit	LCD_RS=    		PORTB.1    
.................... #bit	LCD_DB7_DIR=	TRISB.5     
.................... #bit	LCD_DB6_DIR=	TRISB.4     
.................... #bit	LCD_DB5_DIR=	TRISB.3     
.................... #bit	LCD_DB4_DIR=	TRISB.2     
.................... #bit	LCD_E_DIR=		TRISA.5     
.................... #bit	LCD_RS_DIR=		TRISB.1    
.................... #bit	CFE_DIR=		TRISA.2  
.................... #bit	CFE	=			PORTA.2				  
.................... //******************************************************************************************  
.................... //                                          函数声明处理  
.................... //******************************************************************************************  
.................... void moniter(void);  
.................... void moniter_Inti(void);  
.................... void moniter_Clern_Number(void);  
.................... void moniter_Recive(void);  
.................... //******************************************************************************************  
.................... void normal(void);  
.................... void normal_Inti(void);  
.................... void normal_Clern_Number(void);  
.................... void normal_Recive(void);  
.................... //*******************************************************************************  
.................... void simulation_Inti(void);  
.................... void simulation(void);  
.................... void TIMER3_isr(void);  
.................... //*******************************************************************************  
.................... void InitADKEY(void);  
.................... int8 GetADKEY(void);  
.................... void InitLCD(void);  
.................... void putcLCD(int8 Byte);  
.................... void SendCmd(int8 Byte);  
.................... void clrLCD(void);  
.................... void write(int8 Byte);  
.................... //******************************************************************************************  
.................... //                                          监听模块  
.................... //******************************************************************************************  
.................... #INT_CCP1  
.................... void rise (void)  
.................... {  
*
00B0:  NOP(FFFF)
.................... 		if(a==1)  
.................... 	{  
00B2:  DECFSZ 47,W
00B4:  GOTO   0100
.................... 		b=1;  
00B8:  MOVLW  01
00BA:  MOVWF  48
.................... 		if(CCP_1<CCP_2)  
.................... 		{  
00BC:  MOVF   FBF,W
00BE:  SUBWF  FBC,W
00C0:  BTFSS  FD8.0
00C2:  GOTO   00F4
00C6:  BTFSS  FD8.2
00C8:  GOTO   00D6
00CC:  MOVF   FBB,W
00CE:  SUBWF  FBE,W
00D0:  BTFSC  FD8.0
00D2:  GOTO   00F4
.................... 			haha=CCP_1+65536-CCP_2;  
00D6:  MOVF   FBE,W
00D8:  MOVWF  6C
00DA:  MOVF   FBF,W
00DC:  MOVWF  6D
00DE:  MOVLW  01
00E0:  MOVWF  6E
00E2:  CLRF   6F
00E4:  MOVF   FBB,W
00E6:  SUBWF  6C,W
00E8:  MOVWF  42
00EA:  MOVF   FBC,W
00EC:  SUBWFB 6D,W
00EE:  MOVWF  43
.................... 		}  
.................... 		else  
.................... 		{  
00F0:  GOTO   0100
.................... 		haha=CCP_1-CCP_2;  
00F4:  MOVF   FBB,W
00F6:  SUBWF  FBE,W
00F8:  MOVWF  42
00FA:  MOVF   FBC,W
00FC:  SUBWFB FBF,W
00FE:  MOVWF  43
.................... 		}  
.................... 	}  
....................   
.................... 	if(CCP_1<last_timer)  
.................... 	{  
0100:  MOVF   FBF,W
0102:  SUBWF  3F,W
0104:  BTFSS  FD8.0
0106:  GOTO   0138
010A:  BTFSS  FD8.2
010C:  GOTO   011A
0110:  MOVF   3E,W
0112:  SUBWF  FBE,W
0114:  BTFSC  FD8.0
0116:  GOTO   0138
.................... 		width=65536+CCP_1-last_timer;  
011A:  MOVF   FBE,W
011C:  MOVWF  6C
011E:  MOVF   FBF,W
0120:  MOVWF  6D
0122:  MOVLW  01
0124:  MOVWF  6E
0126:  CLRF   6F
0128:  MOVF   3E,W
012A:  SUBWF  6C,W
012C:  MOVWF  40
012E:  MOVF   3F,W
0130:  SUBWFB 6D,W
0132:  MOVWF  41
.................... 	}  
.................... 	else  
.................... 	{  
0134:  GOTO   0144
.................... 		width=CCP_1-last_timer;  
0138:  MOVF   3E,W
013A:  SUBWF  FBE,W
013C:  MOVWF  40
013E:  MOVF   3F,W
0140:  SUBWFB FBF,W
0142:  MOVWF  41
.................... 	}  
.................... 	delay_us(1);  
0144:  NOP   
.................... 	if(width<150||width>320)  
.................... 	{  
0146:  MOVF   41,F
0148:  BTFSS  FD8.2
014A:  GOTO   0158
014E:  MOVF   40,W
0150:  SUBLW  95
0152:  BTFSC  FD8.0
0154:  GOTO   0174
0158:  MOVF   41,W
015A:  SUBLW  00
015C:  BTFSC  FD8.0
015E:  GOTO   01C0
0162:  XORLW  FF
0164:  BTFSS  FD8.2
0166:  GOTO   0174
016A:  MOVF   40,W
016C:  SUBLW  40
016E:  BTFSC  FD8.0
0170:  GOTO   01C0
.................... 		if(width>330&&width<800)  
.................... 		{  
0174:  MOVF   41,W
0176:  SUBLW  00
0178:  BTFSC  FD8.0
017A:  GOTO   01BC
017E:  XORLW  FF
0180:  BTFSS  FD8.2
0182:  GOTO   0190
0186:  MOVF   40,W
0188:  SUBLW  4A
018A:  BTFSC  FD8.0
018C:  GOTO   01BC
0190:  MOVF   41,W
0192:  SUBLW  03
0194:  BTFSS  FD8.0
0196:  GOTO   01BC
019A:  BTFSS  FD8.2
019C:  GOTO   01AA
01A0:  MOVF   40,W
01A2:  SUBLW  1F
01A4:  BTFSS  FD8.0
01A6:  GOTO   01BC
.................... 			bitdata=1;  
01AA:  MOVLW  01
01AC:  MOVWF  46
.................... 			bit_over=1;  
01AE:  MOVWF  45
.................... 			last_timer=CCP_1;  
01B0:  MOVFF  FBF,3F
01B4:  MOVFF  FBE,3E
.................... 		}  
.................... 		else  
.................... 		{  
01B8:  GOTO   01C0
.................... 		timeout=1;  
01BC:  MOVLW  01
01BE:  MOVWF  44
.................... 		}  
.................... 	}  
.................... }  
01C0:  BCF    F9E.2
01C2:  GOTO   006E
.................... #INT_CCP2  
.................... void fall (void)  
.................... {  
01C6:  NOP(FFFF)
.................... 		a=1;  
01C8:  MOVLW  01
01CA:  MOVWF  47
.................... 	if(CCP_2<last_timer)  
.................... 	{  
01CC:  MOVF   FBC,W
01CE:  SUBWF  3F,W
01D0:  BTFSS  FD8.0
01D2:  GOTO   0204
01D6:  BTFSS  FD8.2
01D8:  GOTO   01E6
01DC:  MOVF   3E,W
01DE:  SUBWF  FBB,W
01E0:  BTFSC  FD8.0
01E2:  GOTO   0204
.................... 		width=65536+CCP_2-last_timer;  
01E6:  MOVF   FBB,W
01E8:  MOVWF  70
01EA:  MOVF   FBC,W
01EC:  MOVWF  71
01EE:  MOVLW  01
01F0:  MOVWF  72
01F2:  CLRF   73
01F4:  MOVF   3E,W
01F6:  SUBWF  70,W
01F8:  MOVWF  40
01FA:  MOVF   3F,W
01FC:  SUBWFB 71,W
01FE:  MOVWF  41
.................... 	}  
.................... 	else  
.................... 	{  
0200:  GOTO   0210
.................... 		width=CCP_2-last_timer;  
0204:  MOVF   3E,W
0206:  SUBWF  FBB,W
0208:  MOVWF  40
020A:  MOVF   3F,W
020C:  SUBWFB FBC,W
020E:  MOVWF  41
.................... 	}  
.................... 	delay_us(1);  
0210:  NOP   
.................... 	if(width<150||width>320)  
.................... 	{  
0212:  MOVF   41,F
0214:  BTFSS  FD8.2
0216:  GOTO   0224
021A:  MOVF   40,W
021C:  SUBLW  95
021E:  BTFSC  FD8.0
0220:  GOTO   0240
0224:  MOVF   41,W
0226:  SUBLW  00
0228:  BTFSC  FD8.0
022A:  GOTO   028C
022E:  XORLW  FF
0230:  BTFSS  FD8.2
0232:  GOTO   0240
0236:  MOVF   40,W
0238:  SUBLW  40
023A:  BTFSC  FD8.0
023C:  GOTO   028C
.................... 		if(width>330&&width<800)  
.................... 		{  
0240:  MOVF   41,W
0242:  SUBLW  00
0244:  BTFSC  FD8.0
0246:  GOTO   0288
024A:  XORLW  FF
024C:  BTFSS  FD8.2
024E:  GOTO   025C
0252:  MOVF   40,W
0254:  SUBLW  4A
0256:  BTFSC  FD8.0
0258:  GOTO   0288
025C:  MOVF   41,W
025E:  SUBLW  03

⌨️ 快捷键说明

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