finger.lst

来自「指纹识别源代码,用于智能门紧,还有配合MF800卡使用」· LST 代码 · 共 1,220 行 · 第 1/4 页

LST
1,220
字号
 285   1              delayTimerh(T500MS);    //051017
 286   1              delayTimerh(T500MS);    //051017
 287   1              delayTimerh(T500MS);    //051017
 288   1              delayTimerh(T500MS);    //051017
 289   1              delayTimerh(T500MS);    //051017
 290   1      
 291   1              if(!rchecklink())
 292   1              {
 293   2              }
 294   1              else
 295   1              {
 296   2                      rsetcommstate();
 297   2              }
 298   1              
 299   1              TR2=0;
C51 COMPILER V7.01  FINGER                                                                 03/08/2007 12:09:37 PAGE 6   

 300   1              delayTimerl(T5MS);
 301   1              //TH1=253;
 302   1              RCAP2L=0XEE;
 303   1              delayTimerl(T5MS);
 304   1              TR2=1;
 305   1      
 306   1      }
 307          //////////////////////////////////////////////////////////////
 308          bit rfinduserbyfim()
 309          {
 310   1              unsigned char code commbuff[]={0x81,0x0a,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x28,0x00,0x00,0x00};
 311   1              code2uart0(commbuff,13);
 312   1              //uart0buff[13]=currentsn;
 313   1              //uart0buff[15]=(currentsn>>8);
 314   1              checkcrc(12),
 315   1              sendstring(15);
 316   1              fimrxdready();
 317   1      
 318   1              return getfimpackage(RFINDUSER);
 319   1      
 320   1      }
 321          //////////////////////////////////////////////////////////////
 322          bit rfinduserbysn()
 323          {
 324   1              unsigned char code commbuff[]={0x81,0x0f,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x28,0x00,0x01,0x00,0x00,0x01
             -,0x00,0xff,0x00};
 325   1              code2uart0(commbuff,18);
 326   1              uart0buff[13]=currentsn;
 327   1              uart0buff[15]=(currentsn>>8);
 328   1              checkcrc(17),
 329   1              sendstring(20);
 330   1              fimrxdready();
 331   1      
 332   1              return getfimpackage(RFINDUSER);
 333   1      
 334   1      }
 335          //////////////////////////////////////////////////////////////
 336          //capture the finger and match  the finger whoes sn is currentsn
 337          bit captureandmatchuser()
 338          {
 339   1              displaymessage(LMWAITTING,LINE2);
 340   1              displaymessage(LMPUTFINGER,LINE1);
 341   1              delayTimerh(TMSGWAITTIME);
 342   1      
 343   1              if(!capturecheckimage()) return FALSE;
 344   1              
 345   1              if(!rextractfeature(3,0)) return FALSE;
 346   1                      
 347   1              if(!rfinduserbysn())    return FALSE;
 348   1              
 349   1              return TRUE;
 350   1      
 351   1      }
 352          //////////////////////////////////////////////////////////////
 353          //capture the finger and find  the finger through all users
 354          bit captureandfinduser()
 355          {
 356   1              displaymessage(LMWAITTING,LINE2);
 357   1              displaymessage(LMPUTFINGER,LINE1);
 358   1              delayTimerh(TMSGWAITTIME);
 359   1      
 360   1              if(!capturecheckimage()) return FALSE;
C51 COMPILER V7.01  FINGER                                                                 03/08/2007 12:09:37 PAGE 7   

 361   1              
 362   1              if(!rextractfeature(3,0)) return FALSE;
 363   1                      
 364   1              //if(!rfinduserbysn())  return FALSE;
 365   1              if(!rfinduserbyfim()) return FALSE;
 366   1              
 367   1              return TRUE;
 368   1      
 369   1      }
 370          
 371          //////////////////////////////////////////////////////////////
 372          
 373          
C51 COMPILER V7.01  FINGER                                                                 03/08/2007 12:09:37 PAGE 8   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _getfimpackage (BEGIN)
                                           ; SOURCE LINE # 28
;---- Variable 'cmd' assigned to Register 'R1' ----
0000 C9                XCH     A,R1
0001 EF                MOV     A,R7
0002 C9                XCH     A,R1
                                           ; SOURCE LINE # 29
                                           ; SOURCE LINE # 32
