📄 main.mil
字号:
//main.c,217 :: }
L_Enroll_Users_Fingerprint_22:
//main.c,218 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,219 :: seconds_delay(1);
FARG_Seconds_Delay+0 <- 1
CALL _Seconds_Delay
//main.c,220 :: Clear_Buffer_Registers();
CALL _Clear_Buffer_Registers
//main.c,221 :: Show_EEPROM_Stored_Messages(1,0x80);
FARG_Show_EEPROM_Stored_Messages+0 <- 1
FARG_Show_EEPROM_Stored_Messages+1 <- 128
CALL _Show_EEPROM_Stored_Messages
//main.c,222 :: Show_EEPROM_Stored_Messages(2,0xa0);
FARG_Show_EEPROM_Stored_Messages+0 <- 2
FARG_Show_EEPROM_Stored_Messages+1 <- 160
CALL _Show_EEPROM_Stored_Messages
//main.c,223 :: data_frame[1] = 0x03; //scan for the last time
_data_frame+1 <- 3
//main.c,224 :: data_frame[2] = 0; // this byte is MSB of the user number
_data_frame+2 <- 0
//main.c,225 :: data_frame[3] = number; // this byte is LSB of the user number
_data_frame+3 <- FARG_Enroll_Users_Fingerprint+0
//main.c,226 :: data_frame[4] = 1; // set priveledge to 1
_data_frame+4 <- 1
//main.c,227 :: Construct_Scanner_Command();
CALL _Construct_Scanner_Command
//main.c,228 :: Transmit_Command_to_Scanner();
CALL _Transmit_Command_to_Scanner
//main.c,229 :: Receive_Response_from_Scanner();
CALL _Receive_Response_from_Scanner
//main.c,230 :: if (data_frame[4])
if (!_data_frame+4) then goto L_Enroll_Users_Fingerprint_23
//main.c,232 :: error = 1;
Enroll_Users_Fingerprint_error_L0 <- 1
//main.c,233 :: }
L_Enroll_Users_Fingerprint_23:
//main.c,234 :: return error;
STACK_0 <- Enroll_Users_Fingerprint_error_L0
return
end
_Adjust_Acceptance_level:
begin
//main.c,241 :: data_frame[1] = 0x28; // adjust recognitio level command
_data_frame+1 <- 40
//main.c,242 :: data_frame[2] = 0; // this byte is MSB of the user number
_data_frame+2 <- 0
//main.c,243 :: data_frame[3] = 9; // strictest level
_data_frame+3 <- 9
//main.c,244 :: data_frame[4] = 0;
_data_frame+4 <- 0
//main.c,245 :: Construct_Scanner_Command();
CALL _Construct_Scanner_Command
//main.c,246 :: retry4:Transmit_Command_to_Scanner();
___Adjust_Acceptance_level_retry4:
CALL _Transmit_Command_to_Scanner
//main.c,247 :: Receive_Response_from_Scanner();
CALL _Receive_Response_from_Scanner
//main.c,248 :: if (data_frame[4])
if (_data_frame+4) then goto ___Adjust_Acceptance_level_retry4
//main.c,251 :: }
L_Adjust_Acceptance_level_24:
end
_Send_Scan_Fingerprint_Command:
begin
//main.c,258 :: data_frame[1] = 0x0c; // scan finger print command
_data_frame+1 <- 12
//main.c,259 :: data_frame[2] = 0;
_data_frame+2 <- 0
//main.c,260 :: data_frame[3] = 0; //scan sample up to three times
_data_frame+3 <- 0
//main.c,261 :: data_frame[4] = 0; //write data
_data_frame+4 <- 0
//main.c,262 :: Construct_Scanner_Command();
CALL _Construct_Scanner_Command
//main.c,263 :: Transmit_Command_to_Scanner();
CALL _Transmit_Command_to_Scanner
//main.c,264 :: Receive_Response_from_Scanner();
CALL _Receive_Response_from_Scanner
end
_main:
begin
//main.c,271 :: ADCON1 = 0x06;
ADCON1 <- 6
//main.c,272 :: TRISA = 0x01;
TRISA <- 1
//main.c,273 :: TRISB = 0;
TRISB <- 0
//main.c,274 :: TRISC = 0x30;
TRISC <- 48
//main.c,275 :: TRISD = 0x04;
TRISD <- 4
//main.c,276 :: TRISE = 0;
TRISE <- 0
//main.c,277 :: PORTA = 0;
PORTA <- 0
//main.c,278 :: PORTB = 0;
PORTB <- 0
//main.c,279 :: PORTC = 0;
PORTC <- 0
//main.c,280 :: PORTD = 0;
PORTD <- 0
//main.c,281 :: PORTE = 0;
PORTE <- 0
//main.c,282 :: Seconds_Delay(2);
FARG_Seconds_Delay+0 <- 2
CALL _Seconds_Delay
//main.c,283 :: user_number = 0;
_user_number <- 0
//main.c,284 :: Usart_Init(19200);
SPBRG <- 25
asm: BSF TXSTA, BRGH
CALL _Usart_Init
//main.c,285 :: PIE1.RCIE = 1;
PIE1 <- PIE1 | 32
//main.c,286 :: LCD_Init (&PORTB);
FARG_Lcd_Init+0 <- 0
CALL _Lcd_Init
//main.c,287 :: LCD_Cmd(LCD_CURSOR_OFF);
FARG_Lcd_Cmd+0 <- 12
CALL _Lcd_Cmd
//main.c,288 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,289 :: LCD_Out(1,1," INITIALIZING ");
FARG_LCD_Out+0 <- 1
FARG_LCD_Out+1 <- 1
FARG_LCD_Out+2 <- 0
CALL _LCD_Out
//main.c,290 :: LCD_Out(2,1," PLEASE WAIT ");
FARG_LCD_Out+0 <- 2
FARG_LCD_Out+1 <- 1
FARG_LCD_Out+2 <- 0
CALL _LCD_Out
//main.c,291 :: PWM_Init (1000);
asm: BSF T2CON, T2CKPS0
asm: BSF T2CON, T2CKPS1
asm: MOVLW 124
asm: MOVWF PR2
CALL _PWM_Init
//main.c,292 :: Pwm_Change_Duty(50);
FARG_PWM_Change_Duty+0 <- 50
CALL _PWM_Change_Duty
//main.c,293 :: PWM_Start();
CALL _PWM_Start
//main.c,294 :: Seconds_Delay(4);
FARG_Seconds_Delay+0 <- 4
CALL _Seconds_Delay
//main.c,295 :: Delete_Specific_User(0);
FARG_Delete_Specific_User+0 <- 0
CALL _Delete_Specific_User
//main.c,296 :: Set_Enroll_Sampling_Counts();
CALL _Set_Enroll_Sampling_Counts
//main.c,297 :: Disable_Scanners_Timeout();
CALL _Disable_Scanners_Timeout
//main.c,298 :: Adjust_Acceptance_level();
CALL _Adjust_Acceptance_level
//main.c,299 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,300 :: while (1)
L_main_25:
//main.c,302 :: event = 0;
_event <- 0
//main.c,303 :: pc_supply_control = off;
PORTC <- PORTC & -9
//main.c,304 :: while (!event)
L_main_27:
if (_event) then goto L_main_28
//main.c,306 :: if (PORTD.F3)
if (!PORTD) then goto L_main_29
//main.c,308 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,309 :: Show_Splash_message();
CALL _Show_Splash_message
//main.c,310 :: seconds_delay(1);
FARG_Seconds_Delay+0 <- 1
CALL _Seconds_Delay
//main.c,311 :: Delete_Specific_User(1);
FARG_Delete_Specific_User+0 <- 1
CALL _Delete_Specific_User
//main.c,312 :: Delete_Specific_User(4);
FARG_Delete_Specific_User+0 <- 4
CALL _Delete_Specific_User
//main.c,313 :: user_number = 1; //user1 right finger print location
_user_number <- 1
//main.c,314 :: Enroll_Users_Fingerprint(user_number); //enroll the finger print user 1
FARG_Enroll_Users_Fingerprint+0 <- 1
CALL _Enroll_Users_Fingerprint
//main.c,315 :: user_number = 4; //user1 left finger print location
_user_number <- 4
//main.c,316 :: Enroll_Users_Fingerprint(user_number); //enroll the finger print user 1
FARG_Enroll_Users_Fingerprint+0 <- 4
CALL _Enroll_Users_Fingerprint
//main.c,317 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,318 :: Show_EEPROM_Stored_Messages(1,0xb0);
FARG_Show_EEPROM_Stored_Messages+0 <- 1
FARG_Show_EEPROM_Stored_Messages+1 <- 176
CALL _Show_EEPROM_Stored_Messages
//main.c,319 :: seconds_delay(5);
FARG_Seconds_Delay+0 <- 5
CALL _Seconds_Delay
//main.c,320 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,321 :: event = 1;
_event <- 1
//main.c,322 :: }
L_main_29:
//main.c,323 :: if ((PORTC & 0x30) == 0x10)
STACK_1 <- PORTC & 48
if ( STACK_1 != 16) then goto L_main_30
//main.c,325 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,326 :: Show_Splash_message();
CALL _Show_Splash_message
//main.c,327 :: seconds_delay(1);
FARG_Seconds_Delay+0 <- 1
CALL _Seconds_Delay
//main.c,328 :: Delete_Specific_User(2);
FARG_Delete_Specific_User+0 <- 2
CALL _Delete_Specific_User
//main.c,329 :: Delete_Specific_User(5);
FARG_Delete_Specific_User+0 <- 5
CALL _Delete_Specific_User
//main.c,330 :: user_number = 2; //user1 right finger print location
_user_number <- 2
//main.c,331 :: Enroll_Users_Fingerprint(user_number); //enroll the finger print user 1
FARG_Enroll_Users_Fingerprint+0 <- 2
CALL _Enroll_Users_Fingerprint
//main.c,332 :: user_number = 5; //user1 left finger print location
_user_number <- 5
//main.c,333 :: Enroll_Users_Fingerprint(user_number); //enroll the finger print user 1
FARG_Enroll_Users_Fingerprint+0 <- 5
CALL _Enroll_Users_Fingerprint
//main.c,334 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,335 :: Show_EEPROM_Stored_Messages(1,0xb0);
FARG_Show_EEPROM_Stored_Messages+0 <- 1
FARG_Show_EEPROM_Stored_Messages+1 <- 176
CALL _Show_EEPROM_Stored_Messages
//main.c,336 :: seconds_delay(5);
FARG_Seconds_Delay+0 <- 5
CALL _Seconds_Delay
//main.c,337 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,338 :: event = 1;
_event <- 1
//main.c,339 :: }
L_main_30:
//main.c,340 :: if ((PORTC & 0x30) == 0x20)
STACK_1 <- PORTC & 48
if ( STACK_1 != 32) then goto L_main_31
//main.c,342 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,343 :: Show_Splash_message();
CALL _Show_Splash_message
//main.c,344 :: seconds_delay(1);
FARG_Seconds_Delay+0 <- 1
CALL _Seconds_Delay
//main.c,345 :: Delete_Specific_User(3);
FARG_Delete_Specific_User+0 <- 3
CALL _Delete_Specific_User
//main.c,346 :: Delete_Specific_User(6);
FARG_Delete_Specific_User+0 <- 6
CALL _Delete_Specific_User
//main.c,347 :: user_number = 3; //user1 right finger print location
_user_number <- 3
//main.c,348 :: Enroll_Users_Fingerprint(user_number); //enroll the finger print user 1
FARG_Enroll_Users_Fingerprint+0 <- 3
CALL _Enroll_Users_Fingerprint
//main.c,349 :: user_number = 6; //user1 left finger print location
_user_number <- 6
//main.c,350 :: Enroll_Users_Fingerprint(user_number); //enroll the finger print user 1
FARG_Enroll_Users_Fingerprint+0 <- 6
CALL _Enroll_Users_Fingerprint
//main.c,351 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,352 :: Show_EEPROM_Stored_Messages(1,0xb0);
FARG_Show_EEPROM_Stored_Messages+0 <- 1
FARG_Show_EEPROM_Stored_Messages+1 <- 176
CALL _Show_EEPROM_Stored_Messages
//main.c,353 :: seconds_delay(5);
FARG_Seconds_Delay+0 <- 5
CALL _Seconds_Delay
//main.c,354 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,355 :: event = 1;
_event <- 1
//main.c,356 :: }
L_main_31:
//main.c,357 :: if ((PORTC & 0x30) == 0x30)//PIR1.RCIF)
STACK_1 <- PORTC & 48
if ( STACK_1 != 48) then goto L_main_32
//main.c,359 :: LCD_Out(1,1," PLACE FINGER ");
FARG_LCD_Out+0 <- 1
FARG_LCD_Out+1 <- 1
FARG_LCD_Out+2 <- 0
CALL _LCD_Out
//main.c,360 :: LCD_Out(2,1," ON THE SCANNER ");
FARG_LCD_Out+0 <- 2
FARG_LCD_Out+1 <- 1
FARG_LCD_Out+2 <- 0
CALL _LCD_Out
//main.c,361 :: Send_Scan_Fingerprint_Command();
CALL _Send_Scan_Fingerprint_Command
//main.c,362 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,363 :: if (data_frame[3] == 1 ||data_frame[3] == 4)
if ( _data_frame+3 = 1) then goto L455_ex_L_main_35
if ( _data_frame+3 != 4) then goto L_main_35
L455_ex_L_main_35:
//main.c,365 :: Show_Welcome_String();
CALL _Show_Welcome_String
//main.c,366 :: Show_EEPROM_Stored_Messages(2,0);
FARG_Show_EEPROM_Stored_Messages+0 <- 2
FARG_Show_EEPROM_Stored_Messages+1 <- 0
CALL _Show_EEPROM_Stored_Messages
//main.c,367 :: Boot_Computer();
CALL _Boot_Computer
//main.c,368 :: goto exit
goto ___main_exit
//main.c,369 :: }
L_main_35:
//main.c,370 :: if (data_frame[3] == 2 || data_frame[3] == 5)
if ( _data_frame+3 = 2) then goto L473_ex_L_main_38
if ( _data_frame+3 != 5) then goto L_main_38
L473_ex_L_main_38:
//main.c,372 :: Show_Welcome_String();
CALL _Show_Welcome_String
//main.c,373 :: Show_EEPROM_Stored_Messages(2,0x10);
FARG_Show_EEPROM_Stored_Messages+0 <- 2
FARG_Show_EEPROM_Stored_Messages+1 <- 16
CALL _Show_EEPROM_Stored_Messages
//main.c,374 :: Boot_Computer();
CALL _Boot_Computer
//main.c,375 :: goto exit
goto ___main_exit
//main.c,376 :: }
L_main_38:
//main.c,377 :: if (data_frame[3] == 3 ||data_frame[3] == 6)
if ( _data_frame+3 = 3) then goto L491_ex_L_main_41
if ( _data_frame+3 != 6) then goto L_main_41
L491_ex_L_main_41:
//main.c,379 :: Show_Welcome_String();
CALL _Show_Welcome_String
//main.c,380 :: Show_EEPROM_Stored_Messages(2,0x20);
FARG_Show_EEPROM_Stored_Messages+0 <- 2
FARG_Show_EEPROM_Stored_Messages+1 <- 32
CALL _Show_EEPROM_Stored_Messages
//main.c,381 :: Boot_Computer();
CALL _Boot_Computer
//main.c,382 :: goto exit
goto ___main_exit
//main.c,383 :: }
L_main_41:
//main.c,384 :: Show_EEPROM_Stored_Messages(1,0x30);
FARG_Show_EEPROM_Stored_Messages+0 <- 1
FARG_Show_EEPROM_Stored_Messages+1 <- 48
CALL _Show_EEPROM_Stored_Messages
//main.c,385 :: exit: Seconds_Delay (3);
___main_exit:
FARG_Seconds_Delay+0 <- 3
CALL _Seconds_Delay
//main.c,386 :: LCD_Cmd(LCD_CLEAR);
FARG_Lcd_Cmd+0 <- 1
CALL _Lcd_Cmd
//main.c,387 :: Clear_Buffer_Registers();
CALL _Clear_Buffer_Registers
//main.c,388 :: event = 1;
_event <- 1
//main.c,389 :: }
L_main_32:
//main.c,390 :: }
goto L_main_27
L_main_28:
//main.c,391 :: }
goto L_main_25
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -