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

📄 user.lst

📁 指纹识别源代码,用于智能门紧,还有配合MF800卡使用
💻 LST
📖 第 1 页 / 共 4 页
字号:
 265          ///////////////////////////////////////////////////////////////////////////////////
 266          
 267          ///////////////////////////////////////////////////////////////////////////////////
 268          ///////////////////////////////////////////////////////////////////////////////////
 269          ///////////////////////////////////////////////////////////////////////////////////
 270          ///////////////////////////////////////////////////////////////////////////////////
 271          ///////////////////////////////////////////////////////////////////////////////////
 272          ///////////////////////////////////////////////////////////////////////////////////
 273          ///////////////////////////////////////////////////////////////////////////////////
 274          ///////////////////////////////////////////////////////////////////////////////////
 275          ///////////////////////////////////////////////////////////////////////////////////
 276          
 277          /*void setemptysn(unsigned short currentsn,unsigned char tempdata)
 278          {
 279                  unsigned char index;
 280                  if(currentsn>=3000)return ;
 281                  
 282                  tempdata|=bittbl[currentsn%8];
 283                  index=currentsn>>8+PSNSTART;
 284          
 285                  uart1buff[16]=tempdata;
 286                  rsetsystemdata(index,1,1);
 287          }
 288          /////////////////////////////////////////////////////////////////////////////////
 289          bit getemptysn(unsigned char direction)
 290          {
 291                  unsigned short tempsn;
 292                  if(rgetsystemdata(PSNSTART,375))
 293                  {
 294                          if(direction)
 295                          {
 296                                  if(currentsn>=3000)tempsn=0;
 297                                  else tempsn=currentsn+1;
 298                                  for(;tempsn<3000;tempsn++)
 299                                  {
 300                                          if(!(uart1buff[PAFIMPARAM+tempsn>>3]&bittbl[currentsn&0x7]))break;
 301                                  }
 302                                  if(tempsn>=3000)return FALSE;
C51 COMPILER V7.01  USER                                                                   03/08/2007 12:09:39 PAGE 6   

 303                          }
 304                          else
 305                          {
 306                                  if(currentsn>=3000)tempsn=2999;
 307                                  else tempsn=currentsn-1;
 308                                  for(;tempsn<3000;tempsn--)
 309                                  {
 310                                          if(!(uart1buff[PAFIMPARAM+tempsn>>3]&bittbl[currentsn&0x7]))break;
 311                                  }
 312                                  if(tempsn>=3000)return FALSE;
 313                          }
 314                          currentsn=tempsn;
 315          
 316                          return TRUE;
 317                  }
 318          }
 319          /////////////////////////////////////////////////////////////////////////////////
 320          bit getusedsn(unsigned char direction)
 321          {
 322                  unsigned short tempsn;
 323                  if(rgetsystemdata(PSNSTART,375))
 324                  {
 325                          if(direction)
 326                          {
 327                                  if(currentsn>=3000)tempsn=0;
 328                                  else tempsn=currentsn+1;
 329                                  for(;tempsn<3000;tempsn++)
 330                                  {
 331                                          if((uart1buff[PAFIMPARAM+tempsn>>3]&bittbl[currentsn&0x7]))break;
 332                                  }
 333                                  if(tempsn>=3000)return FALSE;
 334                          }
 335                          else
 336                          {
 337                                  if(currentsn>=3000)tempsn=2999;
 338                                  else tempsn=currentsn-1;
 339                                  for(;tempsn<3000;tempsn--)
 340                                  {
 341                                          if((uart1buff[PAFIMPARAM+tempsn>>3]&bittbl[currentsn&0x7]))break;
 342                                  }
 343                                  if(tempsn>=3000)return FALSE;
 344                          }
 345                          currentsn=tempsn;
 346          
 347                          return TRUE;
 348                  }
 349          }*/
 350          /////////////////////////////////////////////////////////////////////////////////
 351          
C51 COMPILER V7.01  USER                                                                   03/08/2007 12:09:39 PAGE 7   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _readuserdata (BEGIN)
                                           ; SOURCE LINE # 15
;---- Variable 'usersn' assigned to Register 'R4/R5' ----
0000 CD                XCH     A,R5
0001 EF                MOV     A,R7
0002 CD                XCH     A,R5
0003 CC                XCH     A,R4
0004 EE                MOV     A,R6
0005 CC                XCH     A,R4
                                           ; SOURCE LINE # 16
                                           ; SOURCE LINE # 17
0006 74C0              MOV     A,#0C0H
0008 2D                ADD     A,R5
0009 FD                MOV     R5,A
000A 7401              MOV     A,#01H
000C 3C                ADDC    A,R4
000D FC                MOV     R4,A
                                           ; SOURCE LINE # 18
000E CF                XCH     A,R7
000F ED                MOV     A,R5
0010 CF                XCH     A,R7
0011 CD                XCH     A,R5
0012 EC                MOV     A,R4
0013 CD                XCH     A,R5
0014 120000      E     LCALL   _ram_read8
                                           ; SOURCE LINE # 19
0017 22                RET     
             ; FUNCTION _readuserdata (END)

             ; FUNCTION _writeuserdata (BEGIN)
                                           ; SOURCE LINE # 21
;---- Variable 'usersn' assigned to Register 'R4/R5' ----
0000 CD                XCH     A,R5
0001 EF                MOV     A,R7
0002 CD                XCH     A,R5
0003 CC                XCH     A,R4
0004 EE                MOV     A,R6
0005 CC                XCH     A,R4
                                           ; SOURCE LINE # 22
                                           ; SOURCE LINE # 23
0006 74C0              MOV     A,#0C0H
0008 2D                ADD     A,R5
0009 FD                MOV     R5,A
000A 7401              MOV     A,#01H
000C 3C                ADDC    A,R4
000D FC                MOV     R4,A
                                           ; SOURCE LINE # 24