;---- Variable 'temptime' assigned to Register 'R7' ----
0003 AF00        E     MOV     R7,timerh
0005         ?C0001:
                                           ; SOURCE LINE # 33
0005 C3                CLR     C
0006 E500        E     MOV     A,timerh
0008 9F                SUBB    A,R7
0009 C3                CLR     C
000A 9464              SUBB    A,#064H
000C 506B              JNC     ?C0002
                                           ; SOURCE LINE # 34
                                           ; SOURCE LINE # 35
000E 3000F4      E     JNB     rxd0packflag,?C0001
                                           ; SOURCE LINE # 36
                                           ; SOURCE LINE # 39
0011 C200        E     CLR     rxd0packflag
                                           ; SOURCE LINE # 41
0013 900000      E     MOV     DPTR,#uart0buff+02H
0016 E0                MOVX    A,@DPTR
0017 FE                MOV     R6,A
0018 900000      E     MOV     DPTR,#uart0buff+01H
001B E0                MOVX    A,@DPTR
001C FD                MOV     R5,A
001D EE                MOV     A,R6
001E ED                MOV     A,R5
;---- Variable 'datalen' assigned to Register 'R2/R3' ----
001F FB                MOV     R3,A
0020 CA                XCH     A,R2
0021 EE                MOV     A,R6
0022 CA                XCH     A,R2
                                           ; SOURCE LINE # 44
0023 2400        E     ADD     A,#LOW uart0buff+03H
0025 F582              MOV     DPL,A
0027 7400        E     MOV     A,#HIGH uart0buff+03H
0029 3A                ADDC    A,R2
002A F583              MOV     DPH,A
002C E0                MOVX    A,@DPTR
002D F500        R     MOV     tempcrclow,A
                                           ; SOURCE LINE # 45
002F 7400        E     MOV     A,#LOW uart0buff+04H
0031 2B                ADD     A,R3
0032 F582              MOV     DPL,A
0034 7400        E     MOV     A,#HIGH uart0buff+04H
0036 3A                ADDC    A,R2
0037 F583              MOV     DPH,A
0039 E0                MOVX    A,@DPTR
003A F500        R     MOV     tempcrchigh,A
                                           ; SOURCE LINE # 48
003C EB                MOV     A,R3
003D 2402              ADD     A,#02H
003F FF                MOV     R7,A
C51 COMPILER V7.01  FINGER                                                                 03/08/2007 12:09:37 PAGE 9   

0040 E4                CLR     A
0041 3A                ADDC    A,R2
0042 FE                MOV     R6,A
0043 120000      E     LCALL   _checkcrc
                                           ; SOURCE LINE # 50
0046 7400        E     MOV     A,#LOW uart0buff+03H
0048 2B                ADD     A,R3
0049 F582              MOV     DPL,A
004B 7400        E     MOV     A,#HIGH uart0buff+03H
004D 3A                ADDC    A,R2
004E F583              MOV     DPH,A
0050 E0                MOVX    A,@DPTR
0051 6500        R     XRL     A,tempcrclow
0053 7022              JNZ     ?C0004
0055 7400        E     MOV     A,#LOW uart0buff+04H
0057 2B                ADD     A,R3
0058 F582              MOV     DPL,A
005A 7400        E     MOV     A,#HIGH uart0buff+04H
005C 3A                ADDC    A,R2
005D F583              MOV     DPH,A
005F E0                MOVX    A,@DPTR
0060 6500        R     XRL     A,tempcrchigh
0062 7013              JNZ     ?C0004
                                           ; SOURCE LINE # 51
                                           ; SOURCE LINE # 52
0064 900000      E     MOV     DPTR,#uart0buff+09H
0067 E0                MOVX    A,@DPTR
0068 69                XRL     A,R1
0069 6002              JZ      ?C0005
006B C3                CLR     C
006C 22                RET     
006D         ?C0005:
                                           ; SOURCE LINE # 53
006D 900000      E     MOV     DPTR,#uart0buff+0BH
0070 E0                MOVX    A,@DPTR
0071 6002              JZ      ?C0007
0073 C3                CLR     C
0074 22                RET     
0075         ?C0007:
                                           ; SOURCE LINE # 54
0075 D3                SETB    C
0076 22                RET     
                                           ; SOURCE LINE # 55
0077         ?C0004:
                                           ; SOURCE LINE # 56
