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

📄 pccomm.lst

📁 指纹识别源代码,用于智能门紧,还有配合MF800卡使用
💻 LST
📖 第 1 页 / 共 5 页
字号:
 545          //////////////////////////////////////////////////////////////
 546          void pcok()
 547          {
 548   1              if(removeeventflag)
 549   1              {
 550   2                      removeeventflag=0;
C51 COMPILER V7.01  PCCOMM                                                                 03/08/2007 12:09:39 PAGE 10  

 551   2                      removeoneevent();
 552   2              }
 553   1              else if(removeuserflag)
 554   1              {
 555   2                      changenewuser();
 556   2                      removeuserflag=0;
 557   2              }
 558   1              //do nothing
 559   1      }
 560          //////////////////////////////////////////////////////////////
 561          void pcchecklink()
 562          {
 563   1              ackpccmd(PCACHECKLINK,RETOK,0);
 564   1      }
 565          //////////////////////////////////////////////////////////////
 566          void pcsetholindex()
 567          {
 568   1              uart02idata(PCPACKAGEPARAMP,tempbuff,10);
 569   1      
 570   1              ram_write16(TSHOLINDEXSTART/16,0);
 571   1              ackpccmd(PCASETHOLINDEX,RETOK,0);
 572   1      }
 573          //////////////////////////////////////////////////////////////
 574          void pcgetusernum()
 575          {
 576   1              unsigned short tempdata;
 577   1              
 578   1              tempdata=getusernum();
 579   1      
 580   1              uart0buff[PCPACKAGEPARAMP]=tempdata;
 581   1              uart0buff[PCPACKAGEPARAMP+1]=tempdata>>8;
 582   1              ackpccmd(PCAGETUSERNUM,RETOK,2);
 583   1      }
 584          //////////////////////////////////////////////////////////////
 585          /*unsigned short code pcpackagelen[]=
 586          {
 587                  PCANPLEN,PCANPLEN+512,PCANPLEN,PCANPLEN+4,
 588                  PCANPLEN+8,PCANPLEN+161,PCANPLEN+65,PCANPLEN,
 589                  PCANPLEN+1,PCANPLEN+1,PCANPLEN,PCANPLEN,
 590                  PCANPLEN,PCANPLEN,PCANPLEN+2,PCANPLEN+2,
 591                  PCANPLEN+96,PCANPLEN+1,PCANPLEN+1,PCANPLEN,
 592                  PCANPLEN,PCANPLEN+1,PCANPLEN,PCANPLEN+1,
 593                  PCANPLEN
 594          };
 595          */
 596          //////////////////////////////////////////////////////////////
 597          void deal_pccomm()
 598          {
 599   1              unsigned char tempcrclow,tempcrchigh;
 600   1              unsigned short datalen;
 601   1              
 602   1              if(setflag)return;
 603   1              
 604   1              datalen=(uart0buff[2]<<8)|uart0buff[1];
 605   1              tempcrclow=uart0buff[datalen+1];
 606   1              tempcrchigh=uart0buff[datalen+2];
 607   1              checkcrc(datalen);
 608   1              if(tempcrclow!=uart0buff[datalen+1]||tempcrchigh!=uart0buff[datalen+2])return ;
 609   1              if(uart0buff[PCPACKAGEIDP]!=readcommid())return;
 610   1      
 611   1              //if(datalen!=pcpackagelen[uart0buff[PCPACKAGECMDP]])return;
 612   1      
C51 COMPILER V7.01  PCCOMM                                                                 03/08/2007 12:09:39 PAGE 11  

 613   1              switch(uart0buff[PCPACKAGECMDP])
 614   1              {
 615   2      
 616   2              case    PCRGETNEWEVENT: pcgetnewevent();break;
 617   2              case    PCRSETNEWUSER:  pcsetnewuser();break;
 618   2              case    PCRGETNEWUSER:  pcgetnewuser();break;
 619   2              case    PCRGETUSER:             pcgetuser();break;
 620   2              case    PCRSETDATETIME: pcsetdatetime();break;
 621   2              case    PCRSETTS:               pcsetts();break;
 622   2              case    PCRSETHOLIDAY:  pcsetholiday();break;
 623   2              case    PCRGETDATE:             pcgetdate();break;
 624   2              case    PCRGETTS:               pcgetts();break;
 625   2              case    PCRGETHOLIDAY:  pcgetholiday();break;
 626   2              case    PCRSYSINIT:             pcsysinit();break;
 627   2              case    PCRIDCLEAR:             pcidclear();break;
 628   2              case    PCRTSCLEAR:             pctsclear();break;
 629   2              case    PCREVENTCLEAR:  pceventclear();break;
 630   2              case    PCRSETMODE:             pcsetmode();break;
 631   2              case    PCRSETDURESS:   pcsetduress();break;
 632   2              case    PCRSETINOUT:    pcsetinout();break;
 633   2              case    PCRSETAPB:              pcsetapb();break;
 634   2              case    PCRSETKEY:              pcsetkey();break;
 635   2              case    PCRGETKEY:              pcgetkey();break;
 636   2              case    PCRGETDOOR:             pcgetdoor();break;
 637   2              case    PCRSETDOOR:             pcsetdoor();break;
 638   2              case    PCRSETRAM:              pcsetram();break;
 639   2              case    PCRSETFUNC:             pcsetfunc();break;
 640   2              case    PCOK:                   pcok();break;
 641   2              case    PCRGETSTATE:            pcgetstate();break;
 642   2              case    PCRCHECKLINK:   pcchecklink();break;
 643   2              case    PCRGETINOUT:    pcgetinout();break;
 644   2              case    PCRSETHOLINDEX: pcsetholindex();break;
 645   2              case    PCRGETUSERNUM:  pcgetusernum();break;
 646   2              case    PCRGETALLUSER:  pcgetalluser();break;
 647   2              default:        break;
 648   2              }
 649   1      }
 650          ///////////////////////////////////////////////////////////
 651          
