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

📄 main.lst

📁 基于Keil uVision2平台的C51控制温度老化试验箱的源代码。 1、温度传感器采集温度 2、传感器信号传入 ADC电路 3、经AT89C52单片机的处理分析输出控制 4、通过继电器控制
💻 LST
📖 第 1 页 / 共 2 页
字号:
 251   3                                      _write_eep_byte(eep_press_l,num_l);
 252   3                                      _write_eep_byte(eep_press_h,num_h);
 253   3                                      save_data();
 254   3                                      _clear_display();
 255   3                                      _disp_msge(0,0,"SET             ");
 256   3                                      _disp_msge(1,0,"Low:xxC-High:xxC");
 257   3                                      _display_bit8(1,4,num_l);
 258   3                                      _display_bit8(1,13,num_h);
 259   3                                      r=old_r;
 260   3                                      c=old_c;
 261   3                                      _cursor_pos(r,c);
 262   3                                      break;
 263   3                              case KP_LEFT:
 264   3                                      switch (c)
 265   3                                              {
 266   4                                              case 4:
 267   4                                                      c=14;
 268   4                                                      break;
 269   4                                              case 5:
 270   4                                                      c=4;
 271   4                                                      break;
 272   4                                              case 13:
 273   4                                                      c=5;
 274   4                                                      break;
 275   4                                          case 14:
 276   4                                                      c=13;
 277   4                                                      break;
 278   4                                              default:
 279   4                                                      break;
 280   4                                              }
 281   3                                      _cursor_pos(1,c);
 282   3                                      break;
 283   3                              case KP_RIGHT:
 284   3                                      switch (c)
 285   3                                              {
 286   4                                              case 4:
 287   4                                                      c=5;
 288   4                                                      break;
 289   4                                              case 5:
 290   4                                                      c=13;
 291   4                                                      break;
 292   4                                              case 13:
 293   4                                                      c=14;
 294   4                                                      break;
 295   4                                          case 14:
 296   4                                                      c=4;
 297   4                                                      break;
 298   4                                              default:
 299   4                                                      break;
 300   4                                              }
 301   3                                      _cursor_pos(1,c);
 302   3                                      break;
 303   3                              case KP_INC:
C51 COMPILER V7.02b   MAIN                                                                 01/10/2008 11:39:26 PAGE 6   

 304   3                                      switch(c)
 305   3                                              {
 306   4                                              case 4:
 307   4                                                      if((_hex2tobcd(num_l)&0x0f0) < 0x90)
 308   4                                                              num_l +=10;
 309   4                                                      _display_bit8(r,4,num_l);
 310   4                                                      _cursor_pos (r,4);
 311   4                                                      break;
 312   4                                              case 5:
 313   4                                                      if((_hex2tobcd(num_l)&0x0f) < 0x9)
 314   4                                                              num_l ++;
 315   4                                                      _display_bit8(r,4,num_l);
 316   4                                                      _cursor_pos (r,5);
 317   4                                                      break;
 318   4                                              case 13:
 319   4                                                      if((_hex2tobcd(num_h)&0x0f0) < 0x90)
 320   4                                                              num_h +=10;
 321   4                                                      _display_bit8(r,13,num_h);
 322   4                                                      _cursor_pos (r,13);
 323   4                                                      break;
 324   4                                              case 14:
 325   4                                                      if((_hex2tobcd(num_h)&0x0f) < 0x9)
 326   4                                                              num_h ++;
 327   4                                                      _display_bit8(r,13,num_h);
 328   4                                                      _cursor_pos (r,14);
 329   4                                                      break;
 330   4                                              default:
 331   4                                                      break;
 332   4                                              }
 333   3                                      break;
 334   3                              case KP_DEC:
 335   3                                      switch(c)
 336   3                                              {
 337   4                                              case 4:
 338   4                                                      if(_hex2tobcd(num_l)&0x0f0) 
 339   4                                                              num_l -=10;
 340   4                                                      _display_bit8(r,4,num_l);
 341   4                                                      _cursor_pos (r,4);
 342   4                                                      break;
 343   4                                              case 5:
 344   4                                                      if(_hex2tobcd(num_l)&0x0f0)
 345   4                                                              num_l --;
 346   4                                                      _display_bit8(r,4,num_l);
 347   4                                                      _cursor_pos (r,5);
 348   4                                                      break;
 349   4                                              case 13:
 350   4                                                      if(_hex2tobcd(num_h)&0x0f0)
 351   4                                                              num_h -=10;
 352   4                                                      _display_bit8(r,13,num_h);
 353   4                                                      _cursor_pos (r,13);
 354   4                                                      break;
 355   4                                              case 14:
 356   4                                                      if(_hex2tobcd(num_h)&0x0f)
 357   4                                                              num_h --;
 358   4                                                      _display_bit8(r,13,num_h);
 359   4                                                      _cursor_pos (r,14);
 360   4                                                      break;
 361   4                                              default:
 362   4                                                      break;
 363   4                                              }
 364   3                                      break;
 365   3                              default:
C51 COMPILER V7.02b   MAIN                                                                 01/10/2008 11:39:26 PAGE 7   

 366   3                                      break;
 367   3                              }
 368   2                      }
 369   1      }
 370          /*-------------------------------------------------*/
 371          void t_run(void)
 372          {
 373   1              bit exit_flag=0;
 374   1              bit hot_flag=1;
 375   1              unsigned char real;
 376   1      
 377   1              _clear_display();
 378   1              _disp_msge(0,0,"RUN:    xx--xx C");
 379   1              _disp_msge(1,0,"            00 C");
 380   1              _display_bit8(0, 8,     press_l);
 381   1              _display_bit8(0,12,     press_h);
 382   1              run=0;
 383   1              stop=1;
 384   1      //      flag_disp=0;
 385   1      //      tm0_num=0;
 386   1              while(!exit_flag)
 387   1                      {
 388   2                      switch(_scan_key())
 389   2                              {
 390   3                              case KP_EXIT:
 391   3                                      exit_flag=1;
 392   3                                      run=1;
 393   3                                      stop=0;
 394   3                                      break;
 395   3                              case KP_MENU:
 396   3                                      exit_flag=1;
 397   3                                      run=1;
 398   3                                      stop=0;
 399   3                                      break;
 400   3                              default:
 401   3                                      break;
 402   3                              }
 403   2      //              TR0=0;
 404   2                      real = (char)sample();   
 405   2                      if(real>press_h)
 406   2                      {
 407   3                  run=1;
 408   3                              stop=0;
 409   3                  hot_flag=0;
 410   3                      }
 411   2              else 
 412   2                      {
 413   3                  if(real<press_l)
 414   3                      {
 415   4                      run=0;
 416   4                                      stop=1;
 417   4                      hot_flag=1;
 418   4                      }       
 419   3                  else 
 420   3                      {
 421   4                      if(hot_flag) 
 422   4                                              {
 423   5                                              run=0;
 424   5                                              stop=1;
 425   5                                              }
 426   4                                      else 
 427   4                                              {
C51 COMPILER V7.02b   MAIN                                                                 01/10/2008 11:39:26 PAGE 8   

 428   5                                              run=1;
 429   5                                              stop=0;
 430   5                                              }
 431   4                      }
 432   3                      }       
 433   2      //              TR0=1;
 434   2      //              if(flag_disp)
 435   2      //                      {
 436   2                      if(real>88||real<20)
 437   2                              {
 438   3                              if(real>88)
 439   3                                      _disp_msge (1, 11, ">88");
 440   3                              if(real<20)
 441   3                                      _disp_msge (1, 11, "<20");
 442   3                              _cursor_sw(0);
 443   3                              }
 444   2                      else
 445   2                              {
 446   3                              _disp_msge(1,0,"            00 C");
 447   3                              _display_bit8(1,12,     real);
 448   3                              _cursor_sw(0);
 449   3                              }
 450   2      //                      flag_disp=0;
 451   2      //                      }
 452   2                      }
 453   1      }
 454          /*----------------------------------------------------*/
 455          unsigned int sample(void)
 456          {
 457   1      //    unsigned char i;
 458   1              unsigned char i,j;
 459   1          unsigned int t_max,t_min,t_suv_av;
 460   1      //      unsigned int t_suv_av;
 461   1              unsigned int samp[4],t_sum=0;
 462   1      
 463   1          for(i=0;i<4;i++)
 464   1              {
 465   2      //_display_bit8 (0,0,i);
 466   2      //_delay500us(200);             
 467   2                      samp[i]=ad2temp(_ad_result());     
 468   2              t_sum+=samp[i];
 469   2      //_clear_display();
 470   2      //_display_bit8 (0,10,i);
 471   2      //_display_bit16 (1,10,samp[i]);
 472   2      //_display_bit16 (0,10,_ad_result());
 473   2      //_delay500us(200);
 474   2              }
 475   1          t_max=samp[3];
 476   1          t_min=samp[3];
 477   1              for(j=4;j>1;j--)
 478   1              { 
 479   2              if(samp[j-2]>t_max)
 480   2                  t_max=samp[j-2];    //get t_max;
 481   2              if(samp[j-2]<t_min)
 482   2                  t_min=samp[j-2];    //get t_max;
 483   2      //              _clear_display();
 484   2      //              _display_bit8 (0,3,j-2);
 485   2      //              _display_bit16 (1,3,t_max);
 486   2      //              _delay500us(200);
 487   2              }
 488   1          t_suv_av=(t_sum-t_max-t_min)/2;    //get the average of one survey;
 489   1      
C51 COMPILER V7.02b   MAIN                                                                 01/10/2008 11:39:26 PAGE 9   

 490   1      //      t_suv_av=t_sum/8;
 491   1          return t_suv_av;
 492   1      }
 493          /*----------------------------------------------------*/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1622    ----
   CONSTANT SIZE    =    178    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2      27
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       4
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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