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

📄 18b20test.lst

📁 自己做的电子密码锁
💻 LST
📖 第 1 页 / 共 4 页
字号:
 717   2      
 718   2                              
 719   2                                      if(flap==1)
 720   2                                      {
 721   3                                       break;
 722   3                                  }
 723   2                              while(1) 
 724   2                                                     { 
 725   3                                      if(flap==1)
 726   3                                      {
 727   4                                       break;
 728   4                                  }
 729   3                              P1=0xff; //先向P1口写1;端口读状态
 730   3                              
 731   3                              P1=0xf0;
 732   3                              
 733   3                              temp=P1; 
 734   3                              if(temp!=0xf0) 
 735   3                               { 
 736   4                                      delay1ms();  
 737   4                              if(temp!=0xf0)
C51 COMPILER V8.02   18B20TEST                                                             05/20/2012 19:52:06 PAGE 13  

 738   4                              { 
 739   5                                      P1=0xfe;
 740   5                                      temp=P1;
 741   5                              switch(temp) 
 742   5                              { 
 743   6                                      case(0xee):delaynms(1000);if(temp==0xee){display10(0);};break; 
 744   6                                      case(0xde):delaynms(1000);if(temp==0xde){display11(1);};break; 
 745   6                                      case(0xbe):delaynms(1000);if(temp==0xbe){display12(2);};break; 
 746   6                                      case(0x7e):delaynms(1000);if(temp==0x7e){display13(3);};break; 
 747   6                              
 748   6                              }
 749   5                              
 750   5                              P1=0xfd;
 751   5                               temp=P1;
 752   5                              switch(temp) 
 753   5                              { 
 754   6                                      case(0xed):delaynms(1000);if(temp==0xed){display14(4);};break; 
 755   6                                      case(0xdd):delaynms(1000);if(temp==0xdd){display15(5);};break; 
 756   6                                      case(0xbd):delaynms(1000);if(temp==0xbd){display16(6);};break; 
 757   6                                      case(0x7d):delaynms(1000);if(temp==0x7d){display17(7);};break; 
 758   6                              }
 759   5                              
 760   5                              P1=0xfb;
 761   5                               temp=P1;
 762   5                              switch(temp) 
 763   5                              { 
 764   6                                      case(0xeb):delaynms(1000);if(temp==0xeb){display18(8);};break; 
 765   6                                      case(0xdb):delaynms(1000);if(temp==0xdb){display19(9);};break;  
 766   6                              }
 767   5                              
 768   5                               
 769   5                              } 
 770   4                                 } 
 771   3                              
 772   3                                              }               
 773   2                                                                                                          
 774   2                                      
 775   2                                              }       
 776   1      }
 777           /*****************************************************
 778          DISPLAY
 779          ***************************************************/  
 780          void kaisuo(void)
 781          {
 782   1         
 783   1               kai=1;
 784   1               flap=1;
 785   1               delaynms(100);
 786   1               delaynms(100);
 787   1               delaynms(100);
 788   1                delaynms(100);
 789   1                delaynms(100);
 790   1               delaynms(100);
 791   1               delaynms(100);
 792   1                delaynms(100);
 793   1                       delaynms(100);
 794   1               delaynms(100);
 795   1               delaynms(100);
 796   1                delaynms(100);
 797   1                delaynms(100);
 798   1               delaynms(100);
 799   1               delaynms(100);
C51 COMPILER V8.02   18B20TEST                                                             05/20/2012 19:52:06 PAGE 14  

 800   1                delaynms(100);
 801   1                delaynms(100);
 802   1               delaynms(100);
 803   1                delaynms(100);
 804   1                delaynms(100);
 805   1               delaynms(100);
 806   1               delaynms(100);
 807   1                delaynms(100);
 808   1              
 809   1      }
 810          void cuowu(void)
 811          {
 812   1                  unsigned char i;
 813   1                      flap=1;
 814   1                               jidian=1;
 815   1                           WriteAddress(0x00);    //写显示地址,将在第1行第1列开始显示
 816   1                                 i = 0;                //从第一个字符开始显示
 817   1                                      while(Error[i] != '\0')  //只要没有写到结束标志,就继续写
 818   1                                      {                                               
 819   2                                              WriteData(Error[i]);   //将字符常量写入LCD
 820   2                                              i++;                 //指向下一个字符
 821   2                                              delaynms(100);        //延时100ms较长时间,以看清关于显示的说明
 822   2                                      }       
 823   1                              
 824   1      }
 825          void queren(void)
 826          {       char a=0,n;
 827   1                      for(n=0;n<6;n++)
 828   1                      {
 829   2                      
 830   2                      a=q[n]-x[n];
 831   2                                     if(a!=0)
 832   2                                      {
 833   3                                        cuowu();
 834   3                                              }
 835   2                      
 836   2                      }
 837   1              
 838   1                      if(a==0)
 839   1                      {
 840   2                        kaisuo();
 841   2                      }
 842   1      
 843   1      }
 844          
 845           void main(void)
 846          
 847           {                            
 848   1                         LcdInitiate();         //将液晶初始化
 849   1                          kai=0;
 850   1                              jidian=0;
 851   1                     delaynms(5);        //延时5ms给硬件一点反应时间  
 852   1                       
 853   1                         while(1)                
 854   1                               {       
 855   2      
 856   2                              unsigned char temp; 
 857   2                              while(1) 
 858   2                              { 
 859   3                               
 860   3                              if(flap==1)
 861   3                              {  
C51 COMPILER V8.02   18B20TEST                                                             05/20/2012 19:52:06 PAGE 15  

 862   4                                      char n;
 863   4                                      for(n=0;n<6;n++)
 864   4                                      {q[n]=0;}
 865   4                                p=0;
 866   4                                jidian=0;
 867   4                                flap=0;
 868   4                                LcdInitiate();         //将液晶初始化
 869   4                                m=0;
 870   4                                WriteAddress(0x00);    //写显示地址,将在第1行第1列开始显示
 871   4                                k=0;
 872   4                                kai=0;
 873   4                      
 874   4                              }
 875   3                              P1=0xff; //先向P1口写1;端口读状态
 876   3                              
 877   3                              P1=0xf0;
 878   3                              
 879   3                              temp=P1; 
 880   3                              if(temp!=0xf0) 
 881   3                               { 
 882   4                                      delay1ms();  
 883   4                              if(temp!=0xf0)
 884   4                              { 
 885   5                                      P1=0xfe;
 886   5                                      temp=P1;
 887   5                              switch(temp) 
 888   5                              { 
 889   6                                      case(0xee):delaynms(1000);if(temp==0xee){display00(0);};break; 
 890   6                                      case(0xde):delaynms(1000);if(temp==0xde){display01(1);};break; 
 891   6                                      case(0xbe):delaynms(1000);if(temp==0xbe){display02(2);};break; 
 892   6                                      case(0x7e):delaynms(1000);if(temp==0x7e){display03(3);};break; 
 893   6                              
 894   6                              }
 895   5                              
 896   5                              P1=0xfd;
 897   5                               temp=P1;
 898   5                              switch(temp) 
 899   5                              { 
 900   6                                      case(0xed):delaynms(1000);if(temp==0xed){display04(4);};break; 
 901   6                                      case(0xdd):delaynms(1000);if(temp==0xdd){display05(5);};break; 
 902   6                                      case(0xbd):delaynms(1000);if(temp==0xbd){display06(6);};break; 
 903   6                                      case(0x7d):delaynms(1000);if(temp==0x7d){display07(7);};break; 
 904   6                              }
 905   5                              
 906   5                              P1=0xfb;
 907   5                               temp=P1;
 908   5                              switch(temp) 
 909   5                              { 
 910   6                                      case(0xeb):delaynms(1000);if(temp==0xeb){display08(8);};break; 
 911   6                                      case(0xdb):delaynms(1000);if(temp==0xdb){display09(9);};break; 
 912   6                                      case(0xbb):queren();break; 
 913   6                                      case(0x7b):chongshu();break; 
 914   6                              }
 915   5                              
 916   5                              P1=0xf7;
 917   5                               temp=P1;
 918   5                              switch(temp) 
 919   5                              { 
 920   6                                      case(0xe7):xiugai();break; 
 921   6                                      case(0xd7):display(13);break; 
 922   6                                      case(0xb7):display(14);break; 
 923   6                                      case(0x77):display(15);break; 
C51 COMPILER V8.02   18B20TEST                                                             05/20/2012 19:52:06 PAGE 16  

 924   6                              }
 925   5                               
 926   5                              } 
 927   4                                 } 
 928   3                              
 929   3                                   }               
 930   2                                                                                                          
 931   2                                      
 932   2                                      }       
 933   1                                
 934   1      }
 935          
 936          
 937          
 938          
 939          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2183    ----
   CONSTANT SIZE    =     19    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     18       3
   IDATA SIZE       =   ----    ----
   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 + -