C51 COMPILER V7.01  PCCOMM                                                                 03/08/2007 12:09:39 PAGE 12  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION pcgetstate (BEGIN)
                                           ; SOURCE LINE # 42
                                           ; SOURCE LINE # 43
                                           ; SOURCE LINE # 45
0000 7F00        E     MOV     R7,#LOW datetime
0002 7B08              MOV     R3,#08H
0004 7D0C              MOV     R5,#0CH
0006 120000      E     LCALL   _idata2uart0
                                           ; SOURCE LINE # 46
0009 120000      E     LCALL   readsecumode
000C 900000      E     MOV     DPTR,#uart0buff+014H
000F EF                MOV     A,R7
0010 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 47
0011 120000      E     LCALL   readbaudrate
0014 A3                INC     DPTR
0015 EF                MOV     A,R7
0016 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 48
0017 120000      E     LCALL   readpinkeyin
001A A3                INC     DPTR
001B EF                MOV     A,R7
001C F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 49
001D 120000      E     LCALL   readapbmode
0020 A3                INC     DPTR
0021 EF                MOV     A,R7
0022 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 50
0023 A3                INC     DPTR
0024 7401              MOV     A,#01H
0026 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 51
0027 E4                CLR     A
0028 A3                INC     DPTR
0029 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 52
002A 7B0E              MOV     R3,#0EH
002C FA                MOV     R2,A
002D FD                MOV     R5,A
002E 7F19              MOV     R7,#019H
0030 120000      E     LCALL   _ackpccmd
                                           ; SOURCE LINE # 53
0033 22                RET     
             ; FUNCTION pcgetstate (END)

             ; FUNCTION fpdatapc2fim (BEGIN)
                                           ; SOURCE LINE # 55
                                           ; SOURCE LINE # 56
                                           ; SOURCE LINE # 60
0000 7E00        E     MOV     R6,#HIGH uart0buff+01F3H
0002 7F00        E     MOV     R7,#LOW uart0buff+01F3H
;---- Variable 'pchar' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 61
;---- Variable 'i' assigned to Register 'R4/R5' ----
0004 E4                CLR     A
0005 FD                MOV     R5,A
0006 FC                MOV     R4,A
0007         ?C0002:
C51 COMPILER V7.01  PCCOMM                                                                 03/08/2007 12:09:39 PAGE 13  

                                           ; SOURCE LINE # 62
                                           ; SOURCE LINE # 63
