inout.lst

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

LST
1,164
字号
 274   2              }
 275   1              
 276   1      
 277   1      }
 278          /////////////////////////////////////////////////////////////////////////////
 279          void tamperchk()
 280          {
 281   1              if(!TAMPER)
 282   1              {
 283   2                      if(!tamperfirst)tamperlowfirst=0;
 284   2                      else
 285   2                      {
 286   3                              if(tamperlowfirst)
 287   3                              {
 288   4                                      tamperlowfirst=0;
 289   4                                      tamperchktimer=timerl;
 290   4                              }
 291   3                              else
 292   3                              {
 293   4                                      if((timerl-tamperchktimer)<TTAMPERDELAYTIME)return;
 294   4                                      tamperfirst=0;
 295   4                                      instate|=bittbl[TAMPERCOUNT];
 296   4      
 297   4                                      //Here add codes when tamper switch opened
 298   4                                      if(setflag)return;
 299   4                                      accessevent(EVENTINPUT|MESSAGETAMPER);
 300   4                                      
 301   4                              }
 302   3                      }
C51 COMPILER V7.01  INOUT                                                                  03/08/2007 12:09:38 PAGE 6   

 303   2              }
 304   1              else
 305   1              {
 306   2                      if(tamperfirst)tamperlowfirst=1;
 307   2                      else
 308   2                      {
 309   3                              //if(tamperlowfirst)    //051126
 310   3                              if(!tamperlowfirst)             //051126
 311   3                              {
 312   4                                      tamperlowfirst=1;
 313   4                                      tamperchktimer=timerl;
 314   4                              }
 315   3                              else
 316   3                              {
 317   4                                      if((timerl-tamperchktimer)<TTAMPERDELAYTIME)return;
 318   4                                      tamperfirst=1;
 319   4                                      instate&=~bittbl[TAMPERCOUNT];
 320   4                              }
 321   3                      }
 322   2              }
 323   1              
 324   1      }
 325          /////////////////////////////////////////////////////////////////////////////
 326          bit getiodata(unsigned char ioindex)
 327          {
 328   1              unsigned char i;
 329   1      
 330   1              if(ioindex>=16)return FALSE;
 331   1              ioindex*=5;
 332   1      
 333   1              for(i=0;i<5;i++)
 334   1              {
 335   2                      tempbuff[i]=ram_readp0(ioindex+i);
 336   2                      if(tempbuff[i]>99)
 337   2                      {
 338   3                              tempbuff[i]=0;
 339   3                              ram_writep0(ioindex+i,0);
 340   3                      }
 341   2              }
 342   1      }
 343          /////////////////////////////////////////////////////////////////////////
 344          void checksaveio(unsigned char ioindex)
 345          {
 346   1              unsigned char i;
 347   1              if(ioindex>=16)return;
 348   1              ioindex*=5;
 349   1              
 350   1              for(i=0;i<5;i++)
 351   1              {
 352   2                      tempbuff[i]=(dispbuff[LINE2][tblsetioposi[i*2]]-0x30)*10+dispbuff[LINE2][tblsetioposi[i*2+1]]-0x30;
 353   2                      if(tempbuff[i]>99)return;
 354   2              }
 355   1              
 356   1              for(i=0;i<5;i++)
 357   1              {
 358   2                      ram_writep0(ioindex+i,tempbuff[i]);
 359   2              }
 360   1              
 361   1      }
 362          /////////////////////////////////////////////////////////////////////////
 363          void init_inout()
 364          {
C51 COMPILER V7.01  INOUT                                                                  03/08/2007 12:09:38 PAGE 7   

 365   1              exitfirst=1;
 366   1              aux1first=1;
 367   1              aux2first=1;
 368   1              contactfirst=1;
 369   1              tamperfirst=1;
 370   1      
 371   1      }
 372          /////////////////////////////////////////////////////////////////////////
 373          
