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

📄 setframe.lst

📁 液晶程序液晶程序液晶程序液晶程序液晶程序液晶程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 207          //------------------------------------------------------------------
 208          
 209          //从变量var得到各位数,写数
 210          void bsetwritefig()
 211          {
 212   1              if(var>max)
 213   1                      var=max;
 214   1              if(selenum==0x04)
 215   1              {
 216   2                      getfigurebit(var);
 217   2                      write2d1fig();
 218   2              }//堵转延迟写的是小数,其他写的是3位整数
 219   1              else
 220   1              {
 221   2                      getfigurebit(var);
 222   2                      write3dfig();
 223   2              }
 224   1      } 
 225          //--------------------------------------------------------------
 226          
 227          void key_fig_up()//按向上键,各位数加1 ,加到9时,恢复为0,加数及时更新变量写数,最大值为max
 228          {
 229   1              if(selebit==1)  
 230   1              {
 231   2                      if(bit1==9)
C51 COMPILER V7.01  SETFRAME                                                               09/23/2008 14:27:39 PAGE 5   

 232   2                              bit1=0;
 233   2                      else
 234   2                              bit1++;
 235   2              }
 236   1              else if(selebit==2)    
 237   1              {
 238   2                      if(bit2==9)
 239   2                              bit2=0;
 240   2                      else
 241   2                              bit2++;
 242   2              }
 243   1              else if(selebit==3)  
 244   1              {
 245   2                      if(bit3==9)
 246   2                              bit3=0;
 247   2                      else
 248   2                              bit3++;
 249   2              }
 250   1              var=bit3*100+bit2*10+bit1;  //及时更新数据
 251   1      }
 252          //-------------------------------------------------------------------
 253          
 254          void key_fig_down()//按向下键,各位数减1,减到0时循环到9
 255          {
 256   1              if(selebit==1)  
 257   1              {
 258   2                      if(bit1==0)
 259   2                              bit1=9;
 260   2                      else
 261   2                              bit1--;
 262   2              }
 263   1              else if(selebit==2)  
 264   1              {
 265   2                      if(bit2==0)
 266   2                              bit2=9;
 267   2                      else
 268   2                              bit2--;
 269   2              }
 270   1              else if(selebit==3) 
 271   1              {
 272   2                      if(bit3==0)
 273   2                              bit3=9;
 274   2                      else
 275   2                              bit3--;
 276   2              }
 277   1              var=bit3*100+bit2*10+bit1;//及时更新数据
 278   1      }//写数
 279          
 280          //--------------------------------------------------------------------------
 281          void set_key_move()//修改数时反白向左移移到0100时,恢复为0001,重写一遍数据
 282          {
 283   1              if(fbbitchar==4)
 284   1                      fbbitchar=1;
 285   1              else
 286   1                      fbbitchar<<=1;
 287   1      }
 288          //----------------------------------------------------------------------------------
 289          
 290          //基本设数函数
 291          void bset_key_set()
 292          {
 293   1              clearscreen();
C51 COMPILER V7.01  SETFRAME                                                               09/23/2008 14:27:39 PAGE 6   

 294   1      
 295   1              basevar[1] = VVALUE;
 296   1              basevar[2] = CTVALUE;
 297   1              basevar[3] = PTVALUE;
 298   1              basevar[4] = TSCNUM;
 299   1              basevar[5] = HVCNUM;
 300   1              basevar[6] = RUNMOD;
 301   1              basevar[7] = TTHRESH;
 302   1              basevar[8] = QTHRESH;
 303   1              basevar[9] = TCOEFFI;
 304   1              
 305   1              if(selenum<10)   //选中前六项,执行下面的函数
 306   1              {
 307   2                      fbbitchar=1;
 308   2                      var=basevar[selenum];
 309   2                      max=maxvar[selenum];
 310   2                      if(selenum == 1 || selenum == 4 || selenum == 5)
 311   2                              Flag_unit = 1;//有单位
 312   2                      else 
 313   2                              Flag_unit = 0;//无单位
 314   2                      setwritestr();
 315   2                      bsetwritefig();
 316   2                      while(KEY_BUF != KEY_ESC&&KEY_BUF != KEY_ENTER)
 317   2                      {
 318   3                              if(KEY_BUF == KEY_MOVE)
 319   3                              {
 320   4                                      set_key_move();
 321   4                                      bsetwritefig();
 322   4                                      KEY_BUF=0xff;
 323   4                              } 
 324   3                              else if(KEY_BUF == KEY_UP)
 325   3                              {
 326   4                                      key_fig_up();
 327   4                                      bsetwritefig();
 328   4                                      KEY_BUF=0xff;
 329   4                              }
 330   3                              else if(KEY_BUF == KEY_DOWN)
 331   3                              {
 332   4                                      key_fig_down();
 333   4                                      bsetwritefig();
 334   4                                      KEY_BUF=0xff;
 335   4                              } 
 336   3                      }
 337   2                      if(KEY_BUF == KEY_ENTER) //按enter键更新各全局变量
 338   2                      {
 339   3                      //      if(selenum==1)
 340   3                      //              send_single16(basic_para_ID[1],var); 
 341   3                      //      else
 342   3                      //              send_single8(basic_para_ID[selenum],(uchar)var);//发送数据
 343   3                      //      delay20ms();
 344   3                      //      dsp_ans(basic_para_ID[selenum]);
 345   3                      //      if(DSP_REV_FLAG==0)//该页面的数据处理,将设定的参数存入相应的的地址
 346   3                      //      {
 347   3                                      if(selenum==1)
 348   3                                              wordwrite_chip1(VVALUE_STORE_ADD,var);//选择的是限流(16)
 349   3                                      else
 350   3                                              bytewrite_chip1((PAGE2_BASE_ADD+selenum),(uchar)var);
 351   3                                      basevar[selenum] = var;
 352   3      
 353   3                                      VVALUE = basevar[1];  //及时更新各个全局变量                   
 354   3                                      CTVALUE = (uchar)basevar[2];
 355   3                                      PTVALUE = (uchar)basevar[3];
C51 COMPILER V7.01  SETFRAME                                                               09/23/2008 14:27:39 PAGE 7   

 356   3                                      TSCNUM = (uchar)basevar[4];
 357   3                                      HVCNUM = (uchar)basevar[5];
 358   3                                      RUNMOD = (uchar)basevar[6];
 359   3                                      TTHRESH = (uchar)basevar[7];
 360   3                                      QTHRESH = (uchar)basevar[8];
 361   3                                      TCOEFFI = (uchar)basevar[9];
 362   3                      //      } 
 363   3                      } 
 364   2              } 
 365   1      //      else if(selenum==7)
 366   1      //      set_time();
 367   1      }
 368          //-----------------------------------------------------------------------
 369          
 370          void main_bset()
 371          {
 372   1              TOTALNUM = 9;//共有10项
 373   1              clearscreen();//清屏
 374   1              init_frame(BSETSTRTABLE);//写初始页面
 375   1              
 376   1              VVALUE = byteread_chip1(VVALUE_STORE_ADD);//从ROM中读出相应数据
 377   1              CTVALUE = wordread_chip1(CTVALUE_STORE_ADD);
 378   1              PTVALUE = byteread_chip1(PTVALUE_STORE_ADD);
 379   1              TSCNUM = byteread_chip1(TSCNUM_STORE_ADD);
 380   1              HVCNUM = byteread_chip1(HVCNUM_STORE_ADD);
 381   1              RUNMOD = byteread_chip1(RUNMOD_STORE_ADD);
 382   1              TTHRESH = byteread_chip1(TTHRESH_STORE_ADD);
 383   1              QTHRESH = byteread_chip1(QTHRESH_STORE_ADD);
 384   1              TCOEFFI = byteread_chip1(TCOEFFI_STORE_ADD);
 385   1      
 386   1              basevar[1] = VVALUE;
 387   1              basevar[2] = CTVALUE;
 388   1              basevar[3] = PTVALUE;
 389   1              basevar[4] = TSCNUM;
 390   1              basevar[5] = HVCNUM;
 391   1              basevar[6] = RUNMOD;
 392   1              basevar[7] = TTHRESH;
 393   1              basevar[8] = QTHRESH;
 394   1              basevar[9] = TCOEFFI;
 395   1      
 396   1              while(KEY_BUF!=KEY_ESC)
 397   1              {
 398   2                      if(KEY_BUF==KEY_UP)
 399   2                              key_up_move(BSETSTRTABLE);//上移选项
 400   2                      else if(KEY_BUF==KEY_DOWN)
 401   2                              key_down_move(BSETSTRTABLE,TOTALNUM);//下移选项
 402   2                      else if(KEY_BUF==KEY_SET)  
 403   2                      {
 404   3                              remi=i;
 405   3                              bset_key_set(); 
 406   3      //                      can_common();
 407   3                              KEY_BUF=0xff;
 408   3                              i=remi;
 409   3                              
 410   3                              clearscreen();
 411   3                              display3list(BSETSTRTABLE);//回到上一页面
 412   3                      }  
 413   2              }
 414   1      }//设置后按KEY


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V7.01  SETFRAME                                                               09/23/2008 14:27:39 PAGE 8   

   CODE SIZE        =   1705    ----
   CONSTANT SIZE    =    233    ----
   XDATA SIZE       =     67    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      3    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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