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

📄 777.lst

📁 电子密码锁程序和电路用51单片机加上矩阵键盘控制
💻 LST
📖 第 1 页 / 共 3 页
字号:
 357   6                            dispbuf[keycount+2]=19; 
 358   6      
 359   6                          } 
 360   5      
 361   5                        keycount++; 
 362   5      
 363   5                        if(keycount==6) 
 364   5      
 365   5                          { 
C51 COMPILER V8.05a   777                                                                  07/26/2008 17:30:05 PAGE 7   

 366   6      
 367   6                            keycount=6; 
 368   6      
 369   6                          } 
 370   5      
 371   5                          else if(keycount>6) 
 372   5      
 373   5                            { 
 374   6      
 375   6                              keycount=6; 
 376   6      
 377   6                              keyoverflag=1;//key overflow                        
 378   6      
 379   6                            } 
 380   5      
 381   5                      } 
 382   4      
 383   4                      else if(key==12)//delete key 
 384   4      
 385   4                        { 
 386   5      
 387   5                          if(keycount>0) 
 388   5      
 389   5                            { 
 390   6      
 391   6                              keycount--; 
 392   6      
 393   6                              getps[keycount]=0; 
 394   6      
 395   6                              dispbuf[keycount+2]=16; 
 396   6      
 397   6                            } 
 398   5      
 399   5                            else 
 400   5      
 401   5                              { 
 402   6      
 403   6                                keyoverflag=1; 
 404   6      
 405   6                              } 
 406   5      
 407   5                        } 
 408   4      
 409   4                        else if(key==15)//enter key 
 410   4      
 411   4                          { 
 412   5      
 413   5                            if(keycount!=pslen) 
 414   5      
 415   5                              { 
 416   6      
 417   6                                errorflag=1; 
 418   6      
 419   6                                rightflag=0; 
 420   6      
 421   6                                second3=0; 
 422   6      
 423   6                              } 
 424   5      
 425   5                              else 
 426   5      
 427   5                                { 
C51 COMPILER V8.05a   777                                                                  07/26/2008 17:30:05 PAGE 8   

 428   6      
 429   6                                  for(i=0;i<keycount;i++) 
 430   6      
 431   6                                    { 
 432   7      
 433   7                                      if(getps[i]!=ps[i]) 
 434   7      
 435   7                                        { 
 436   8      
 437   8                                          i=keycount; 
 438   8      
 439   8                                          errorflag=1; 
 440   8      
 441   8                                          rightflag=0; 
 442   8      
 443   8                                          second3=0; 
 444   8      
 445   8                                          goto a4; 
 446   8      
 447   8                                        } 
 448   7      
 449   7                                    } 
 450   6      
 451   6                                  errorflag=0; 
 452   6      
 453   6                                  rightflag=1; 
 454   6      
 455   6      a4:                          i=keycount; 
 456   6      
 457   6                                } 
 458   5      
 459   5                          } 
 460   4      
 461   4                    temp=temp & 0x0f;              
 462   4      
 463   4                    while(temp!=0x0f) 
 464   4      
 465   4                      { 
 466   5      
 467   5                        temp=P3; 
 468   5      
 469   5                        temp=temp & 0x0f;              
 470   5      
 471   5                      } 
 472   4      
 473   4                    keyoverflag=0;//????????? 
 474   4      
 475   4                  } 
 476   3      
 477   3              } 
 478   2      
 479   2        
 480   2      
 481   2            P3=0xff; 
 482   2      
 483   2            P3_6=0; 
 484   2      
 485   2            temp=P3; 
 486   2      
 487   2            temp=temp & 0x0f; 
 488   2      
 489   2            if (temp!=0x0f) 
C51 COMPILER V8.05a   777                                                                  07/26/2008 17:30:05 PAGE 9   

 490   2      
 491   2              { 
 492   3      
 493   3                for(i=10;i>0;i--) 
 494   3      
 495   3                for(j=248;j>0;j--); 
 496   3      
 497   3                temp=P3; 
 498   3      
 499   3                temp=temp & 0x0f; 
 500   3      
 501   3                if (temp!=0x0f) 
 502   3      
 503   3                  { 
 504   4      
 505   4                    temp=P3; 
 506   4      
 507   4                    temp=temp & 0x0f;              
 508   4      
 509   4                    switch(temp) 
 510   4      
 511   4                      { 
 512   5      
 513   5                        case 0x0e: 
 514   5      
 515   5                          key=1; 
 516   5      
 517   5                          break; 
 518   5      
 519   5                        case 0x0d: 
 520   5      
 521   5                          key=2; 
 522   5      
 523   5                          break; 
 524   5      
 525   5                        case 0x0b: 
 526   5      
 527   5                          key=3; 
 528   5      
 529   5                          break; 
 530   5      
 531   5                        case 0x07: 
 532   5      
 533   5                          key=12; 
 534   5      
 535   5                          break; 
 536   5      
 537   5                      } 
 538   4      
 539   4                    temp=P3; 
 540   4      
 541   4                    P1_1=~P1_1; 
 542   4      
 543   4                    if((key>=0) && (key<10)) 
 544   4      
 545   4                      { 
 546   5      
 547   5                        if(keycount<6) 
 548   5      
 549   5                          { 
 550   6      
 551   6                            getps[keycount]=key; 
C51 COMPILER V8.05a   777                                                                  07/26/2008 17:30:05 PAGE 10  

 552   6      
 553   6                            dispbuf[keycount+2]=19; 
 554   6      
 555   6                          } 
 556   5      
 557   5                        keycount++; 
 558   5      
 559   5                        if(keycount==6) 
 560   5      
 561   5                          { 
 562   6      
 563   6                            keycount=6; 
 564   6      
 565   6                          } 
 566   5      
 567   5                          else if(keycount>6) 
 568   5      
 569   5                            { 
 570   6      
 571   6                              keycount=6; 
 572   6      
 573   6                              keyoverflag=1;//key overflow                        
 574   6      
 575   6                            } 
 576   5      
 577   5                      } 
 578   4      
 579   4                      else if(key==12)//delete key 
 580   4      
 581   4                        { 
 582   5      
 583   5                          if(keycount>0) 
 584   5      
 585   5                            { 
 586   6      
 587   6                              keycount--; 
 588   6      
 589   6                              getps[keycount]=0; 
 590   6      
 591   6                              dispbuf[keycount+2]=16; 
 592   6      
 593   6                            } 
 594   5      
 595   5                            else 
 596   5      
 597   5                              { 
 598   6      
 599   6                                keyoverflag=1; 
 600   6      
 601   6                              } 
 602   5      
 603   5                        } 
 604   4      
 605   4                        else if(key==15)//enter key 
 606   4      
 607   4                          { 
 608   5      
 609   5                            if(keycount!=pslen) 
 610   5      
 611   5                              { 
 612   6      
 613   6                                errorflag=1; 
C51 COMPILER V8.05a   777                                                                  07/26/2008 17:30:05 PAGE 11  

 614   6      
 615   6                                rightflag=0; 
 616   6      
 617   6                                second3=0; 
 618   6      
 619   6                              } 
 620   5      
 621   5                              else 
 622   5      
 623   5                                { 
 624   6      
 625   6                                  for(i=0;i<keycount;i++) 
 626   6      
 627   6                                    { 
 628   7      
 629   7                                      if(getps[i]!=ps[i]) 
 630   7      
 631   7                                        { 
 632   8      
 633   8                                          i=keycount; 
 634   8      
 635   8                                          errorflag=1; 
 636   8      
 637   8                                          rightflag=0; 
 638   8      
 639   8                                          second3=0; 
 640   8      
 641   8                                          goto a3; 
 642   8      
 643   8                                        } 
 644   7      
 645   7                                    } 
 646   6      
 647   6                                  errorflag=0; 
 648   6      
 649   6                                  rightflag=1; 
 650   6      
 651   6      a3:                          i=keycount; 
 652   6      
 653   6                                } 
 654   5      
 655   5                          } 
 656   4      
 657   4                    temp=temp & 0x0f;              
 658   4      
 659   4                    while(temp!=0x0f) 
 660   4      
 661   4                      { 
 662   5      
 663   5                        temp=P3; 
 664   5      
 665   5                        temp=temp & 0x0f;              
 666   5      
 667   5                      } 
 668   4      
 669   4                    keyoverflag=0;//????????? 
 670   4      
 671   4                  } 
 672   3      
 673   3              } 
 674   2      
 675   2        
C51 COMPILER V8.05a   777                                                                  07/26/2008 17:30:05 PAGE 12  

 676   2      
 677   2            P3=0xff; 
 678   2      
 679   2            P3_7=0; 
 680   2      
 681   2            temp=P3; 
 682   2      
 683   2            temp=temp & 0x0f; 
 684   2      
 685   2            if (temp!=0x0f) 
 686   2      
 687   2              { 
 688   3      
 689   3                for(i=10;i>0;i--) 
 690   3      
 691   3                for(j=248;j>0;j--); 
 692   3      
 693   3                temp=P3; 
 694   3      
 695   3                temp=temp & 0x0f; 
 696   3      
 697   3                if (temp!=0x0f) 
 698   3      
 699   3                  { 
 700   4      
 701   4                    temp=P3; 
 702   4      
 703   4                    temp=temp & 0x0f;              
 704   4      
 705   4                    switch(temp) 
 706   4      
 707   4                      { 
 708   5      
 709   5                        case 0x0e: 
 710   5      
 711   5                          key=0; 
 712   5      
 713   5                          break; 
 714   5      
 715   5                        case 0x0d: 
 716   5      
 717   5                          key=13; 
 718   5      
 719   5                          break; 

⌨️ 快捷键说明

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