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

📄 1602+24c08+4x4+

📁 1602+24C08+4X4键盘密码锁
💻
📖 第 1 页 / 共 3 页
字号:
 211   2                      count4++;
 212   2              }
 213   1      }
 214          void key_manage4()
 215          {       tab_key[n]=3;
 216   1              n++;
 217   1              if(xiugaiflag==1)
 218   1              {       mima[count4]=3;
 219   2                      count4++;
 220   2              }
 221   1      }
 222          void key_manage5()
 223          {       tab_key[n]=4;
 224   1              n++;
 225   1              if(xiugaiflag==1)
 226   1              {       mima[count4]=4;
 227   2              count4++;
 228   2              }
 229   1      }
 230          void key_manage6()
 231          {       tab_key[n]=5;
 232   1              n++;
 233   1              if(xiugaiflag==1)
 234   1              {       mima[count4]=5;
 235   2                      count4++;
 236   2              }
 237   1      }
 238          void key_manage7()
 239          {       tab_key[n]=6;
 240   1              n++;
 241   1              if(xiugaiflag==1)
C51 COMPILER V9.01   PASSWORD                                                              10/15/2012 19:44:20 PAGE 5   

 242   1              {       mima[count4]=6;
 243   2                      count4++;
 244   2              }
 245   1      }
 246          void key_manage8()
 247          {       tab_key[n]=7;
 248   1              n++;
 249   1              if(xiugaiflag==1)
 250   1              {       mima[count4]=7;
 251   2                      count4++;
 252   2              }
 253   1      }
 254          void key_manage9()
 255          {       tab_key[n]=8;
 256   1              n++;
 257   1              if(xiugaiflag==1)
 258   1              {       mima[count4]=8;
 259   2              count4++;
 260   2              }
 261   1      }
 262          void key_manage10()
 263          {       tab_key[n]=9;
 264   1              n++;
 265   1              if(xiugaiflag==1)
 266   1              {       mima[count4]=9;
 267   2                      count4++;
 268   2              }
 269   1      }
 270          //**********************************确认键**************************************************************  
 271          void key_manage11()
 272          {       enterflag=1;                                    //确认键按下
 273   1              if(n==8)                                           //只有输入8个密码后按确认才做比较
 274   1                      mimaflag=mimacmp();
 275   1              else
 276   1                      mimaflag=0;
 277   1               if(enterflag==1)
 278   1                      {
 279   2                              enterflag=0;
 280   2                              n=0;
 281   2                              //用FFFFFFFF清除已经输入的密码
 282   2                              for(count3=0;count3<8;count3++)
 283   2                              {       
 284   3                                      delay(5);
 285   3                                      tab_key[count3]=0x0f;           
 286   3                              }               
 287   2                              TR1=1;                                                                  //打开计数器1
 288   2                              count1=0;                                                               //定时器1由50MS累计到1S所用的计数器
 289   2                              if(mimaflag==1)
 290   2                              {       a=0;
 291   3                                      write_com(0x01);
 292   3                                      write_com(0x80);
 293   3                                      for(count3=0;count3<16;count3++)
 294   3                                      {       write_date(table4[count3]);     //密码正确,显示RIGHT,绿灯亮
 295   4                                              delay(5);
 296   4                                      }
 297   3                              }
 298   2                          else
 299   2                              {       n=0;
 300   3                                      red=0;
 301   3                              bell=0;
 302   3                                      a++;
 303   3                                      if(a==1)
C51 COMPILER V9.01   PASSWORD                                                              10/15/2012 19:44:20 PAGE 6   

 304   3                                      {
 305   4                                              for(count3=0;count3<8;count3++) //ffffffff清除密码
 306   4                                              {       
 307   5                                                      delay(5);
 308   5                                                      tab_key[count3]=0x0f;           
 309   5                                              }
 310   4                                              write_com(0x01);                                                                                
 311   4                                              write_com(0x80);
 312   4                                              for(count3=0;count3<16;count3++)
 313   4                                              {
 314   5                                                      write_date(table5[count3]);     //密码错误,显示 first error,红灯亮
 315   5                                                      delay(5);
 316   5                                              }
 317   4                                                      TR1=1;
 318   4                                      }
 319   3                                      if(a==2)
 320   3                                      {       
 321   4                                              for(count3=0;count3<8;count3++) //ffffffff清除密码
 322   4                                              {       
 323   5                                                      delay(5);
 324   5                                                      tab_key[count3]=0x0f;           
 325   5                                              }
 326   4                                                      write_com(0x01);
 327   4                                                      write_com(0x80);
 328   4                                                      for(count3=0;count3<16;count3++)
 329   4                                                      {
 330   5                                                              write_date(table6[count3]);     //密码错误,显示SECOND ERROR,红灯亮
 331   5                                                              delay(5);
 332   5                                                      }
 333   4                                                              TR1=1;
 334   4                                      }
 335   3                                              
 336   3                                        if(a==3)
 337   3                                              {       
 338   4                                                      for(count3=0;count3<8;count3++) //ffffffff清除密码
 339   4                                                      {       
 340   5                                                              delay(5);
 341   5                                                              tab_key[count3]=0x0f;           
 342   5                                                      }
 343   4                                                      write_com(0x01);
 344   4                                                      write_com(0x80);
 345   4                                                      for(count3=0;count3<16;count3++)
 346   4                                                      {
 347   5                                                              write_date(table7[count3]);     //密码错误,显示third error see,红灯亮
 348   5                                                              delay(5);
 349   5                                                      }
 350   4                                                      write_com(0x80+0x40);
 351   4                                                      for(count3=0;count3<16;count3++)
 352   4                                                      {
 353   5                                                              write_date(table8[count3]);//密码错误,显示 U TOMORROW ,红灯亮
 354   5                                                              delay(5);
 355   5                                                      }
 356   4                                                              TR1=0;
 357   4                                                                      
 358   4                                              }
 359   3                                                              
 360   3                      }
 361   2              }
 362   1      
 363   1      }
 364          void key_manage12()
 365          {       tab_key[n]=11;
C51 COMPILER V9.01   PASSWORD                                                              10/15/2012 19:44:20 PAGE 7   

 366   1              n++;                                              //密码计数清零
 367   1      }
 368          //****************************************************取消键********************************************  
 369          void key_manage13()
 370          {       n=0;                                              //密码计数清零
 371   1              write_com(0x80);                                                //指针所指位置
 372   1              for(count3=0;count3<16;count3++)
 373   1              {       write_date(table1[count3]);             //第一行显示INPUT THE PASSPORD:
 374   2                      delay(5);
 375   2              }
 376   1              write_com(0x80+0x40);
 377   1              for(count3=0;count3<16;count3++)
 378   1              {       write_date(table2[count3]);     //开机显示--------
 379   2                      delay(5);
 380   2                      tab_key[count3]=0x0f;                   //用FFFFFFFF清楚已经输入的密码
 381   2              }
 382   1      }
 383          //*******************************************修改密码键**********************************
 384          void key_manage14()
 385          {       uchar aa=0;
 386   1              n=0;
 387   1              xiugaiflag=1;
 388   1              write_com(0x01);
 389   1              write_com(0x80);
 390   1              for(count3=0;count3<16;count3++)
 391   1              {       write_date(table9[count3]);     //显示define the password
 392   2                      delay(5);
 393   2                      tab_key[count3]=0x0f;                   //用FFFFFFFF清楚已经输入的密码
 394   2              }
 395   1              write_com(0x80+0x40);
 396   1              for(count3=0;count3<16;count3++)
 397   1              {       write_date(table10[count3]);    //显示--------
 398   2                      delay(5);
 399   2              }
 400   1              TR0=1;
 401   1      }
 402          //******************************************修改密码键的确认键********************************
 403          void key_manage15()
 404          {       n=0;
 405   1              enter1flag=1;
 406   1              if(enter1flag==1)
 407   1              {       enter1flag=0;
 408   2                      count4=0;
 409   2                      for(count3=0;count3<16;count3++)
 410   2                      {       tab_key[count3]=0x0f;                   //用FFFFFFFF清楚已经输入的密码
 411   3                      }
 412   2                      write_com(0x01);
 413   2                      write_com(0x80);
 414   2                      for(count3=0;count3<16;count3++)
 415   2                      {       write_date(table11[count3]);
 416   3                              delay(100);
 417   3                      }
 418   2              TR1=1;
 419   2              count1=0;
 420   2              }
 421   1      }
 422          void key_manage16()
 423          {       tab_key[n]=15;
 424   1              n++;
 425   1      }
 426           //****************************************定时器1的50MS,共延时1秒*****************************
 427          void time_1() interrupt 3
C51 COMPILER V9.01   PASSWORD                                                              10/15/2012 19:44:20 PAGE 8   

⌨️ 快捷键说明

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