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

📄 menu.lst

📁 这是一种温度变送器的源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 613   1              {
C51 COMPILER V7.06   MENU                                                                  01/03/2008 17:28:43 PAGE 11  

 614   2                      case key_up:                    
 615   2                              mod_value=mod_value+key_mov;
 616   2                              if(mod_value>9999)mod_value=9999;
 617   2                              point_pos=2;//小数点位置
 618   2                              dis_flag=0;     //高低4位标置 1-高4位 0-低4位
 619   2                              display_num(mod_value);//数字显示
 620   2                              //////电流输出                  
 621   2                              break;
 622   2                      case key_down:
 623   2                              mod_value=mod_value-key_mov;
 624   2                              if(mod_value<0)mod_value=0;
 625   2                              point_pos=2;//小数点位置
 626   2                              dis_flag=0;//高低4位标置
 627   2                              display_num(mod_value);//数字显示
 628   2                              //////电流输出  
 629   2                              break;
 630   2                      case key_set:
 631   2                              mnu_return();//返回主菜单
 632   2                              break;
 633   2                      //case key_ent:
 634   2              }
 635   1      }
 636          
 637          /********************************************
 638          函数名: mnu_hdl_rtx
 639          功能: 阻标定
 640          形式参数:无
 641          返回值:无
 642          ********************************************/
 643          void mnu_hdl_rtx(void)
 644          {
 645   1              if(key_set)
 646   1                      mnu_hdl_rtx_set();              
 647   1      }
 648          
 649          void mnu_hdl_rtx_set(void)//volt_range 
 650          {
 651   1      
 652   1              if(set_flag==1)                 
 653   1              {                                                                                               
 654   2                      store_ref(ref_buffer+volt_range1-counter);
 655   2                                      
 656   2                      switch(page_point)
 657   2                      {
 658   3                              case mnu_rt1:
 659   3                                      volt_range1++;
 660   3                                      point_pos_1++;
 661   3                                      //renew_page_high(mnu_rt1);                     
 662   3                                      if(volt_range1==5)
 663   3                                              {
 664   4                                                      ref_buffer=ref_rt2;
 665   4                                                      page_point=mnu_rt2;
 666   4                                                      volt_range1=1;
 667   4                                                      renew_page_high(mnu_rt2);
 668   4                                                      counter=1;
 669   4                                                      point_pos_1=1;          
 670   4                                                      //init_flag=1;                                                  
 671   4                                              }       
 672   3                                      break;
 673   3                              case mnu_rt2:
 674   3                                      volt_range1++;
 675   3                                      point_pos_1++;
C51 COMPILER V7.06   MENU                                                                  01/03/2008 17:28:43 PAGE 12  

 676   3                                      if(volt_range1==5)
 677   3                                              {
 678   4                                                      ref_buffer=ref_rt3;
 679   4                                                      page_point=mnu_rt3;
 680   4                                                      volt_range1=2;
 681   4                                                      renew_page_high(mnu_rt3);
 682   4                                                      counter=2;              
 683   4                                                      point_pos_1=2;          
 684   4                                                      //init_flag=1;                                                  
 685   4                                              }
 686   3                                      break;
 687   3                              case mnu_rt3:
 688   3                                      volt_range1++;
 689   3                                      point_pos_1++;
 690   3                                      if(volt_range1==5)
 691   3                                              {
 692   4                                                      ref_buffer=ref_rt4;
 693   4                                                      page_point=mnu_rt4;
 694   4                                                      volt_range1=3;
 695   4                                                      renew_page_high(mnu_rt4);
 696   4                                                      counter=3;      
 697   4                                                      point_pos_1=3;          
 698   4                                                      //init_flag=1;                                                                          
 699   4                                              }       
 700   3                                      break;
 701   3                              case mnu_rt4:
 702   3                                      volt_range1++;
 703   3                                      point_pos_1++;
 704   3                                      if(volt_range1==5)
 705   3                                              {
 706   4                                                      ref_buffer=ref_rt5;
 707   4                                                      page_point=mnu_rt5;
 708   4                                                      volt_range1=4;
 709   4                                                      renew_page_high(mnu_rt5);
 710   4                                                      counter=4;      
 711   4                                                      point_pos_1=4;          
 712   4                                                      //init_flag=1;                                                          
 713   4                                              }       
 714   3                                      break;
 715   3                              case mnu_rt5:
 716   3                                      volt_range1++;
 717   3                                      point_pos_1++;
 718   3                                      if(volt_range1==5)
 719   3                                              {
 720   4                                                      //menu_point++;
 721   4                                                      volt_range1=1; 
 722   4                                                      set_flag=0;
 723   4                                                      dem_flag=0;
 724   4                                                      mnu_return();                                   
 725   4                                              }       
 726   3                                      break;
 727   3                      }       
 728   2                      sub_function2();//waitcy  2007-9-11 20:25
 729   2              }
 730   1      }
 731          
 732          /********************************************
 733          函数名: mnu_hdl_tc0
 734          功能: 偶标定
 735          形式参数:无
 736          返回值:无
 737          ********************************************/
