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

📄 key.lst

📁 12232液晶驱动和时间显示。矩阵键盘源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:

 302   5            key=key_scan();
 303   5            if(key==10)
 304   5              {
 305   6                flag_key_active=0;
 306   6                break;
 307   6              }
 308   5            if(key!=0xff)
 309   5              {
 310   6                reader_1.dat=(reader_1.dat<<4)|(key&0x0000000f);
 311   6                i++;
 312   6              }
 313   5            if(i==6)
 314   5              {
 315   6                if(flag_code_active==c_status_code_card)
 316   6                    status_reader=r_status_card_code;
 317   6                else
 318   6                    status_reader=r_status_code;
 319   6      
 320   6                //flag_code_active=c_status_code_ing;
 321   6                break;
 322   6              }
 323   5          }
 324   4          status_machine=m_status_normal;
 325   4         }
 326   3        }
 327   2       }
 328   1       else
 329   1       {
 330   2           key=key_scan();
 331   2      
 332   2           if(key==0xff)
 333   2           {return;}
 334   2           else if(key==10)
 335   2           {
 336   3             flag_key_active=0;
 337   3             return;
 338   3           }
 339   2           else if(key==11)
 340   2           {
 341   3            if( (tick_count-tick_count_temp)>=100 )
 342   3               {
 343   4                   led_driver_mode();
 344   4                   return;
 345   4               }
 346   3           }
 347   2           else if(status_machine==m_status_mode)
 348   2           {
 349   3                  PIN_BUZZER=0;
 350   3                  delay_ms(30);
 351   3                  PIN_BUZZER=1;
 352   3                  flag_key_buzzer=  1;
 353   3                  code_buffer[i++]=key;
 354   3                  while(flag_key_active)
 355   3                  {
 356   4                      key=key_scan();
 357   4                      if(i==6)
 358   4                      {
 359   5                              flag_code_active=c_status_code_sys;
 360   5                              return;
 361   5                      }
 362   4      
 363   4                      if(key==10)
C51 COMPILER V8.02   KEY                                                                   01/06/2009 14:07:32 PAGE 7   

 364   4                      {
 365   5                              flag_key_active=0;
 366   5                              return;
 367   5                      }
 368   4                      if(key!=0xff)
 369   4                      {
 370   5                              code_buffer[i++]=key;
 371   5                      }
 372   4      
 373   4                  }
 374   3           }
 375   2           else if(status_machine==m_status_moded)
 376   2           {
 377   3               led_driver_config();
 378   3               while(flag_key_active)
 379   3               {
 380   4      
 381   4                      switch(key)
 382   4                      {
 383   5                              case 0://card+code
 384   5                                     while(flag_key_active)
 385   5                                     {
 386   6                                              if(status_reader==r_status_wg_26)
 387   6                                              {
 388   7                                                      code_buffer[i++]=reader_1.buffer[1];
 389   7                                                      code_buffer[i++]=reader_1.buffer[2];
 390   7                                                      code_buffer[i++]=reader_1.buffer[3];
 391   7      
 392   7                                                      PIN_LED_PWR= 0;
 393   7                                                      PIN_LED_MODE=0;
 394   7                                                      PIN_LED_OPEN=1;
 395   7      
 396   7                                                      count_key_timeout=0;
 397   7                                                      break;
 398   7                                              }
 399   6                                     }
 400   5                                     if(status_reader==r_status_wg_26)
 401   5                                     {
 402   6                                         status_reader=r_status_null;
 403   6                                         while(flag_key_active)
 404   6                                         {
 405   7                                              key=key_scan();
 406   7                                              if(key==10)
 407   7                                              {
 408   8                                                      flag_key_active=0;
 409   8                                                      break;
 410   8                                              }
 411   7                                              if(key!=0xff)
 412   7                                              {
 413   8                                                 if((j+2)%2)
 414   8                                                 {
 415   9                                                   code_buffer[i] |= key;
 416   9                                                   i++;
 417   9                                                 }
 418   8                                                 else
 419   8                                                   code_buffer[i] = (key<<4);
 420   8                                                 j++;
 421   8                                              }
 422   7                                              if(j==6)
 423   7                                              {
 424   8                                                      status_reader=r_status_add_card_code;
 425   8                                                      flag_key_active=0;
C51 COMPILER V8.02   KEY                                                                   01/06/2009 14:07:32 PAGE 8   

 426   8                                                      break;
 427   8                                              }
 428   7                                         }
 429   6                                     }
 430   5                                     break;
 431   5                              case 1://modify system code
 432   5                                     while(flag_key_active)
 433   5                                     {
 434   6                                              key=key_scan();
 435   6                                              if(key!=0xff)
 436   6                                              {
 437   7                                                      code_sys[i++]=key;
 438   7                                              }
 439   6                                              if(i==6)
 440   6                                              {
 441   7                                                      Write_Byte_AT24LC(0x55,code_point_type);
 442   7                                                      delay_ms(10);
 443   7                                                      Write_Buffer_AT24LC(code_sys,6,code_point_addr);
 444   7                                                      led_driver_success();
 445   7                                                      delay_ms(1);
 446   7                                                      break;
 447   7                                               }
 448   6                                     }
 449   5                                     break;
 450   5                              case 2://card or code
 451   5                                     while(flag_key_active)
 452   5                                     {
 453   6                                              key=key_scan();
 454   6                                              if(key==10)
 455   6                                              {
 456   7                                                      flag_key_active=0;
 457   7                                                      break;
 458   7                                              }
 459   6                                              if(i==6)
 460   6                                              {
 461   7                                                      status_reader=r_status_add_code;
 462   7                                                      flag_key_active=0;
 463   7                                                      break;
 464   7                                              }
 465   6                                              if(status_reader==r_status_wg_26 )
 466   6                                              {
 467   7                                                      status_reader=r_status_add_card;
 468   7                                                      break;
 469   7                                              }
 470   6                                              if(key!=0xff)
 471   6                                              {
 472   7                                                      reader_1.dat=(reader_1.dat<<4) | (key&0x0000000f);
 473   7                                                      i++;
 474   7                                              }
 475   6                                     }
 476   5                                     break;
 477   5                              case 3://delete simple user
 478   5                                     while(flag_key_active)
 479   5                                     {
 480   6                                              if(status_reader==r_status_wg_26)
 481   6                                              {
 482   7                                                      status_reader=r_status_del_card;
 483   7                                                      break;
 484   7                                              }
 485   6                                     }
 486   5                                     break;
 487   5                              case 4://delete all user
C51 COMPILER V8.02   KEY                                                                   01/06/2009 14:07:32 PAGE 9   

 488   5                                     while(flag_key_active)
 489   5                                     {
 490   6                                              key=key_scan();
 491   6                                              if(key!=0xff)
 492   6                                              {
 493   7                                                      if(key==0x04)
 494   7                                                      {
 495   8                                                          status_reader=r_status_del_all;
 496   8                                                      }
 497   7                                                      else
 498   7                                                      {
 499   8                                                          led_driver_error();
 500   8                                                      }
 501   7      
 502   7                                                      break;
 503   7                                              }
 504   6                                     }
 505   5                                     break;
 506   5                              case 5://modify time to delay of door
 507   5                                     while(flag_key_active)
 508   5                                     {
 509   6                                              key=key_scan();
 510   6      
 511   6                                              if(key==10)
 512   6                                              {
 513   7                                                  flag_key_active=0;
 514   7                                                  break;
 515   7                                              }
 516   6                                              if(key!=0xff)
 517   6                                              {
 518   7                                                      temp_door_delay[i++]=key ;
 519   7                                              }
 520   6                                              if(i==3)
 521   6                                              {
 522   7                                                      count_door_delay=(temp_door_delay[0]*1000)+(temp_door_dela
             -y[1]*100)+(temp_door_delay[2]*10);
 523   7                                                      Write_Buffer_AT24LC(temp_door_delay,3,count_dor_delay_addr
             -);
 524   7                                                      led_driver_success();
 525   7                                                      break;
 526   7                                              }
 527   6                                     }
 528   5                                     break;
 529   5                              case 6://modify user code
 530   5                                     i=0;j=0;flags=0;
 531   5                                     while(flag_key_active)
 532   5                                     {
 533   6                                              key=key_scan();
 534   6                                              if((status_reader==r_status_wg_26)&(flags==0))
 535   6                                              {
 536   7                                                      count_key_timeout=0;
 537   7                                                      if(right_judge_card(reader_1.buffer+1)>right_point_byte_st
             -art)
 538   7                                                      {
 539   8                                                         led_driver_sucess();
 540   8                                                         flags=1;
 541   8                                                      }
 542   7                                                      else
 543   7                                                      {
 544   8                                                         led_driver_error();
 545   8                                                         break;
 546   8                                                      }
C51 COMPILER V8.02   KEY                                                                   01/06/2009 14:07:32 PAGE 10  

 547   7                                              }
 548   6                                              if(key==10)
 549   6                                              {
 550   7                                                 status_reader=r_status_null;
 551   7                                                 flag_key_active=0;
 552   7                                              }
 553   6                                              if(key!=0xff)
 554   6                                              {
 555   7                                               if((j+2)%2)
 556   7                                               {
 557   8                                                   code_buffer[i] |= key;
 558   8                                                   i++;
 559   8                                               }
 560   7                                               else
 561   7                                                   code_buffer[i] = (key<<4);
 562   7                                               j++;
 563   7                                              }
 564   6                                              if(j==6)
 565   6                                              {
 566   7                                                 count_key_timeout=0;
 567   7                                                 if(flags==1)
 568   7                                                 {
 569   8                                                      status_reader=r_status_code_update;
 570   8                                                      flag_key_active=0;
 571   8                                                      break;
 572   8                                                 }
 573   7                                                 temp_addr = right_judge_code(code_buffer);
 574   7                                                 if(temp_addr>=right_point_byte_start)
 575   7                                                 {
 576   8                                                      i=0;j=0;flags=1;
 577   8                                                      code_buffer[4]=(temp_addr>>8)&0xff;
 578   8                                                      code_buffer[5]=temp_addr&0xff;
 579   8      
 580   8                                                      PIN_LED_PWR= 0;
 581   8                                                      PIN_LED_MODE=0;
 582   8                                                      PIN_LED_OPEN=1;
 583   8      
 584   8                                                      status_machine=m_status_null;
 585   8                                                 }
 586   7                                                 else
 587   7                                                 {
 588   8                                                      led_driver_error();
 589   8                                                      flag_key_active=0;
 590   8                                                      break;
 591   8                                                 }
 592   7                                              }
 593   6                                     }
 594   5                                     break;
 595   5                              case 10://exit configure mode
 596   5                                     led_driver_success();
 597   5                                     flag_key_active=0;
 598   5                                     break;
 599   5                              default:
 600   5                                      break;
 601   5                      }
 602   4                      key=key_scan();
 603   4               }
 604   3           }
 605   2       }
 606   1      }

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

⌨️ 快捷键说明

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