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

📄 menu.lst

📁 此程序可以显示输入波形
💻 LST
📖 第 1 页 / 共 2 页
字号:
 405          
 406          void d0(void)
 407          
 408          {
 409   1      
 410   1            d0_3(0);
 411   1      
 412   1            
 413   1      
 414   1      }
 415          
 416          //--------------------------------------------------------------------
 417          
 418          void d1(void)
 419          
 420          {
 421   1      
 422   1            d0_3(1);
 423   1      
 424   1      }
 425          
 426          //--------------------------------------------------------------------
 427          
C51 COMPILER V7.50   MENU                                                                  03/13/2008 13:49:26 PAGE 8   

 428          void d2(void)
 429          
 430          {
 431   1      
 432   1            d0_3(2);
 433   1      
 434   1      }
 435          
 436          //--------------------------------------------------------------------
 437          
 438          void d3()
 439          
 440          {
 441   1      
 442   1            d0_3(3);
 443   1      
 444   1      }
 445          
 446          //--------------------------------------------------------------------
 447          
 448          void d4()
 449          
 450          {
 451   1      
 452   1            dis_cls();
 453   1      
 454   1            pwm();
 455   1      
 456   1      }
 457          
 458          //--------------------------------------------------------------------
 459          
 460          void d5()
 461          
 462          {
 463   1      
 464   1            dis_cls();
 465   1      
 466   1            dis_one_zi(0,0,x19,1,1);
 467   1      
 468   1            dis_one_zi(0,1,x20,1,1);
 469   1      
 470   1            dis_one_char(0,4,':',1);
 471   1      
 472   1            dis_one_char(0,5,' ',1);
 473   1      
 474   1            dis_one_char(0,6,'V',1);
 475   1      
 476   1            dis_one_char(0,7,'1',1);
 477   1      
 478   1            dis_one_char(0,8,'.',1);
 479   1      
 480   1            dis_one_char(0,9,'0',1);
 481   1      
 482   1            dis_one_char(0,10,'.',1);
 483   1      
 484   1            dis_one_char(0,11,'0',1);
 485   1      
 486   1      
 487   1      
 488   1            dis_one_zi(1,0,x25,1,1);
 489   1      
C51 COMPILER V7.50   MENU                                                                  03/13/2008 13:49:26 PAGE 9   

 490   1            dis_one_zi(1,1,x26,1,1);
 491   1      
 492   1            dis_one_zi(1,2,x27,1,1);
 493   1      
 494   1            dis_one_zi(1,3,x28,1,1);
 495   1      
 496   1            dis_one_char(1,8,':',1);
 497   1      
 498   1            dis_one_zi(2,4,x32,1,1);
 499   1      
 500   1            dis_one_zi(2,5,x33,1,1);
 501   1      
 502   1            dis_one_zi(2,6,x34,1,1);
 503   1      
 504   1            dis_one_zi(2,7,x35,1,1);
 505   1      
 506   1            
 507   1      
 508   1            dis_one_zi(3,4,x29,1,1);
 509   1      
 510   1            dis_one_zi(3,5,x30,1,1);
 511   1      
 512   1            dis_one_zi(3,6,x31,1,1);
 513   1      
 514   1      
 515   1      
 516   1      }
 517          
 518          //--------------------------------------------------------------------
 519          
 520          void d6()
 521          
 522          {
 523   1      
 524   1            dis_cls();
 525   1      
 526   1            freq();
 527   1      
 528   1      }
 529          
 530          //--------------------------------------------------------------------
 531          
 532          void d7()
 533          
 534          {
 535   1      
 536   1            dis_cls();
 537   1      
 538   1            wave();
 539   1      
 540   1      }
 541          
 542          //--------------------------------------------------------------------
 543          
 544          typedef struct
 545          
 546          {
 547          
 548                uchar keystateindex;
 549          
 550                uchar keydnstate;
 551          
C51 COMPILER V7.50   MENU                                                                  03/13/2008 13:49:26 PAGE 10  

 552                uchar keyupstate;
 553          
 554                uchar keycrstate;
 555          
 556                void(*currentoperate)();
 557          
 558          } kbdtabstruct;
 559          
 560          //--------------------------------------------------------------------
 561          
 562          kbdtabstruct code keytab[size_of_keybd_menu]=
 563          
 564          { //第一行表示在0级菜单时按下向下键则转到1级菜单
 565          
 566            //按下向上键则转1级菜单,按下回车键则转5级菜单
 567          
 568            //    下 上 回车
 569          
 570          
 571          
 572                { 0, 1, 3, 6, (* d0)},
 573          
 574                { 1, 2, 0, 7, (* d1)},
 575          
 576                { 2, 3, 1, 4, (* d2)},
 577          
 578                { 3, 0, 2, 5, (* d3)},
 579          
 580                
 581          
 582                { 4, 2, 2, 2, (* d4)},//PWM分析子程序
 583          
 584                { 5, 3, 3, 3, (* d5)},//版本信息
 585          
 586                { 6, 0, 0, 0, (* d6)},//频率计子程序
 587          
 588                { 7, 0, 1, 1, (* d7)},//示波器子程序
 589          
 590          };
 591          
 592          //--------------------------------------------------------------------
 593          
 594          void getkeyinput(void)
 595          
 596          {
 597   1      
 598   1      
 599   1      
 600   1            uchar key_value,temp;
 601   1      
 602   1      re:    temp=P3;
 603   1      
 604   1            temp|=0x03;
 605   1      
 606   1            P3=temp;
 607   1      
 608   1            key_value=P3&0x03;
 609   1      
 610   1            delay(50000);
 611   1      
 612   1      //0:下键  2:中键  1:上键 
 613   1      
C51 COMPILER V7.50   MENU                                                                  03/13/2008 13:49:26 PAGE 11  

 614   1            switch(key_value)
 615   1      
 616   1            {
 617   2      
 618   2                    case 1:
 619   2      
 620   2                    {
 621   3      
 622   3                          keyfuncindex=keytab[keyfuncindex].keycrstate;
 623   3      
 624   3                          beep(6500);
 625   3      
 626   3                          break;
 627   3      
 628   3                    }
 629   2      
 630   2                    case 2:
 631   2      
 632   2                    {
 633   3      
 634   3                          keyfuncindex=keytab[keyfuncindex].keyupstate;
 635   3      
 636   3                          beep(6500);
 637   3      
 638   3                          break;
 639   3      
 640   3                    }
 641   2      
 642   2                    case 0:
 643   2      
 644   2                    { 
 645   3      
 646   3                          keyfuncindex=keytab[keyfuncindex].keydnstate;
 647   3      
 648   3                          beep(6500);
 649   3      
 650   3                          break;
 651   3      
 652   3                    }
 653   2      
 654   2                    default:
 655   2      
 656   2                    goto re;
 657   2      
 658   2            }  
 659   1      
 660   1                    
 661   1      
 662   1            keyfuncptr=keytab[keyfuncindex].currentoperate;
 663   1      
 664   1            (*keyfuncptr)();
 665   1      
 666   1            delay(65535);
 667   1      
 668   1            delay(65535);
 669   1      
 670   1      }
 671          
 672          //--------------------------------------------------------------------
 673          
 674          void beep(uint time)
 675          
