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

📄 setup.lst

📁 指纹识别源代码,用于智能门紧,还有配合MF800卡使用
💻 LST
📖 第 1 页 / 共 5 页
字号:
 461   3                              if(keynumber==ENTER)
 462   3                              {
 463   4                                      submenuflag=0;
 464   4                                      ram_writep0(DURESSMODE,setcount);
 465   4      
 466   4                                      if(setcount)setduresspwdisp();
 467   4                                      else setduressdisp();   //setduress(0xff);
 468   4                                      
 469   4                              }
 470   3                              else if(keynumber==CANCEL)
 471   3                              {
 472   4                                      //submenuflag=0;
 473   4                                      clearsetup();
 474   4                                      setduressdisp();
 475   4                              }
 476   3                              else if(keynumber==NUMBER6)
 477   3                              {
 478   4                                      setcount++;
 479   4                                      if(setcount>=MAXDURESSSEL)setcount=0;
 480   4                                      setduressdisp();
 481   4                              }
 482   3                              else if(keynumber==NUMBER4)
 483   3                              {
 484   4                                      setcount--;
 485   4                                      if(setcount>=MAXDURESSSEL)setcount=MAXDURESSSEL-1;
 486   4                                      setduressdisp();
 487   4                              }
 488   3                      }
C51 COMPILER V7.01  SETUP                                                                  03/08/2007 12:09:38 PAGE 9   

 489   2              }
 490   1      }
 491          /////////////////////////////////////////////////////////////////////////////////
 492          /*void displaybcd(unsigned char * pbcddata,unsigned char count,unsigned char startposi)
 493          {
 494                  unsigned char i,line;
 495                  if(startposi>=32)return;
 496          
 497                  if(startposi>=16)
 498                  {
 499                          line=LINE2;
 500                          startposi-=16;
 501                  }
 502                  else    line=LINE1;
 503          
 504                  for(i=0;i<count;i++)
 505                  {
 506                          if(i&1)dispbuff[line][i+startposi]=*(pbcddata+i/2)&0xf+0x30;
 507                          else dispbuff[line][i+startposi]=*(pbcddata+i/2)>>4+0x30;
 508                  }
 509          }*/
 510          /////////////////////////////////////////////////////////////////////////////////
 511          void setduresspwdisp()
 512          {
 513   1              if(!submenuflag)
 514   1              {
 515   2                      setupitem=SETDURESSPW;
 516   2                      displaymessage(LMSETDURESSPW,LINE1);
 517   2                      displaymessage(LMBLANK,LINE2);
 518   2                      //here display the password
 519   2                      displayshort(readduresspw(),2,23);
 520   2              }
 521   1              else
 522   1              {               //here display the edited password
 523   2                      display(LINE2);
 524   2              }
 525   1      }
 526          /////////////////////////////////////////////////////////////////////////////////
 527          void setduresspw()
 528          {
 529   1              unsigned char tempdata;
 530   1      
 531   1              if(keynumber==0xff)setduresspwdisp();
 532   1              else
 533   1              {
 534   2                      if(!submenuflag)
 535   2                      {
 536   3                              if(keynumber==ENTER)
 537   3                              {
 538   4                                      submenuflag=1;
 539   4                                      setcount=0;
 540   4                                      lcdcuron(DURESSPWSTARTP,LINE2);
 541   4                              }
 542   3                              else if(keynumber==CANCEL)terminatesetup();
 543   3                              else if(keynumber==NUMBER6)setbaudratedisp();
 544   3                              else if(keynumber==NUMBER4)setduressdisp();
 545   3                      }
 546   2                      else
 547   2                      {
 548   3                              if(keynumber==ENTER)
 549   3                              {
 550   4                                      //submenuflag=0;
C51 COMPILER V7.01  SETUP                                                                  03/08/2007 12:09:38 PAGE 10  

 551   4                                      //here save the new duress password
 552   4                                      //setduresspw(0xff);
 553   4                                      //ram_write(DURESSPASS,0,dispbuff[1][7]*10+dispbuff[1][8]);
 554   4                                      //setduresspwdisp();
 555   4                              }
 556   3                              else if(keynumber==CANCEL)
 557   3                              {
 558   4                                      //submenuflag=0;
 559   4                                      clearsetup();
 560   4                                      //setduresspw(0xff);
 561   4                                      setduresspwdisp();
 562   4                              }
 563   3                              else 
 564   3                              {
 565   4                                      dispbuff[LINE2][DURESSPWSTARTP+setcount]=keynumber+0x30;
 566   4                                      setcount++;
 567   4                                      display(LINE2);
 568   4                                      lcdcuron(setcount+DURESSPWSTARTP,LINE2);
 569   4                                      if(setcount>=2)
 570   4                                      {
 571   5                                              tempdata=( dispbuff[LINE2][DURESSPWSTARTP]-0X30)*10+dispbuff[LINE2][DURESSPWSTARTP+1]-0x30;
 572   5                                              if(tempdata<MAXDURESSPASS)
 573   5                                              {
 574   6                                                      ram_writep0(DURESSPW,tempdata);
 575   6                                              }
 576   5                                              submenuflag=0;
 577   5                                              setduresspwdisp();
 578   5                                      }
 579   4                              
 580   4                              }
 581   3                      }
 582   2              }
 583   1      }
 584          /////////////////////////////////////////////////////////////////////////////////
 585          unsigned char code tblbaud[]={LM9600,LM19200,LM38400,LM4800};
 586          /////////////////////////////////////////////////////////////////////////////////
 587          void setbaudratedisp()
 588          {
 589   1              if(!submenuflag)
 590   1              {
 591   2                      setupitem=SETBAUDRATE;
 592   2                      displaymessage(LMSETBAUDRATE,LINE1);
 593   2                      displaymessage(tblbaud[readbaudrate()],LINE2);
 594   2              }
 595   1              else
 596   1              {
 597   2                      dispselectmessage(tblbaud[setcount]);
 598   2              }
 599   1      }
 600          /////////////////////////////////////////////////////////////////////////////////
 601          unsigned char code baudratetimer[4]={244,250,253,232};
 602          /////////////////////////////////////////////////////////////////////////////////
 603          void changebaudrate(unsigned char baudrate)
 604          {
 605   1      
 606   1              TR1=0;
 607   1              delayTimerl(T5MS);
 608   1              //TH1=253;
 609   1              TH1=baudratetimer[baudrate];
 610   1              delayTimerl(T5MS);
 611   1              TR1=1;
 612   1      
C51 COMPILER V7.01  SETUP                                                                  03/08/2007 12:09:38 PAGE 11  

 613   1              delayTimerl(T5MS);
 614   1              delayTimerl(T5MS);
 615   1              delayTimerl(T5MS);
 616   1              delayTimerl(T5MS);
 617   1              init_modem();
 618   1      }
 619          /////////////////////////////////////////////////////////////////////////////////
 620          void setbaudrate()              //ok
 621          {
 622   1              if(keynumber==0xff)setbaudratedisp();
 623   1              else
 624   1              {
 625   2                      if(!submenuflag)
 626   2                      {
 627   3                              if(keynumber==ENTER)
 628   3                              {
 629   4                                      submenuflag=1;
 630   4                                      setcount=readbaudrate();
 631   4                                      //setbaudrate(0xff);
 632   4                                      dispselectmessage(tblbaud[setcount]);
 633   4                              }
 634   3                              else if(keynumber==CANCEL)terminatesetup();
 635   3                              else if(keynumber==NUMBER6)seteventcleardisp();
 636   3                              else if(keynumber==NUMBER4)setduressdisp();
 637   3                      }
 638   2                      else
 639   2                      {
 640   3                              if(keynumber==ENTER)
 641   3                              {
 642   4                                      submenuflag=0;
 643   4                                      ram_writep0(BAUDRATE,setcount);
 644   4                                      changebaudrate(setcount);
 645   4                                      setbaudratedisp();
 646   4                                      
 647   4                              }
 648   3                              else if(keynumber==CANCEL)
 649   3                              {
 650   4                                      //submenuflag=0;
 651   4                                      clearsetup();
 652   4                                      setbaudratedisp();
 653   4                              }
 654   3                              else if(keynumber==NUMBER6)
 655   3                              {
 656   4                                      setcount++;
 657   4                                      if(setcount>=MAXBAUDRATESEL)setcount=0;
 658   4                                      setbaudratedisp();
 659   4                              }
 660   3                              else if(keynumber==NUMBER4)
 661   3                              {
 662   4                                      setcount--;
 663   4                                      if(setcount>=MAXBAUDRATESEL)setcount=MAXBAUDRATESEL-1;
 664   4                                      setbaudratedisp();
 665   4                              }
 666   3                      }
 667   2              }
 668   1      }
 669          //////////////////////////////////////////////////////////////////////////////
 670          void seteventcleardisp()
 671          {
 672   1              if(!submenuflag)
 673   1              {
 674   2                      setupitem=SETEVENTCLEAR;
C51 COMPILER V7.01  SETUP                                                                  03/08/2007 12:09:38 PAGE 12  

 675   2                      displaymessage(LMEVENTCLEAR,LINE1);
 676   2                      displaymessage(LMBLANK,LINE2);
 677   2              }
 678   1              else
 679   1              {
 680   2                      displaymessage(LMYESNO,LINE2);
 681   2              }
 682   1      }
 683          //////////////////////////////////////////////////////////////////////////////
 684          void seteventclear()
 685          {
 686   1              if(keynumber==0xff)seteventcleardisp();
 687   1              else
 688   1              {
 689   2                      if(!submenuflag)
 690   2                      {
 691   3                              if(keynumber==ENTER)
 692   3                              {
 693   4                                      submenuflag=1;
 694   4                                      seteventcleardisp();

⌨️ 快捷键说明

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