C51 COMPILER V7.06   MENU                                                                  01/03/2008 17:28:43 PAGE 13  

 738          void mnu_hdl_tc0(void)
 739          {
 740   1              if(key_set)
 741   1                      mnu_hdl_tc0_set();              
 742   1      }
 743          
 744          void mnu_hdl_tc0_set(void)//volt_range 
 745          {
 746   1      
 747   1              if(set_flag==1)                 
 748   1              {                                                                                               
 749   2                      store_ref(ref_buffer+volt_range1-counter);
 750   2                                      
 751   2                      switch(page_point)
 752   2                      {
 753   3                      
 754   3                              case mnu_tc0:
 755   3                                      volt_range1++;
 756   3                                      point_pos_1++;
 757   3                                      if(volt_range1==5)
 758   3                                              {
 759   4                                                      ref_buffer=ref_tcf;
 760   4                                                      page_point=mnu_tcf;
 761   4                                                      volt_range1=1;
 762   4                                                      renew_page_high(mnu_tcf);
 763   4                                                      counter=1;      
 764   4                                                      point_pos_1=1;          
 765   4                                                      //init_flag=1;                  
 766   4                                              }
 767   3                                      break;
 768   3                              case mnu_tcf:
 769   3                                      volt_range1++;
 770   3                                      point_pos_1++;
 771   3                                      if(volt_range1==5)
 772   3                                              {
 773   4                                                      //menu_point++;
 774   4                                                      volt_range1=1; 
 775   4                                                      set_flag=0;
 776   4                                                      dem_flag=0;
 777   4                                                      mnu_return();           
 778   4                                              }       
 779   3                                      break;
 780   3                      }       
 781   2                      sub_function2();//waitcy  2007-9-11 20:25
 782   2              }
 783   1      }
 784          
 785          //void mnu_hdl_rtx_ent(void)
 786          //{     
 787          //}
 788          
 789          void sub_function2(void)
 790          {
 791   1              ADC0MD = 0x80; // 使能ADC0 ADC0=空闲模式
 792   1              switch(volt_range1)
 793   1              {
 794   2                      case 1:
 795   2                              ADC0CN = 0x16;//3;
 796   2                              break;
 797   2                      case 2:                 
 798   2                              ADC0CN = 0x15;//2;
 799   2                              break;
C51 COMPILER V7.06   MENU                                                                  01/03/2008 17:28:43 PAGE 14  

 800   2                      case 3:
 801   2                              ADC0CN = 0x14;//1;
 802   2                              break;
 803   2                      case 4:
 804   2                              ADC0CN = 0x14;//0;
 805   2                              break;  
 806   2              }
 807   1              ADC0MD |= 0x83;  // 启动连续转换
 808   1      }
 809          
 810          /********************************************
 811          函数名: store_ref
 812          功能: 保存参数值
 813          形式参数:add-数据地址
 814          返回值:无
 815          ********************************************/
 816          void store_ref(unsigned char add)
 817          {

⌨️ 快捷键说明

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