000E CF                XCH     A,R7
000F ED                MOV     A,R5
0010 CF                XCH     A,R7
0011 CD                XCH     A,R5
0012 EC                MOV     A,R4
0013 CD                XCH     A,R5
0014 120000      E     LCALL   _ram_write8
                                           ; SOURCE LINE # 26
0017 22                RET     
             ; FUNCTION _writeuserdata (END)

             ; FUNCTION _testemptysn (BEGIN)
C51 COMPILER V7.01  USER                                                                   03/08/2007 12:09:39 PAGE 8   

                                           ; SOURCE LINE # 28
;---- Variable 'index' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 29
                                           ; SOURCE LINE # 31
0000 120000      R     LCALL   _readuserdata
                                           ; SOURCE LINE # 32
0003 7800        E     MOV     R0,#LOW tempbuff+08H
0005 E6                MOV     A,@R0
0006 D3                SETB    C
0007 94A0              SUBB    A,#0A0H
0009 5007              JNC     ?C0004
000B 08                INC     R0
000C E6                MOV     A,@R0
000D C3                CLR     C
000E 94A0              SUBB    A,#0A0H
0010 4002              JC      ?C0003
0012         ?C0004:
                                           ; SOURCE LINE # 33
0012 D3                SETB    C
0013 22                RET     
0014         ?C0003:
                                           ; SOURCE LINE # 34
0014 C3                CLR     C
                                           ; SOURCE LINE # 35
0015         ?C0005:
0015 22                RET     
             ; FUNCTION _testemptysn (END)

             ; FUNCTION _getemptysn (BEGIN)
                                           ; SOURCE LINE # 37
;---- Variable 'tempsn' assigned to Register 'R2/R3' ----
;---- Variable 'direction' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 38
                                           ; SOURCE LINE # 41
0000 EF                MOV     A,R7
0001 6401              XRL     A,#01H
0003 703E              JNZ     ?C0007
                                           ; SOURCE LINE # 42
                                           ; SOURCE LINE # 43
0005 C3                CLR     C
0006 E500        E     MOV     A,currentsn+01H
0008 94B8              SUBB    A,#0B8H
000A E500        E     MOV     A,currentsn
000C 940B              SUBB    A,#0BH
000E 4005              JC      ?C0008
0010 E4                CLR     A
0011 FA                MOV     R2,A
0012 FB                MOV     R3,A
0013 8009              SJMP    ?C0010
0015         ?C0008:
                                           ; SOURCE LINE # 44
0015 E500        E     MOV     A,currentsn+01H
0017 2401              ADD     A,#01H
0019 FB                MOV     R3,A
001A E4                CLR     A
001B 3500        E     ADDC    A,currentsn
001D FA                MOV     R2,A
                                           ; SOURCE LINE # 45
001E         ?C0010:
001E C3                CLR     C
001F EB                MOV     A,R3
0020 94B8              SUBB    A,#0B8H
C51 COMPILER V7.01  USER                                                                   03/08/2007 12:09:39 PAGE 9   

0022 EA                MOV     A,R2
0023 940B              SUBB    A,#0BH
0025 5012              JNC     ?C0011
                                           ; SOURCE LINE # 46
                                           ; SOURCE LINE # 47
0027 CF                XCH     A,R7
0028 EB                MOV     A,R3
0029 CF                XCH     A,R7
002A CE                XCH     A,R6
002B EA                MOV     A,R2
002C CE                XCH     A,R6
002D 120000      R     LCALL   _testemptysn
0030 4007              JC      ?C0011
                                           ; SOURCE LINE # 48
0032         ?C0012:
0032 0B                INC     R3
0033 BB0001            CJNE    R3,#00H,?C0088
0036 0A                INC     R2
0037         ?C0088:
0037 80E5              SJMP    ?C0010
0039         ?C0011:
                                           ; SOURCE LINE # 49
0039 C3                CLR     C
003A EB                MOV     A,R3
003B 94B8              SUBB    A,#0B8H
003D EA                MOV     A,R2
003E 940B              SUBB    A,#0BH
0040 4041              JC      ?C0016
0042 22                RET     
                                           ; SOURCE LINE # 50
0043         ?C0007:
                                           ; SOURCE LINE # 52
                                           ; SOURCE LINE # 53
0043 C3                CLR     C
0044 E500        E     MOV     A,currentsn+01H
0046 94B8              SUBB    A,#0B8H
0048 E500        E     MOV     A,currentsn
004A 940B              SUBB    A,#0BH
004C 4006              JC      ?C0017
004E 7A0B              MOV     R2,#0BH
0050 7BB7              MOV     R3,#0B7H
0052 800A              SJMP    ?C0019
0054         ?C0017:
                                           ; SOURCE LINE # 54
0054 E500        E     MOV     A,currentsn+01H
0056 24FF              ADD     A,#0FFH
0058 FB                MOV     R3,A
0059 E500        E     MOV     A,currentsn
005B 34FF              ADDC    A,#0FFH
005D FA                MOV     R2,A
                                           ; SOURCE LINE # 55
005E         ?C0019:
005E C3                CLR     C
005F EB                MOV     A,R3
0060 94B8              SUBB    A,#0B8H
0062 EA                MOV     A,R2
0063 940B              SUBB    A,#0BH
0065 5012              JNC     ?C0020
                                           ; SOURCE LINE # 56
                                           ; SOURCE LINE # 57
0067 CF                XCH     A,R7
0068 EB                MOV     A,R3
C51 COMPILER V7.01  USER                                                                   03/08/2007 12:09:39 PAGE 10  

⌨️ 快捷键说明

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