C51 COMPILER V7.50   MENU                                                                  03/13/2008 13:49:26 PAGE 12  

 676          {
 677   1      
 678   1            beep_port=0;
 679   1      
 680   1            delay(time);
 681   1      
 682   1            delay(time);
 683   1      
 684   1            delay(time);
 685   1      
 686   1            delay(time);
 687   1      
 688   1            beep_port=1;
 689   1      
 690   1      }
 691          
 692          //--------------------------------------------------------------------
 693          
 694          void sys_auto_check(void)
 695          
 696          {
 697   1      
 698   1            uchar xx,c=3;
 699   1      
 700   1      
 701   1      
 702   1            dis_one_zi(0,2,x36,1,1);
 703   1      
 704   1            dis_one_zi(0,3,x37,1,1);
 705   1      
 706   1            dis_one_zi(0,4,x38,1,1);
 707   1      
 708   1            dis_one_zi(0,5,x39,1,1);
 709   1      
 710   1            dis_one_zi(1,1,x40,1,1);
 711   1      
 712   1            dis_one_zi(1,2,x41,1,1);
 713   1      
 714   1            dis_one_zi(1,3,x42,1,1);
 715   1      
 716   1            dis_one_zi(1,4,x7,1,1);
 717   1      
 718   1            dis_one_zi(1,5,x8,1,1);
 719   1      
 720   1            dis_one_zi(1,6,x9,1,1);
 721   1      
 722   1            while(--c!=0)
 723   1      
 724   1            {
 725   2      
 726   2                    for(xx=3;xx<13;xx++)
 727   2      
 728   2                    {
 729   3      
 730   3                          dis_one_char(2,xx-1,'>',1);
 731   3      
 732   3                          dis_one_char(2,xx  ,'>',1);
 733   3      
 734   3                          dis_one_char(2,xx+1,'>',1);
 735   3      
 736   3                          delay(50000);
 737   3      
C51 COMPILER V7.50   MENU                                                                  03/13/2008 13:49:26 PAGE 13  

 738   3                          delay(50000);
 739   3      
 740   3      
 741   3      
 742   3                          dis_one_char(2,xx-1,' ',1);
 743   3      
 744   3                          dis_one_char(2,xx  ,' ',1);
 745   3      
 746   3                          dis_one_char(2,xx+1,' ',1);
 747   3      
 748   3                    }
 749   2      
 750   2            }
 751   1      
 752   1            beep(60000);
 753   1      
 754   1      }
 755          
 756          //--------------------------------------------------------------------
 757          
 758          void main(void) using 0
 759          
 760          {
 761   1      
 762   1            
 763   1      
 764   1            beep_port=1;
 765   1      
 766   1            EA=0;
 767   1      
 768   1            SP=0x7f;
 769   1      
 770   1            lcd_init();
 771   1      
 772   1            f_in=1;
 773   1      
 774   1            sys_auto_check();
 775   1      
 776   1            AD_init(7);
 777   1      
 778   1            keyfuncindex=0;
 779   1      
 780   1            d0();
 781   1      
 782   1            while(1)
 783   1      
 784   1          {
 785   2      
 786   2                    getkeyinput();
 787   2      
 788   2            }
 789   1      
 790   1      }
 791          
 792          
 793          
 794          
 795          
 796          
 797          
 798          
 799          
C51 COMPILER V7.50   MENU                                                                  03/13/2008 13:49:26 PAGE 14  



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1964    ----
   CONSTANT SIZE    =     72    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     18       7
   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 + -