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

📄 menu.lst

📁 这是一种温度变送器的源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 199   3                                      display_num(mod_value);//数字显示
 200   3                              }
 201   2                              break;
 202   2                      case key_down:
 203   2                              if(!set_flag)
 204   2                              {
 205   3                                      mod_value=mod_value-key_mov;
 206   3                                      if(mod_value<-1999)mod_value=-1999;
 207   3                                      point_pos=0;//小数点位置
 208   3                                      dis_flag=1;//高低4位标置
 209   3                                      display_num(mod_value);//数字显示
 210   3                              }
 211   2                              break;
 212   2                      case key_ent:
 213   2                              if(set_flag)
 214   2                              {
 215   3                                      set_flag=0;
 216   3                                      mod_value=mnu_value_null; //mnu_value_null=2004
 217   3                                      mod_bak=mnu_value_null; //备份菜单号(即2004)
 218   3                                      point_pos=0;
 219   3                                      dis_flag=1;//高低4位标置                                
 220   3                                      display_num(mod_value);//数字显示
 221   3                              }
 222   2                              else
 223   2                              {
 224   3                                      select_page(mod_value);//选择界面
 225   3                              }
 226   2                              break;                  
 227   2                      case key_set:
 228   2                              menu_flag=0;
 229   2                              page_point=0;
 230   2                              renew_page_high(mnu_null);
 231   2                              renew_page_low(mnu_null);
 232   2                              break;
 233   2              }
 234   1      }
 235          //选择界面
 236          void select_page(int cod)
 237          {
 238   1              switch(cod)
 239   1              {
 240   2                      //case mnu_value_null:
 241   2                      //      menu_flag=0;
C51 COMPILER V7.06   MENU                                                                  01/03/2008 17:28:43 PAGE 5   

 242   2                      //      page_point=0;
 243   2                      //      renew_page_high(mnu_null);
 244   2                      //      renew_page_low(mnu_null);
 245   2                      //      break;
 246   2                      case mnu_value_sn:
 247   2                              page_point=2;
 248   2                              mod_bak=mnu_value_sn;//备份菜单入口数据
 249   2                              renew_page_high(Tab_mnu_ent_menu[0]);
 250   2                              mod_value=ref_table[ref_sn];//应读取分度号值
 251   2                              renew_page_low(mod_value+Itm_s);
 252   2                              break;
 253   2                      case mnu_value_sc0:
 254   2                              page_point=4;
 255   2                              mod_bak=mnu_value_sc0;
 256   2                              renew_page_high(Tab_mnu_ent_menu[1]);
 257   2                              mod_value=ref_table[ref_sc0];
 258   2                              //set_flag=0;
 259   2                              dis_flag=0;
 260   2                              get_pos();
 261   2                              display_num(ref_table[ref_sc0]);        
 262   2                              break;
 263   2                      case mnu_value_da0:
 264   2                              //page_point=7;
 265   2                              break;
 266   2                      case mnu_value_d0:
 267   2                              page_point=8;
 268   2                              mod_bak=mnu_value_d0;
 269   2                              renew_page_high(Tab_mnu_ent_menu[2]);
 270   2                              mod_value=ref_table[ref_d0];
 271   2                              dis_flag=0;
 272   2                              get_pos();
 273   2                              display_num(ref_table[ref_d0]); 
 274   2                              break;
 275   2                      case mnu_value_filt:
 276   2                              //page_point=12;
 277   2                              break;
 278   2                      case mnu_value_rt1:
 279   2                              page_point=15;
 280   2                              dem_flag=1;
 281   2                              set_flag=1;
 282   2                              point_pos_1=1;
 283   2                              volt_range1=1;          //为mnu_hdl_rtx 初始化
 284   2                              sub_function2();
 285   2                              ref_buffer=ref_rt1;     //为mnu_hdl_rtx 初始化
 286   2                              counter=1;                      //为mnu_hdl_rtx 初始化  
 287   2                              renew_page_high(mnu_rt1);
 288   2                              mod_bak=mnu_value_rt1;
 289   2                              mod_value=ref_table[ref_rt1];
 290   2                              pin_flag=1;
 291   2                              break;
 292   2                      case mnu_value_tc0:
 293   2                              page_point=20;
 294   2                              dem_flag=1;
 295   2                              set_flag=1;
 296   2                              point_pos_1=1;
 297   2                              volt_range1=1;
 298   2                              sub_function2();
 299   2                              ref_buffer=ref_tc0;
 300   2                              counter=1;      
 301   2                              renew_page_high(mnu_tc0);
 302   2                              mod_bak=mnu_value_tc0;
 303   2                              mod_value=ref_table[ref_tc0];
C51 COMPILER V7.06   MENU                                                                  01/03/2008 17:28:43 PAGE 6   

 304   2                              pin_flag=0;     
 305   2                              break;
 306   2                      case mnu_value_pd:              
 307   2                              break;
 308   2                      case mnu_value_ot:
 309   2                              page_point=24;
 310   2                              mod_bak=mnu_value_ot;
 311   2                              renew_page_high(Tab_mnu_ent_menu[3]);
 312   2                              mod_value=0;
 313   2                              dis_flag=0;
 314   2                              point_pos=2;
 315   2                              display_num(0);
 316   2                              break;
 317   2              }               
 318   1      }
 319          
 320          /********************************************
 321          函数名: mnu_hdl_sn 
 322          功能: 分度表菜单操作
 323          形式参数:无
 324          返回值:无
 325          ********************************************/
 326          void mnu_hdl_sn(void)
 327          {
 328   1              switch(keyval)
 329   1              {
 330   2                      case key_up:
 331   2                              mod_value++;
 332   2                              if(mod_value>14)
 333   2                                      mod_value=0;
 334   2                              renew_page_low(mod_value+Itm_s);
 335   2                              break;
 336   2                      case key_down:
 337   2                              mod_value--;
 338   2                              if(mod_value<0)
 339   2                                      mod_value=14;
 340   2                              renew_page_low(mod_value+Itm_s);
 341   2                              break;
 342   2                      case key_set:
 343   2                              ref_table[ref_sn]=mod_value;
 344   2                              store_ref(ref_sn);//保存参数值
 345   2                              mnu_return();//返回上级菜单
 346   2                              break;
 347   2                      //case key_ent:
 348   2                              
 349   2                              //;
 350   2              }
 351   1      }
 352          /********************************************
 353          函数名: mnu_hdl_sc0
 354          功能: 量程零点设置
 355          形式参数:无
 356          返回值:无
 357          ********************************************/
 358          void mnu_hdl_sc0(void)
 359          {
 360   1      
 361   1              switch(keyval)
 362   1              {
 363   2                      case key_up:                    
 364   2                              mod_value=mod_value+key_mov;
 365   2                              if(mod_value>9999)mod_value=9999;
C51 COMPILER V7.06   MENU                                                                  01/03/2008 17:28:43 PAGE 7   

 366   2                              get_pos();//小数点位置
 367   2                              dis_flag=0;     //高低4位标置 1-高4位 0-低4位
 368   2                              display_num(mod_value);//数字显示                       
 369   2                              break;
 370   2                      case key_down:
 371   2                              mod_value=mod_value-key_mov;
 372   2                              if(mod_value<-1999)mod_value=-1999;
 373   2                              get_pos();//小数点位置
 374   2                              dis_flag=0;//高低4位标置
 375   2                              display_num(mod_value);//数字显示                       
 376   2                              break;
 377   2                      case key_set:
 378   2                              ref_table[ref_sc0]=mod_value;
 379   2                              store_ref(ref_sc0);//保存参数值
 380   2                              page_point=5;//进入满量程菜单
 381   2                              renew_page_high(mnu_scf);
 382   2                              mod_value=ref_table[ref_scf];
 383   2                              //set_flag=0;
 384   2                              dis_flag=0;
 385   2                              display_num(ref_table[ref_scf]);        
 386   2                              break;
 387   2                      //case key_ent:         
 388   2              }
 389   1      }
 390          /********************************************
 391          函数名: mnu_hdl_scf
 392          功能: 量程满程设置
 393          形式参数:无
 394          返回值:无
 395          ********************************************/
 396          void mnu_hdl_scf(void)
 397          {
 398   1              switch(keyval)
 399   1              {
 400   2                      case key_up:                    
 401   2                              mod_value=mod_value+key_mov;
 402   2                              if(mod_value>9999)mod_value=9999;
 403   2                              get_pos();//小数点位置
 404   2                              dis_flag=0;     //高低4位标置 1-高4位 0-低4位
 405   2                              display_num(mod_value);//数字显示                       

⌨️ 快捷键说明

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