C51 COMPILER V7.01  INOUT                                                                  03/08/2007 12:09:38 PAGE 8   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION clearoutput (BEGIN)
                                           ; SOURCE LINE # 44
                                           ; SOURCE LINE # 45
                                           ; SOURCE LINE # 46
0000 C200        E     CLR     doorunlockflag
                                           ; SOURCE LINE # 47
0002 C200        E     CLR     alarmonflag
                                           ; SOURCE LINE # 48
0004 C200        E     CLR     ttl1onflag
                                           ; SOURCE LINE # 49
0006 C200        E     CLR     ttl2onflag
                                           ; SOURCE LINE # 50
0008 C200        E     CLR     beeponflag
                                           ; SOURCE LINE # 52
000A E4                CLR     A
000B F500        E     MOV     doorontimer,A
                                           ; SOURCE LINE # 53
000D F500        E     MOV     alarmontimer,A
                                           ; SOURCE LINE # 54
000F F500        E     MOV     ttl1ontimer,A
                                           ; SOURCE LINE # 55
0011 F500        E     MOV     ttl2ontimer,A
                                           ; SOURCE LINE # 56
0013 F500        E     MOV     beepontimer,A
                                           ; SOURCE LINE # 59
0015 120000      E     LCALL   lockdoor
                                           ; SOURCE LINE # 60
0018 7F01              MOV     R7,#01H
001A 120000      E     LCALL   _clr_373
                                           ; SOURCE LINE # 61
001D 0F                INC     R7
001E 120000      E     LCALL   _clr_373
                                           ; SOURCE LINE # 62
0021 0F                INC     R7
0022 120000      E     LCALL   _clr_373
                                           ; SOURCE LINE # 63
0025 0F                INC     R7
0026 120000      E     LCALL   _clr_373
                                           ; SOURCE LINE # 65
0029 22                RET     
             ; FUNCTION clearoutput (END)

             ; FUNCTION cleariodef (BEGIN)
                                           ; SOURCE LINE # 67
                                           ; SOURCE LINE # 68
                                           ; SOURCE LINE # 70
;---- Variable 'i' assigned to Register 'R6' ----
0000 E4                CLR     A
0001 FE                MOV     R6,A
0002         ?C0002:
                                           ; SOURCE LINE # 71
                                           ; SOURCE LINE # 72
0002 CF                XCH     A,R7
0003 EE                MOV     A,R6
0004 CF                XCH     A,R7
0005 EE                MOV     A,R6
0006 900000      R     MOV     DPTR,#tblinoutcode
0009 93                MOVC    A,@A+DPTR
000A FD                MOV     R5,A
C51 COMPILER V7.01  INOUT                                                                  03/08/2007 12:09:38 PAGE 9   

000B 120000      E     LCALL   _ram_writep0
                                           ; SOURCE LINE # 73
000E 0E                INC     R6
000F BE50F0            CJNE    R6,#050H,?C0002
                                           ; SOURCE LINE # 74
0012         ?C0005:
0012 22                RET     
             ; FUNCTION cleariodef (END)

             ; FUNCTION exitchk (BEGIN)
                                           ; SOURCE LINE # 76
                                           ; SOURCE LINE # 77
                                           ; SOURCE LINE # 78
0000 20B22B            JB      EXIT,?C0006
                                           ; SOURCE LINE # 79
                                           ; SOURCE LINE # 80
0003 200003      R     JB      exitfirst,?C0007
0006 C200        R     CLR     exitlowfirst
0008 22                RET     
0009         ?C0007:
                                           ; SOURCE LINE # 82
                                           ; SOURCE LINE # 83
0009 300006      R     JNB     exitlowfirst,?C0009
                                           ; SOURCE LINE # 84
                                           ; SOURCE LINE # 85
000C C200        R     CLR     exitlowfirst
                                           ; SOURCE LINE # 86
