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

📄 mima.lst

📁 电子密码锁24C02
💻 LST
📖 第 1 页 / 共 3 页
字号:
 450   3                              if((key!=backspace)&&(key!=enter))
 451   3                              {
 452   4                                      lcm_write_data('*');
 453   4                                      password[counter]=key;
 454   4                              }
 455   3                              if(key==backspace)
 456   3                              {
 457   4                                      if(counter>0)
 458   4                                      {
 459   5                                              lcm_setxy(--counter,2);
 460   5                                              lcm_write_data(' ');
 461   5                                              password[counter]=0x00;
 462   5                                              lcm_setxy(counter,2);
 463   5                                              counter--;
 464   5                                      }
 465   4                              }
 466   3                              if(key==enter)
 467   3                              {
 468   4                                      lcm_setxy(0,1);                         
 469   4                                      return( 0);
 470   4                              }               
 471   3                      }
 472   2                      if(counter==6)
 473   2                      {
 474   3                              do{
 475   4                                      key=get_key();
 476   4                                 }
 477   3                              while((key!=backspace)&&(key!=enter));
 478   3                              if(key==backspace)
 479   3                              {
 480   4                                      lcm_setxy(--counter,2);
 481   4                                      lcm_write_data(' ');
 482   4                                      password[counter]=0x00;
 483   4                                      lcm_setxy(counter,2);
 484   4                                      counter--;
 485   4                              }
 486   3                              if(key==enter)
 487   3                              {                                               
 488   4                                      return(1);                      
 489   4                          }
C51 COMPILER V8.08   MIMA                                                                  11/12/2007 17:13:27 PAGE 9   

 490   3                      }               
 491   2              }
 492   1      }
 493          
 494          void mima()
 495          {
 496   1              uchar key;
 497   1              uchar idata temp1_password[6]={0,0,0,0,0,0};
 498   1              uchar idata temp3_password[6]={0,0,0,0,0,0};
 499   1              uchar idata temp2_password[6]={0,0,0,0,0,0};
 500   1              uchar idata temp4_password[6]={0,0,0,0,0,0};
 501   1              key=step_choose();
 502   1              if(key==no1)
 503   1              {
 504   2                      I2C_receive_string(temp1_password,6,0x00);
 505   2                      lcm_write_cmd(0x01);
 506   2                      lcm_write_cmd(0x06);
 507   2                      lcm_setxy(2,0);
 508   2                      lcm_write_string("input password");     
 509   2                      if(input_password(temp2_password))
 510   2                      {
 511   3                              convert_code(temp2_password);
 512   3                              if(compare_string(temp1_password,temp2_password))
 513   3                              {
 514   4                                      lcm_setxy(0,2);
 515   4                                      lcm_write_string("correct!");
 516   4                                      longdelay(6);
 517   4                                      return;
 518   4                              }
 519   3                              else 
 520   3                              {
 521   4                                      lcm_setxy(0,2);
 522   4                                      lcm_write_string("wrong password");
 523   4                                      longdelay(6);
 524   4                                      return;
 525   4                              }
 526   3                      }
 527   2                      else
 528   2                      {
 529   3                              lcm_setxy(0,2);
 530   3                              lcm_write_string("error!  ");
 531   3                              longdelay(6);
 532   3                      }                
 533   2              }
 534   1              else
 535   1              {
 536   2                      I2C_receive_string(temp1_password,6,0x00);
 537   2                      lcm_write_cmd(0x01);
 538   2                      lcm_write_cmd(0x06);
 539   2                      lcm_setxy(0,0);
 540   2                      lcm_write_string("input old password");
 541   2                  if(input_password(temp2_password))
 542   2                      {
 543   3                              convert_code(temp2_password);
 544   3                              if(compare_string(temp1_password,temp2_password))
 545   3                              {
 546   4                                      lcm_setxy(0,2);
 547   4                                      lcm_write_string("password correct!");
 548   4                                      longdelay(6);
 549   4                                      lcm_write_cmd(0x01);
 550   4                                      lcm_write_cmd(0x06);
 551   4                                      lcm_setxy(0,1);
C51 COMPILER V8.08   MIMA                                                                  11/12/2007 17:13:27 PAGE 10  

 552   4                                      lcm_write_string("input new password");
 553   4                                      if(input_password(temp3_password))
 554   4                                      {
 555   5                                              lcm_write_cmd(0x01);
 556   5                                              lcm_write_cmd(0x06);
 557   5                                              lcm_setxy(0,1);
 558   5                                              lcm_write_string("input password again");
 559   5                                              if(input_password(temp4_password))
 560   5                                              {
 561   6                                                      if(compare_string(temp3_password,temp4_password))
 562   6                                                      {
 563   7                                                              convert_code(temp3_password);
 564   7                                                              I2C_send_string(temp3_password,6,0x00);
 565   7                                                              lcm_write_cmd(0x01);
 566   7                                                              lcm_write_cmd(0x06);
 567   7                                                              lcm_setxy(0,1);
 568   7                                                              lcm_write_string("password has");
 569   7                                                              lcm_setxy(0,2);
 570   7                                                              lcm_write_string("been changed");
 571   7                                                              longdelay(10);
 572   7                                                              return;
 573   7                                                      }
 574   6                                                      else
 575   6                                                      {
 576   7                                                         lcm_write_cmd(0x01);
 577   7                                                         lcm_write_cmd(0x06);
 578   7                                                         lcm_setxy(0,1);
 579   7                                                         lcm_write_string("twice input");
 580   7                                                         lcm_setxy(0,2);
 581   7                                                         lcm_write_string("is different");
 582   7                                                         longdelay(10);
 583   7                                                         return;
 584   7                                                      }
 585   6                                              }
 586   5                                              else
 587   5                                              {
 588   6                                                      lcm_setxy(0,2);
 589   6                                                      lcm_write_string("error!  ");
 590   6                                                      longdelay(10);
 591   6                                                      return;
 592   6                                              }
 593   5                                      }
 594   4                                      else
 595   4                                      {
 596   5                                              lcm_setxy(0,2);
 597   5                                              lcm_write_string("error!  ");
 598   5                                              longdelay(10);
 599   5                                              return;
 600   5                                      }
 601   4                              }
 602   3                              else 
 603   3                              {
 604   4                                      lcm_setxy(0,2);
 605   4                                      lcm_write_string("wrong password");
 606   4                                      longdelay(6);
 607   4                                      return;
 608   4                              }
 609   3                      }
 610   2                      else
 611   2                      {
 612   3                              lcm_setxy(0,2);
 613   3                              lcm_write_string("error!  ");
C51 COMPILER V8.08   MIMA                                                                  11/12/2007 17:13:27 PAGE 11  

 614   3                              longdelay(6);
 615   3                              return;
 616   3                      }                
 617   2              }
 618   1                                 
 619   1                                      
 620   1      }
 621          
 622          void    int_service(void)       using 0 interrupt       0
 623          {
 624   1              EA=0;
 625   1              EX0=0;
 626   1              for(int_counter_1=10;int_counter_1>0;int_counter_1--)
 627   1              {
 628   2                      for(int_counter_2=0xffff;int_counter_2>0;int_counter_2--)
 629   2                      {
 630   3                              if(i)
 631   3                              {
 632   4                                      EA=1;
 633   4                                      EX0=1;
 634   4                                      return;
 635   4                              }       
 636   3                      }
 637   2              }
 638   1              lcm_write_cmd(0x01);
 639   1              lcm_write_cmd(0x06);
 640   1              lcm_write_string("rest success!");
 641   1              longdelay(12);
 642   1              I2C_send_string(temp5_password,6,0x00);
 643   1      
 644   1              (*(void(*)())0)();
 645   1      }
 646            
 647          
 648          
 649          void main(void)
 650          {
 651   1              
 652   1              IT0=1;
 653   1              EX0=1;
 654   1              EA=1;
 655   1              
 656   1              lcm_init();
 657   1          while(1)
 658   1              {
 659   2                      mima();
 660   2              }
 661   1      }
 662                  
 663                                          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1806    ----
   CONSTANT SIZE    =    260    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3      34
   IDATA SIZE       =     15      24
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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