0077 C3                CLR     C
0078 22                RET     
                                           ; SOURCE LINE # 57
                                           ; SOURCE LINE # 58
0079         ?C0002:
                                           ; SOURCE LINE # 59
0079 C3                CLR     C
                                           ; SOURCE LINE # 61
007A         ?C0006:
007A 22                RET     
             ; FUNCTION _getfimpackage (END)

             ; FUNCTION fimrxdready (BEGIN)
                                           ; SOURCE LINE # 62
                                           ; SOURCE LINE # 63
                                           ; SOURCE LINE # 64
0000 C200        E     CLR     rxd0packflag
C51 COMPILER V7.01  FINGER                                                                 03/08/2007 12:09:37 PAGE 10  

                                           ; SOURCE LINE # 67
0002 22                RET     
             ; FUNCTION fimrxdready (END)

             ; FUNCTION rchecklink (BEGIN)
                                           ; SOURCE LINE # 68
                                           ; SOURCE LINE # 69
                                           ; SOURCE LINE # 75
0000 7E00        R     MOV     R6,#HIGH commbuff
0002 7F00        R     MOV     R7,#LOW commbuff
0004 7D0D              MOV     R5,#0DH
0006 120000      E     LCALL   _code2uart0
                                           ; SOURCE LINE # 76
0009 7F0D              MOV     R7,#0DH
000B 7E00              MOV     R6,#00H
000D 120000      E     LCALL   _sendstring
                                           ; SOURCE LINE # 78
0010 120000      R     LCALL   fimrxdready
                                           ; SOURCE LINE # 79
0013 7F01              MOV     R7,#01H
0015 120000      R     LCALL   _getfimpackage
                                           ; SOURCE LINE # 85
0018         ?C0010:
0018 22                RET     
             ; FUNCTION rchecklink (END)

             ; FUNCTION rsetcommstate (BEGIN)
                                           ; SOURCE LINE # 86
                                           ; SOURCE LINE # 87
                                           ; SOURCE LINE # 89
0000 7E00        R     MOV     R6,#HIGH commbuff
0002 7F00        R     MOV     R7,#LOW commbuff
0004 7D0D              MOV     R5,#0DH
0006 120000      E     LCALL   _code2uart0
                                           ; SOURCE LINE # 90
0009 7F0C              MOV     R7,#0CH
000B 7E00              MOV     R6,#00H
000D 120000      E     LCALL   _checkcrc
                                           ; SOURCE LINE # 91
0010 7F0F              MOV     R7,#0FH
0012 120000      E     LCALL   _sendstring
                                           ; SOURCE LINE # 93
0015 120000      R     LCALL   fimrxdready
                                           ; SOURCE LINE # 94
0018 E4                CLR     A
0019 FF                MOV     R7,A
001A 120000      R     LCALL   _getfimpackage
                                           ; SOURCE LINE # 96
001D         ?C0011:
001D 22                RET     
             ; FUNCTION rsetcommstate (END)

             ; FUNCTION rcapturecheckimage (BEGIN)
                                           ; SOURCE LINE # 110
                                           ; SOURCE LINE # 111
                                           ; SOURCE LINE # 113
0000 7E00        R     MOV     R6,#HIGH commbuff
0002 7F00        R     MOV     R7,#LOW commbuff
0004 7D0B              MOV     R5,#0BH
0006 120000      E     LCALL   _code2uart0
                                           ; SOURCE LINE # 114
0009 7F0A              MOV     R7,#0AH
C51 COMPILER V7.01  FINGER                                                                 03/08/2007 12:09:37 PAGE 11  

000B 7E00              MOV     R6,#00H
000D 120000      E     LCALL   _checkcrc
                                           ; SOURCE LINE # 115
0010 7F0D              MOV     R7,#0DH
0012 120000      E     LCALL   _sendstring
                                           ; SOURCE LINE # 117
0015 120000      R     LCALL   fimrxdready
                                           ; SOURCE LINE # 119
0018 7F10              MOV     R7,#010H
001A 120000      R     LCALL   _getfimpackage
                                           ; SOURCE LINE # 121
001D         ?C0012:
001D 22                RET     
             ; FUNCTION rcapturecheckimage (END)

             ; FUNCTION _rextractfeature (BEGIN)
                                           ; SOURCE LINE # 123

⌨️ 快捷键说明

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