000E 850000      R     MOV     exitchktimer,timerl
                                           ; SOURCE LINE # 87
0011 22                RET     
0012         ?C0009:
                                           ; SOURCE LINE # 89
                                           ; SOURCE LINE # 90
0012 C3                CLR     C
0013 E500        E     MOV     A,timerl
0015 9500        R     SUBB    A,exitchktimer
0017 C3                CLR     C
0018 9403              SUBB    A,#03H
001A 4035              JC      ?C0012
001C         ?C0011:
                                           ; SOURCE LINE # 91
001C C200        R     CLR     exitfirst
                                           ; SOURCE LINE # 93
001E 900000      E     MOV     DPTR,#bittbl
0021 E4                CLR     A
0022 93                MOVC    A,@A+DPTR
0023 4200        R     ORL     instate,A
                                           ; SOURCE LINE # 94
0025 200029      E     JB      setflag,?C0012
0028         ?C0013:
                                           ; SOURCE LINE # 96
0028 7F60              MOV     R7,#060H
002A 120000      E     LCALL   _accessevent
                                           ; SOURCE LINE # 97
                                           ; SOURCE LINE # 98
                                           ; SOURCE LINE # 99
002D 22                RET     
002E         ?C0006:
                                           ; SOURCE LINE # 101
                                           ; SOURCE LINE # 102
002E 300003      R     JNB     exitfirst,?C0015
0031 D200        R     SETB    exitlowfirst
C51 COMPILER V7.01  INOUT                                                                  03/08/2007 12:09:38 PAGE 10  

0033 22                RET     
0034         ?C0015:
                                           ; SOURCE LINE # 104
                                           ; SOURCE LINE # 106
0034 200006      R     JB      exitlowfirst,?C0017
                                           ; SOURCE LINE # 107
                                           ; SOURCE LINE # 108
0037 D200        R     SETB    exitlowfirst
                                           ; SOURCE LINE # 109
0039 850000      R     MOV     exitchktimer,timerl
                                           ; SOURCE LINE # 110
003C 22                RET     
003D         ?C0017:
                                           ; SOURCE LINE # 112
                                           ; SOURCE LINE # 113
003D C3                CLR     C
003E E500        E     MOV     A,timerl
0040 9500        R     SUBB    A,exitchktimer
0042 C3                CLR     C
0043 9403              SUBB    A,#03H
0045 400A              JC      ?C0012
0047         ?C0019:
                                           ; SOURCE LINE # 114
0047 D200        R     SETB    exitfirst
                                           ; SOURCE LINE # 115
0049 900000      E     MOV     DPTR,#bittbl
004C E4                CLR     A
004D 93                MOVC    A,@A+DPTR
004E F4                CPL     A
004F 5200        R     ANL     instate,A
                                           ; SOURCE LINE # 116
                                           ; SOURCE LINE # 117
                                           ; SOURCE LINE # 118
                                           ; SOURCE LINE # 119
0051         ?C0012:
0051 22                RET     
             ; FUNCTION exitchk (END)

             ; FUNCTION aux1chk (BEGIN)
                                           ; SOURCE LINE # 121
                                           ; SOURCE LINE # 122
                                           ; SOURCE LINE # 123
0000 20962B            JB      AUX1,?C0020
                                           ; SOURCE LINE # 124
                                           ; SOURCE LINE # 125
0003 200003      R     JB      aux1first,?C0021
0006 C200        R     CLR     aux1lowfirst
0008 22                RET     
0009         ?C0021:
                                           ; SOURCE LINE # 127
                                           ; SOURCE LINE # 128
0009 300006      R     JNB     aux1lowfirst,?C0023
                                           ; SOURCE LINE # 129
                                           ; SOURCE LINE # 130
000C C200        R     CLR     aux1lowfirst
                                           ; SOURCE LINE # 131
000E 850000      R     MOV     aux1chktimer,timerl

⌨️ 快捷键说明

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