0007 8F82              MOV     DPL,R7
0009 8E83              MOV     DPH,R6
000B E0                MOVX    A,@DPTR
000C FB                MOV     R3,A
000D E582              MOV     A,DPL
000F 2418              ADD     A,#018H
0011 F582              MOV     DPL,A
0013 E4                CLR     A
0014 3583              ADDC    A,DPH
0016 F583              MOV     DPH,A
0018 EB                MOV     A,R3
0019 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 64
001A EF                MOV     A,R7
001B 1F                DEC     R7
001C 7001              JNZ     ?C0134
001E 1E                DEC     R6
001F         ?C0134:
                                           ; SOURCE LINE # 65
001F 0D                INC     R5
0020 BD0001            CJNE    R5,#00H,?C0135
0023 0C                INC     R4
0024         ?C0135:
0024 BC01E0            CJNE    R4,#01H,?C0002
0027 BDE0DD            CJNE    R5,#0E0H,?C0002
                                           ; SOURCE LINE # 66
002A         ?C0005:
002A 22                RET     
             ; FUNCTION fpdatapc2fim (END)

             ; FUNCTION pcsetnewuser (BEGIN)
                                           ; SOURCE LINE # 69
                                           ; SOURCE LINE # 70
                                           ; SOURCE LINE # 71
0000 900000      E     MOV     DPTR,#uart0buff+013H
0003 E0                MOVX    A,@DPTR
0004 540F              ANL     A,#0FH
0006 6061              JZ      ?C0006
                                           ; SOURCE LINE # 72
                                           ; SOURCE LINE # 73
0008 7D00        E     MOV     R5,#LOW tempbuff
000A 7B08              MOV     R3,#08H
000C 7F0C              MOV     R7,#0CH
000E 120000      E     LCALL   _uart02idata
                                           ; SOURCE LINE # 74
0011 120000      E     LCALL   getuserbytempid
0014 5021              JNC     ?C0007
                                           ; SOURCE LINE # 75
                                           ; SOURCE LINE # 79
0016 120000      E     LCALL   deleteuserbysn
                                           ; SOURCE LINE # 80
0019 7800        E     MOV     R0,#LOW tempbuff+0FH
001B E6                MOV     A,@R0
001C 540F              ANL     A,#0FH
001E 600E              JZ      ?C0008
                                           ; SOURCE LINE # 81
                                           ; SOURCE LINE # 82
0020 7D00        E     MOV     R5,#LOW tempbuff
0022 7B08              MOV     R3,#08H
0024 7F0C              MOV     R7,#0CH
C51 COMPILER V7.01  PCCOMM                                                                 03/08/2007 12:09:39 PAGE 14  

0026 120000      E     LCALL   _uart02idata
                                           ; SOURCE LINE # 83
0029 120000      E     LCALL   rdeleteuserbysn
                                           ; SOURCE LINE # 84
002C 8009              SJMP    ?C0007
002E         ?C0008:
                                           ; SOURCE LINE # 86
                                           ; SOURCE LINE # 87
002E 7D00        E     MOV     R5,#LOW tempbuff
0030 7B08              MOV     R3,#08H
0032 7F0C              MOV     R7,#0CH
0034 120000      E     LCALL   _uart02idata
                                           ; SOURCE LINE # 88
                                           ; SOURCE LINE # 89
0037         ?C0007:
                                           ; SOURCE LINE # 91
0037 120000      E     LCALL   adduser
003A 5022              JNC     ?C0010
                                           ; SOURCE LINE # 92
                                           ; SOURCE LINE # 94
003C 120000      R     LCALL   fpdatapc2fim
                                           ; SOURCE LINE # 95
003F 7F01              MOV     R7,#01H
0041 120000      E     LCALL   _radduser
0044 500A              JNC     ?C0011
0046 E4                CLR     A
0047 FB                MOV     R3,A
0048 FA                MOV     R2,A
0049 FD                MOV     R5,A
004A 7F01              MOV     R7,#01H
004C 120000      E     LCALL   _ackpccmd
004F 22                RET     
0050         ?C0011:
                                           ; SOURCE LINE # 97
                                           ; SOURCE LINE # 98
0050 120000      E     LCALL   deleteuserbysn
                                           ; SOURCE LINE # 99
0053 E4                CLR     A
0054 FB                MOV     R3,A
0055 FA                MOV     R2,A
0056 7D02              MOV     R5,#02H
0058 7F01              MOV     R7,#01H
005A 120000      E     LCALL   _ackpccmd
                                           ; SOURCE LINE # 100

⌨️ 快捷键说明

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