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

📄 main.lst

📁 An applicaion that utilize a fingerprint scanner to turn off the PC
💻 LST
📖 第 1 页 / 共 5 页
字号:
;main.c,129 :: 		void Delete_Specific_User(unsigned short number)
;main.c,131 :: 		data_frame[1] = 0x04; // delete user command
$0286	$3004			MOVLW	4
$0287	$1303			BCF	STATUS, RP1
$0288	$1283			BCF	STATUS, RP0
$0289	$00A3			MOVWF	_data_frame+1
;main.c,132 :: 		data_frame[2] = 0; // this byte is MSB of the user number
$028A	$01A4			CLRF	_data_frame+2, 1
;main.c,133 :: 		data_frame[3] = number; // this byte is LSB of the user number
$028B	$082E			MOVF	FARG_Delete_Specific_User+0, 0
$028C	$00A5			MOVWF	_data_frame+3
;main.c,134 :: 		data_frame[4] = 0;
$028D	$01A6			CLRF	_data_frame+4, 1
;main.c,135 :: 		Construct_Scanner_Command();
$028E	$2125			CALL	_Construct_Scanner_Command
;main.c,136 :: 		retry1:Transmit_Command_to_Scanner();
$028F	$	___Delete_Specific_User_retry1:
$028F	$212E			CALL	_Transmit_Command_to_Scanner
;main.c,137 :: 		Receive_Response_from_Scanner();
$0290	$213E			CALL	_Receive_Response_from_Scanner
;main.c,138 :: 		if (data_frame[4])
$0291	$0826			MOVF	_data_frame+4, 0
$0292	$1D03			BTFSS	STATUS, Z
$0293	$2A8F			GOTO	___Delete_Specific_User_retry1
;main.c,141 :: 		}
$0294	$	L_Delete_Specific_User_16:
;main.c,142 :: 		}
$0294	$0008			RETURN
$0295	$	_Set_Enroll_Sampling_Counts:
;main.c,159 :: 		void Set_Enroll_Sampling_Counts()
;main.c,161 :: 		data_frame[1] = 0x2d; // enroll sampling command
$0295	$302D			MOVLW	45
$0296	$1303			BCF	STATUS, RP1
$0297	$1283			BCF	STATUS, RP0
$0298	$00A3			MOVWF	_data_frame+1
;main.c,162 :: 		data_frame[2] = 0;
$0299	$01A4			CLRF	_data_frame+2, 1
;main.c,163 :: 		data_frame[3] = 0;  //scan sample up to three times
$029A	$01A5			CLRF	_data_frame+3, 1
;main.c,164 :: 		data_frame[4] = 0;  //write data
$029B	$01A6			CLRF	_data_frame+4, 1
;main.c,165 :: 		Construct_Scanner_Command();
$029C	$2125			CALL	_Construct_Scanner_Command
;main.c,166 :: 		retry3:Transmit_Command_to_Scanner();
$029D	$	___Set_Enroll_Sampling_Counts_retry3:
$029D	$212E			CALL	_Transmit_Command_to_Scanner
;main.c,167 :: 		Receive_Response_from_Scanner();
$029E	$213E			CALL	_Receive_Response_from_Scanner
;main.c,168 :: 		if (data_frame[4])
$029F	$0826			MOVF	_data_frame+4, 0
$02A0	$1D03			BTFSS	STATUS, Z
$02A1	$2A9D			GOTO	___Set_Enroll_Sampling_Counts_retry3
;main.c,171 :: 		}
$02A2	$	L_Set_Enroll_Sampling_Counts_18:
;main.c,172 :: 		}
$02A2	$0008			RETURN
$02A3	$	_Disable_Scanners_Timeout:
;main.c,144 :: 		void Disable_Scanners_Timeout()
;main.c,146 :: 		data_frame[1] = 0x2e; // change timeout command
$02A3	$302E			MOVLW	46
$02A4	$1303			BCF	STATUS, RP1
$02A5	$1283			BCF	STATUS, RP0
$02A6	$00A3			MOVWF	_data_frame+1
;main.c,147 :: 		data_frame[2] = 0;
$02A7	$01A4			CLRF	_data_frame+2, 1
;main.c,148 :: 		data_frame[3] = 0; // timeout is disabled
$02A8	$01A5			CLRF	_data_frame+3, 1
;main.c,149 :: 		data_frame[4] = 0; // write data
$02A9	$01A6			CLRF	_data_frame+4, 1
;main.c,150 :: 		Construct_Scanner_Command();
$02AA	$2125			CALL	_Construct_Scanner_Command
;main.c,151 :: 		retry2:Transmit_Command_to_Scanner();
$02AB	$	___Disable_Scanners_Timeout_retry2:
$02AB	$212E			CALL	_Transmit_Command_to_Scanner
;main.c,152 :: 		Receive_Response_from_Scanner();
$02AC	$213E			CALL	_Receive_Response_from_Scanner
;main.c,153 :: 		if (data_frame[4])
$02AD	$0826			MOVF	_data_frame+4, 0
$02AE	$1D03			BTFSS	STATUS, Z
$02AF	$2AAB			GOTO	___Disable_Scanners_Timeout_retry2
;main.c,156 :: 		}
$02B0	$	L_Disable_Scanners_Timeout_17:
;main.c,157 :: 		}
$02B0	$0008			RETURN
$02B1	$	_Adjust_Acceptance_level:
;main.c,239 :: 		void Adjust_Acceptance_level()
;main.c,241 :: 		data_frame[1] = 0x28; // adjust recognitio level command
$02B1	$3028			MOVLW	40
$02B2	$1303			BCF	STATUS, RP1
$02B3	$1283			BCF	STATUS, RP0
$02B4	$00A3			MOVWF	_data_frame+1
;main.c,242 :: 		data_frame[2] = 0; // this byte is MSB of the user number
$02B5	$01A4			CLRF	_data_frame+2, 1
;main.c,243 :: 		data_frame[3] = 9; // strictest level
$02B6	$3009			MOVLW	9
$02B7	$00A5			MOVWF	_data_frame+3
;main.c,244 :: 		data_frame[4] = 0;
$02B8	$01A6			CLRF	_data_frame+4, 1
;main.c,245 :: 		Construct_Scanner_Command();
$02B9	$2125			CALL	_Construct_Scanner_Command
;main.c,246 :: 		retry4:Transmit_Command_to_Scanner();
$02BA	$	___Adjust_Acceptance_level_retry4:
$02BA	$212E			CALL	_Transmit_Command_to_Scanner
;main.c,247 :: 		Receive_Response_from_Scanner();
$02BB	$213E			CALL	_Receive_Response_from_Scanner
;main.c,248 :: 		if (data_frame[4])
$02BC	$0826			MOVF	_data_frame+4, 0
$02BD	$1D03			BTFSS	STATUS, Z
$02BE	$2ABA			GOTO	___Adjust_Acceptance_level_retry4
;main.c,251 :: 		}
$02BF	$	L_Adjust_Acceptance_level_24:
;main.c,252 :: 		}
$02BF	$0008			RETURN
$02C0	$	_Show_Splash_message:
$02C0	$3020			MOVLW	32
$02C1	$1303			BCF	STATUS, RP1
$02C2	$1283			BCF	STATUS, RP0
$02C3	$00AE			MOVWF	lstr1_main+0
$02C4	$3020			MOVLW	32
$02C5	$00AF			MOVWF	lstr1_main+1
$02C6	$3046			MOVLW	70
$02C7	$00B0			MOVWF	lstr1_main+2
$02C8	$3049			MOVLW	73
$02C9	$00B1			MOVWF	lstr1_main+3
$02CA	$304E			MOVLW	78
$02CB	$00B2			MOVWF	lstr1_main+4
$02CC	$3047			MOVLW	71
$02CD	$00B3			MOVWF	lstr1_main+5
$02CE	$3045			MOVLW	69
$02CF	$00B4			MOVWF	lstr1_main+6
$02D0	$3052			MOVLW	82
$02D1	$00B5			MOVWF	lstr1_main+7
$02D2	$3020			MOVLW	32
$02D3	$00B6			MOVWF	lstr1_main+8
$02D4	$3050			MOVLW	80
$02D5	$00B7			MOVWF	lstr1_main+9
$02D6	$3052			MOVLW	82
$02D7	$00B8			MOVWF	lstr1_main+10
$02D8	$3049			MOVLW	73
$02D9	$00B9			MOVWF	lstr1_main+11
$02DA	$304E			MOVLW	78
$02DB	$00BA			MOVWF	lstr1_main+12
$02DC	$3054			MOVLW	84
$02DD	$00BB			MOVWF	lstr1_main+13
$02DE	$3020			MOVLW	32
$02DF	$00BC			MOVWF	lstr1_main+14
$02E0	$3020			MOVLW	32
$02E1	$00BD			MOVWF	lstr1_main+15
$02E2	$01BE			CLRF	lstr1_main+16
$02E3	$3020			MOVLW	32
$02E4	$00BF			MOVWF	lstr2_main+0
$02E5	$3020			MOVLW	32
$02E6	$00C0			MOVWF	lstr2_main+1
$02E7	$3020			MOVLW	32
$02E8	$00C1			MOVWF	lstr2_main+2
$02E9	$3045			MOVLW	69
$02EA	$00C2			MOVWF	lstr2_main+3
$02EB	$304E			MOVLW	78
$02EC	$00C3			MOVWF	lstr2_main+4
$02ED	$3052			MOVLW	82
$02EE	$00C4			MOVWF	lstr2_main+5
$02EF	$304F			MOVLW	79
$02F0	$00C5			MOVWF	lstr2_main+6
$02F1	$304C			MOVLW	76
$02F2	$00C6			MOVWF	lstr2_main+7
$02F3	$304C			MOVLW	76
$02F4	$00C7			MOVWF	lstr2_main+8
$02F5	$304D			MOVLW	77
$02F6	$00C8			MOVWF	lstr2_main+9
$02F7	$3045			MOVLW	69
$02F8	$00C9			MOVWF	lstr2_main+10
$02F9	$304E			MOVLW	78
$02FA	$00CA			MOVWF	lstr2_main+11
$02FB	$3054			MOVLW	84
$02FC	$00CB			MOVWF	lstr2_main+12
$02FD	$3020			MOVLW	32
$02FE	$00CC			MOVWF	lstr2_main+13
$02FF	$3020			MOVLW	32
$0300	$00CD			MOVWF	lstr2_main+14
$0301	$3020			MOVLW	32
$0302	$00CE			MOVWF	lstr2_main+15
$0303	$01CF			CLRF	lstr2_main+16
;main.c,15 :: 		void Show_Splash_message()
;main.c,17 :: 		LCD_Out(1,1,"  FINGER PRINT  ");
$0304	$3001			MOVLW	1
$0305	$00D0			MOVWF	FARG_LCD_Out+0
$0306	$3001			MOVLW	1
$0307	$00D1			MOVWF	FARG_LCD_Out+1
$0308	$302E			MOVLW	lstr1_main
$0309	$00D2			MOVWF	FARG_LCD_Out+2
$030A	$2166			CALL	_LCD_Out
;main.c,18 :: 		LCD_Out(2,1,"   ENROLLMENT   ");
$030B	$3002			MOVLW	2
$030C	$00D0			MOVWF	FARG_LCD_Out+0
$030D	$3001			MOVLW	1
$030E	$00D1			MOVWF	FARG_LCD_Out+1
$030F	$303F			MOVLW	lstr2_main
$0310	$00D2			MOVWF	FARG_LCD_Out+2
$0311	$2166			CALL	_LCD_Out
;main.c,19 :: 		}
$0312	$0008			RETURN
$0313	$	_Enroll_Users_Fingerprint:
;main.c,174 :: 		unsigned short Enroll_Users_Fingerprint(unsigned short number)
;main.c,177 :: 		error = 0;
$0313	$1303			BCF	STATUS, RP1
$0314	$1283			BCF	STATUS, RP0
$0315	$01AF			CLRF	Enroll_Users_Fingerprint_error_L0, 1
;main.c,178 :: 		Clear_Buffer_Registers();
$0316	$2079			CALL	_Clear_Buffer_Registers
;main.c,179 :: 		if (number <= 3)
$0317	$082E			MOVF	FARG_Enroll_Users_Fingerprint+0, 0
$0318	$3C03			SUBLW	3
$0319	$1C03			BTFSS	STATUS, C
$031A	$2B25			GOTO	L_Enroll_Users_Fingerprint_19
;main.c,181 :: 		Show_EEPROM_Stored_Messages(1,0x40);
$031B	$3001			MOVLW	1
$031C	$00D0			MOVWF	FARG_Show_EEPROM_Stored_Messages+0
$031D	$3040			MOVLW	64
$031E	$00D1			MOVWF	FARG_Show_EEPROM_Stored_Messages+1
$031F	$21A9			CALL	_Show_EEPROM_Stored_Messages
;main.c,182 :: 		Show_EEPROM_Stored_Messages(2,0x50);
$0320	$3002			MOVLW	2
$0321	$00D0			MOVWF	FARG_Show_EEPROM_Stored_Messages+0
$0322	$3050			MOVLW	80
$0323	$00D1			MOVWF	FARG_Show_EEPROM_Stored_Messages+1
$0324	$21A9			CALL	_Show_EEPROM_Stored_Messages
;main.c,183 :: 		}
$0325	$	L_Enroll_Users_Fingerprint_19:
;main.c,184 :: 		if (number >= 4)
$0325	$3004			MOVLW	4
$0326	$022E			SUBWF	FARG_Enroll_Users_Fingerprint+0, 0
$0327	$1C03			BTFSS	STATUS, C
$0328	$2B33			GOTO	L_Enroll_Users_Fingerprint_20
;main.c,186 :: 		Show_EEPROM_Stored_Messages(1,0x60);
$0329	$3001			MOVLW	1
$032A	$00D0			MOVWF	FARG_Show_EEPROM_Stored_Messages+0
$032B	$3060			MOVLW	96
$032C	$00D1			MOVWF	FARG_Show_EEPROM_Stored_Messages+1
$032D	$21A9			CALL	_Show_EEPROM_Stored_Messages
;main.c,187 :: 		Show_EEPROM_Stored_Messages(2,0x70);
$032E	$3002			MOVLW	2
$032F	$00D0			MOVWF	FARG_Show_EEPROM_Stored_Messages+0
$0330	$3070			MOVLW	112
$0331	$00D1			MOVWF	FARG_Show_EEPROM_Stored_Messages+1
$0332	$21A9			CALL	_Show_EEPROM_Stored_Messages
;main.c,188 :: 		}
$0333	$	L_Enroll_Users_Fingerprint_20:
;main.c,189 :: 		data_frame[1] = 0x01; //scan for the 1st time
$0333	$3001			MOVLW	1
$0334	$00A3			MOVWF	_data_frame+1
;main.c,190 :: 		data_frame[2] = 0; // this byte is MSB of the user number
$0335	$01A4			CLRF	_data_frame+2, 1
;main.c,191 :: 		data_frame[3] = number; // this byte is LSB of the user number
$0336	$082E			MOVF	FARG_Enroll_Users_Fingerprint+0, 0
$0337	$00A5			MOVWF	_data_frame+3
;main.c,192 :: 		data_frame[4] = 1;   // set priveledge to 1 (optional)
$0338	$3001			MOVLW	1
$0339	$00A6			MOVWF	_data_frame+4
;main.c,193 :: 		Construct_Scanner_Command();
$033A	$2125			CALL	_Construct_Scanner_Command
;main.c,194 :: 		Transmit_Command_to_Scanner();
$033B	$212E			CALL	_Transmit_Command_to_Scanner
;main.c,195 :: 		Receive_Response_from_Scanner();
$033C	$213E			CALL	_Receive_Response_from_Scanner
;main.c,196 :: 		if (data_frame[4])
$033D	$0826			MOVF	_data_frame+4, 0
$033E	$1903			BTFSC	STATUS, Z
$033F	$2B45			GOTO	L_Enroll_Users_Fingerprint_21
;main.c,198 :: 		error = 1;
$0340	$3001			MOVLW	1
$0341	$00AF			MOVWF	Enroll_Users_Fingerprint_error_L0
;main.c,199 :: 		return error;
$0342	$3001			MOVLW	1
$0343	$00F0			MOVWF	STACK_0
$0344	$0008			RETURN
;main.c,200 :: 		}
$0345	$	L_Enroll_Users_Fingerprint_21:
;main.c,201 :: 		LCD_Cmd(LCD_CLEAR);
$0345	$3001			MOVLW	1
$0346	$00D7			MOVWF	FARG_Lcd_Cmd+0
$0347	$201F			CALL	_Lcd_Cmd
;main.c,202 :: 		Clear_Buffer_Registers();
$0348	$2079			CALL	_Clear_Buffer_Registers
;main.c,203 :: 		seconds_delay(1);
$0349	$3001			MOVLW	1
$034A	$00D0			MOVWF	FARG_Seconds_Delay+0
$034B	$21CA			CALL	_Seconds_Delay
;main.c,204 :: 		Show_EEPROM_Stored_Messages(1,0x80);
$034C	$3001			MOVLW	1
$034D	$00D0			MOVWF	FARG_Show_EEPROM_Stored_Messages+0
$034E	$3080			MOVLW	128
$034F	$00D1			MOVWF	FARG_Show_EEPROM_Stored_Messages+1
$0350	$21A9			CALL	_Show_EEPROM_Stored_Messages
;main.c,205 :: 		Show_EEPROM_Stored_Messages(2,0x90);
$0351	$3002			MOVLW	2
$0352	$00D0			MOVWF	FARG_Show_EEPROM_Stored_Messages+0
$0353	$3090			MOVLW	144
$0354	$00D1			MOVWF	FARG_Show_EEPROM_Stored_Messages+1
$0355	$21A9			CALL	_Show_EEPROM_Stored_Messages
;main.c,206 :: 		data_frame[1] = 0x02;  //scan for the second time
$0356	$3002			MOVLW	2
$0357	$00A3			MOVWF	_data_frame+1
;main.c,207 :: 		data_frame[2] = 0; // this byte is MSB of the user number
$0358	$01A4			CLRF	_data_frame+2, 1
;main.c,208 :: 		data_frame[3] = number; // this byte is LSB of the user number
$0359	$082E			MOVF	FARG_Enroll_Users_Fingerprint+0, 0
$035A	$00A5			MOVWF	_data_frame+3
;main.c,209 :: 		data_frame[4] = 1;   // set priveledge to 1
$035B	$3001			MOVLW	1
$035C	$00A6			MOVWF	_data_frame+4
;main.c,210 :: 		Construct_Scanner_Command();
$035D	$2125			CALL	_Construct_Scanner_Command
;main.c,211 :: 		Transmit_Command_to_Scanner();
$035E	$212E			CALL	_Transmit_Command_to_Scanner
;main.c,212 :: 		Receive_Response_from_Scanner();
$035F	$213E			CALL	_Receive_Response_from_Scanner
;main.c,213 :: 		if (data_frame[4])
$0360	$0826			MOVF	_data_frame+4, 0
$0361	$1903			BTFSC	STATUS, Z
$0362	$2B68			GOTO	L_Enroll_Users_Fingerprint_22
;main.c,215 :: 		error = 1;
$0363	$3001			MOVLW	1
$0364	$00AF			MOVWF	Enroll_Users_Fingerprint_error_L0
;main.c,216 :: 		return error;
$0365	$3001			MOVLW	1
$0366	$00F0			MOVWF	STACK_0
$0367	$0008			RETURN
;main.c,217 :: 		}
$0368	$	L_Enroll_Users_Fingerprint_22:
;main.c,218 :: 		LCD_Cmd(LCD_CLEAR);
$0368	$3001			MOVLW	1
$0369	$00D7			MOVWF	FARG_Lcd_Cmd+0
$036A	$201F			CALL	_Lcd_Cmd
;main.c,219 :: 		seconds_delay(1);
$036B	$3001			MOVLW	1
$036C	$00D0			MOVWF	FARG_Seconds_Delay+0
$036D	$21CA			CALL	_Seconds_Delay
;main.c,220 :: 		Clear_Buffer_Registers();
$036E	$2079			CALL	_Clear_Buffer_Registers
;main.c,221 :: 		Show_EEPROM_Stored_Messages(1,0x80);
$036F	$3001			MOVLW	1
$0370	$00D0			MOVWF	FARG_Show_EEPROM_Stored_Messages+0
$0371	$3080			MOVLW	128
$0372	$00D1			MOVWF	FARG_Show_EEPROM_Stored_Messages+1
$0373	$21A9			CALL	_Show_EEPROM_Stored_Messages
;main.c,222 :: 		Show_EEPROM_Stored_Messages(2,0xa0);
$0374	$3002			MOVLW	2
$0375	$00D0			MOVWF	FARG_Show_EEPROM_Stored_Messages+0
$0376	$30A0			MOVLW	160
$0377	$00D1			MOVWF	FARG_Show_EEPROM_Stored_Messages+1
$0378	$21A9			CALL	_Show_EEPROM_Stored_Messages
;main.c,223 :: 		data_frame[1] = 0x03;  //scan for the last time
$0379	$3003			MOVLW	3
$037A	$00A3			MOVWF	_data_frame+1
;main.c,224 :: 		data_frame[2] = 0; // this byte is MSB of the user number
$037B	$01A4			CLRF	_data_frame+2, 1
;main.c,225 :: 		data_frame[3] = number; // this byte is LSB of the user number
$037C	$082E			MOVF	FARG_Enroll_Users_Fingerprint+0, 0
$037D	$00A5			MOVWF	_data_frame+3
;main.c,226 :: 		data_frame[4] = 1;   // set priveledge to 1
$037E	$3001			MOVLW	1
$037F	$00A6			MOVWF	_data_frame+4
;main.c,227 :: 		Construct_Scanner_Command();
$0380	$2125			CALL	_Construct_Scanner_Command
;main.c,228 :: 		Transmit_Command_to_Scanner();
$0381	$212E			CALL	_Transmit_Command_to_Scanner
;main.c,229 :: 		Receive_Response_from_Scanner();
$0382	$213E			CALL	_Receive_Response_from_Scanner
;main.c,230 :: 		if (data_frame[4])
$0383	$0826			MOVF	_data_frame+4, 0
$0384	$1903			BTFSC	STATUS, Z
$0385	$2B88			GOTO	L_Enroll_Users_Fingerprint_23
;main.c,232 :: 		error = 1;
$0386	$3001			MOVLW	1
$0387	$00AF			MOVWF	Enroll_Users_Fingerprint_error_L0
;main.c,233 :: 		}
$0388	$	L_Enroll_Users_Fingerprint_23:
;main.c,234 :: 		return error;
$0388	$082F			MOVF	Enroll_Users_Fingerprint_error_L0, 0
$0389	$00F0			MOVWF	STACK_0
;main.c,237 :: 		}
$038A	$0008			RETURN
$038B	$	_Send_Scan_Fingerprint_Command:
;main.c,254 :: 		void Send_Scan_Fingerprint_Command()
;main.c,258 :: 		data_frame[1] = 0x0c; // scan finger print command
$038B	$300C			MOVLW	12
$038C	$1303			BCF	STATUS, RP1
$038D	$1283			BCF	STATUS, RP0
$038E	$00A3			MOVWF	_data_frame+1
;main.c,259 :: 		data_frame[2] = 0;
$038F	$01A4			CLRF	_data_frame+2, 1
;main.c,260 :: 		data_frame[3] = 0;  //scan sample up to three times

⌨️ 快捷键说明

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