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

📄 电子密码锁.lst

📁 电子密码锁
💻 LST
字号:
C51 COMPILER V7.50   电子密码薩                                                            08/10/2007 20:12:27 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE 电子密码薩
OBJECT MODULE PLACED IN 电子密码锁.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 电子密码锁.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #define uchar   unsigned        char
   3          #define uint    unsigned        int
   4          #define KEY     P1
   5          #define DISP    P0
   6          //**********************************
   7          sbit    LED=P2^0;
   8          sbit    LED1=P2^1;
   9          sbit    P14=P1^4;
  10          sbit    P15=P1^5;
  11          sbit    P16=P1^6;
  12          sbit    P17=P1^7;
  13          uchar   key[10];
  14          uchar   mima[4]={0x00,0x66,0x00,0x4F};
  15          uchar   cnt_key;
  16          uchar   cnt_mi;
  17          uint    i,m;
  18          uchar   wrong;
  19          uchar   f_5ms;
  20          uchar   cnt_5ms;
  21          uchar   cnt_1s;
  22          uchar   cnt_led;
  23          uchar   kk;
  24          uchar   tab[11]={0x00,0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
  25          //***********************************
  26          void    delay(uint      i);
  27          void    delay_led(void);
  28          void    delay_wrong(void);
  29          void    disp_mi(void);
  30          void    init_main(void);
  31          void    main(void);
  32          void    disp_led(void);
  33          void    get_key(void);
  34          //***********************************
  35          void    delay(uint      i)
  36          {
  37   1              while(--i);
  38   1      }
  39          //***********************************
  40          //void  disp_mi(void)
  41          //{
  42          //      
  43          //}
  44          //***********************************
  45          void    init_main(void)
  46          {
  47   1              DISP=0;
  48   1              LED=0;
  49   1              LED1=0;
  50   1      //      TMOD=0x01;
  51   1      //      TR0=1;
  52   1      //      ET0=1;
  53   1      //      TH0=0xec;
  54   1      //      TL0=0x78;
  55   1      //      EA=1;
C51 COMPILER V7.50   电子密码薩                                                            08/10/2007 20:12:27 PAGE 2   

  56   1              cnt_5ms=0;
  57   1              cnt_1s=0;
  58   1              cnt_key=0;
  59   1              cnt_mi=0;
  60   1      }
  61          //***********************************
  62          void    main(void)
  63          {
  64   1              init_main();
  65   1              while(1)
  66   1              {
  67   2                      get_key();
  68   2      //              disp_mi();
  69   2                      while(kk==1){
  70   3                      kk=0;
  71   3                      DISP=key[cnt_key];
  72   3                      if(key[cnt_key]==mima[cnt_mi])
  73   3                      {
  74   4                              cnt_mi++;
  75   4                              if(cnt_mi==4)
  76   4                              {
  77   5                                      cnt_mi=0;
  78   5                                      delay_led();
  79   5                              }
  80   4                      }
  81   3                      else    if(key[cnt_key]!=mima[cnt_mi])
  82   3                      {
  83   4                              delay_wrong();  
  84   4                      }}      
  85   2              }
  86   1      }
  87          //***********************************
  88          void    delay_led(void)
  89          {
  90   1      //      cnt_led=20;
  91   1      //      while(cnt_led--)
  92   1      //      {
  93   1      //              if(f_5ms)
  94   1      //              {
  95   1      //                      f_5ms=0;
  96   1      //                      if(cnt_5ms++==200)
  97   1      //                      {
  98   1      //                              if(cnt_1s++==10)
  99   1      //                              {LED=!LED;}     
 100   1      //                      }
 101   1      //              }
 102   1      //      }
 103   1               for(m=20;m>0;m--)
 104   1              {
 105   2                      LED=1;
 106   2                      delay(2000);
 107   2                      delay(2000);
 108   2                      delay(2000);
 109   2                      delay(2000);
 110   2                      delay(2000);
 111   2                      delay(2000);
 112   2                      delay(2000);
 113   2                      delay(2000);
 114   2                      delay(2000);
 115   2                      LED=0;
 116   2                      delay(2000);
 117   2                      delay(2000);
C51 COMPILER V7.50   电子密码薩                                                            08/10/2007 20:12:27 PAGE 3   

 118   2                      delay(2000);
 119   2                      delay(2000);
 120   2                      delay(2000);
 121   2                      delay(2000);
 122   2                      delay(2000);
 123   2                      delay(2000);
 124   2                      delay(2000);
 125   2              }
 126   1      }
 127          //***********************************
 128          void    delay_wrong(void)
 129          {
 130   1              for(m=20;m>0;m--)
 131   1              {
 132   2                      LED1=1;
 133   2                      delay(2000);
 134   2                      delay(2000);
 135   2                      delay(2000);
 136   2                      LED1=0;
 137   2                      delay(2000);
 138   2                      delay(2000);
 139   2                      delay(2000);
 140   2              }
 141   1      }
 142          //***********************************
 143          void    get_key(void)
 144          {
 145   1              KEY=0xfe;
 146   1              if(!P14)
 147   1              {
 148   2                      delay(200);
 149   2                      if(!P14)
 150   2                      {
 151   3                              while(!P14);
 152   3                              key[cnt_key]=tab[8];
 153   3                              kk=1;
 154   3                      }       
 155   2              }       
 156   1                      
 157   1              if(!P15)
 158   1              {
 159   2                      delay(200);
 160   2                      if(!P15)
 161   2                      {
 162   3                              while(!P15);
 163   3                              key[cnt_key]=tab[9];
 164   3                              cnt_mi++;
 165   3                              kk=1;
 166   3                      }       
 167   2              }
 168   1              if(!P16)
 169   1              {
 170   2                      delay(200);
 171   2                      if(!P16)
 172   2                      {
 173   3                              while(!P16);
 174   3                              key[cnt_key]=tab[10];
 175   3                              cnt_mi++;
 176   3                              kk=1;
 177   3                      }       
 178   2              }
 179   1              KEY=0xfd;
C51 COMPILER V7.50   电子密码薩                                                            08/10/2007 20:12:27 PAGE 4   

 180   1              if(!P14)
 181   1              {
 182   2                      delay(200);
 183   2                      if(!P14)
 184   2                      {
 185   3                              while(!P14);
 186   3                              key[cnt_key]=tab[5];
 187   3                              cnt_mi++;
 188   3                              kk=1;
 189   3                      }       
 190   2              }       
 191   1                      
 192   1              if(!P15)
 193   1              {
 194   2                      delay(200);
 195   2                      if(!P15)
 196   2                      {
 197   3                              while(!P15);
 198   3                              key[cnt_key]=tab[6];
 199   3                              cnt_mi++;
 200   3                              kk=1;
 201   3                      }       
 202   2              }
 203   1              if(!P16)
 204   1              {
 205   2                      delay(200);
 206   2                      if(!P16)
 207   2                      {
 208   3                              while(!P16);
 209   3                              key[cnt_key]=tab[7];
 210   3                              cnt_mi++;
 211   3                              kk=1;
 212   3                      }       
 213   2              }
 214   1      
 215   1              KEY=0xfb;
 216   1              if(!P14)
 217   1              {
 218   2                      delay(200);
 219   2                      if(!P14)
 220   2                      {
 221   3                              while(!P14);
 222   3                              key[cnt_key]=tab[2];
 223   3                              cnt_mi++;
 224   3                              kk=1;
 225   3                      }       
 226   2              }       
 227   1                      
 228   1              if(!P15)
 229   1              {
 230   2                      delay(200);
 231   2                      if(!P15)
 232   2                      {
 233   3                              while(!P15);
 234   3                              key[cnt_key]=tab[3];
 235   3                              cnt_mi++;
 236   3                              kk=1;
 237   3                      }       
 238   2              }
 239   1              if(!P16)
 240   1              {
 241   2                      delay(200);
C51 COMPILER V7.50   电子密码薩                                                            08/10/2007 20:12:27 PAGE 5   

 242   2                      if(!P16)
 243   2                      {
 244   3                              while(!P16);
 245   3                              key[cnt_key]=tab[4];
 246   3                              cnt_mi++;
 247   3                              kk=1;
 248   3                      }       
 249   2              }
 250   1              if(!P17)
 251   1              {
 252   2                      delay(200);
 253   2                      if(!P17)
 254   2                      {
 255   3                              while(!P17);
 256   3                              init_main();
 257   3                      }       
 258   2              }
 259   1      }
 260          //***********************************
 261          //void  int0_main(void) interrupt       1
 262          //{
 263          //      TH0=0xec;
 264          //      TL0=0x78;
 265          //      f_5ms=1;
 266          //}
 267          //***********************************
 268          //***********************************
 269          //***********************************
 270          //***********************************


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    507    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     37    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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