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

📄 receive.lst

📁 温度遥测系统程序,半双工的,已经调试成功了
💻 LST
📖 第 1 页 / 共 2 页
字号:
 295   1           {
 296   2              lcd_wrdata(str4[i]);
 297   2              i++;
 298   2           }
 299   1           lcd_wrcmd(0x80);
 300   1           lcd_wrdata('-');
 301   1           lcd_wrdata('>');
 302   1          while(1)
 303   1           {
C51 COMPILER V8.02   RECEIVE                                                               08/23/2007 14:37:00 PAGE 6   

 304   2               ii=getkey();
 305   2                        ///////////////////////////翻屏///////////////////////////////
 306   2               if(ii==15)        
 307   2               {   cnt++;
 308   3                           if(cnt==5) cnt=1;
 309   3                   if(cnt==1)
 310   3                   {  //////////////////////
 311   4                       // ->  1: tempeture   
 312   4                         
 313   4                       //    2: INPUT  TL 
 314   4                       /////////////////////
 315   4                       lcd_wrcmd(1);
 316   4                       lcd_wrcmd(0x83);           //tempeture 
 317   4                       for(i=0;i<strlen(str3);i++)
 318   4                           lcd_wrdata(str3[i]);        
 319   4                       lcd_wrcmd(0xc3);
 320   4                       for(i=0;i<strlen(str4);i++)
 321   4                           lcd_wrdata(str4[i]);   //INPUT  TL            
 322   4                       lcd_wrcmd(0x80);
 323   4                       lcd_wrdata('-');
 324   4                       lcd_wrdata('>'); 
 325   4                   }
 326   3                               if(cnt==2)
 327   3                   {  //////////////////////
 328   4                       //   1: tempeture   
 329   4                         
 330   4                       // -> 2: INPUT  TL 
 331   4                       /////////////////////
 332   4                       lcd_wrcmd(1);
 333   4                       lcd_wrcmd(0x83);           //tempeture 
 334   4                       for(i=0;i<strlen(str3);i++)
 335   4                           lcd_wrdata(str3[i]);        
 336   4                       lcd_wrcmd(0xc3);
 337   4                       for(i=0;i<strlen(str4);i++)
 338   4                           lcd_wrdata(str4[i]);   //INPUT  TL            
 339   4                       lcd_wrcmd(0xc0);
 340   4                       lcd_wrdata('-');
 341   4                       lcd_wrdata('>'); 
 342   4                   }
 343   3                   if(cnt==3)
 344   3                   {  //////////////////////
 345   4                       //     2: INPUT  TL   
 346   4                         
 347   4                       //  ->    3: INPUT  TH 
 348   4                       /////////////////////
 349   4                       lcd_wrcmd(1);
 350   4                       lcd_wrcmd(0x83);           //INPUT  TL 
 351   4                       for(i=0;i<strlen(str4);i++)
 352   4                           lcd_wrdata(str4[i]);        
 353   4                       lcd_wrcmd(0xc3);
 354   4                       for(i=0;i<strlen(str5);i++)
 355   4                           lcd_wrdata(str5[i]);   //INPUT  TH            
 356   4                       lcd_wrcmd(0xc0);
 357   4                       lcd_wrdata('-');
 358   4                       lcd_wrdata('>'); 
 359   4                     }
 360   3                                 if(cnt==4)
 361   3                   {  //////////////////////
 362   4                       //      3: INPUT  TH   
 363   4                         
 364   4                       //  ->  4:send 
 365   4                       /////////////////////
C51 COMPILER V8.02   RECEIVE                                                               08/23/2007 14:37:00 PAGE 7   

 366   4                       lcd_wrcmd(1);
 367   4                       lcd_wrcmd(0x83);           //INPUT  TL 
 368   4                       for(i=0;i<strlen(str5);i++)
 369   4                           lcd_wrdata(str5[i]);        
 370   4                       lcd_wrcmd(0xc3);
 371   4                       for(i=0;i<strlen(str6);i++)
 372   4                           lcd_wrdata(str6[i]);   //INPUT  TH            
 373   4                       lcd_wrcmd(0xc0);
 374   4                       lcd_wrdata('-');
 375   4                       lcd_wrdata('>'); 
 376   4                     }
 377   3                              }
 378   2      
 379   2                       ////////////////////////////////////////////////////////////////
 380   2               else if(ii==14)                  //进入接收端各子菜单
 381   2               {
 382   3                   if(cnt==1)                    //显示温度
 383   3                   {
 384   4                       state=2;
 385   4                       lcd_wrcmd(1);
 386   4                       break;
 387   4                    }
 388   3                    else if(cnt==2)      //输入接收端的下限温度值
 389   3                    {
 390   4                        state=3;
 391   4                        lcd_wrcmd(1);
 392   4                        break;
 393   4                    }
 394   3                    else if(cnt==3)      //输入接收端上限温度报警值
 395   3                    {
 396   4                        state=4;
 397   4                        lcd_wrcmd(1);
 398   4                        break;
 399   4                    }
 400   3                                 else if(cnt==4)         //输入接收端上限温度报警值
 401   3                    {
 402   4                        state=5;
 403   4                        lcd_wrcmd(1);
 404   4                        break;
 405   4                    }                    
 406   3      
 407   3                        }
 408   2                      
 409   2      
 410   2      
 411   2            
 412   2         }
 413   1      
 414   1      
 415   1      }
 416          
 417          /********输入温度的下限值***************/
 418          input_tl()
 419          {  
 420   1          uchar i,j,n,cnt=0;
 421   1          uchar  TL[3];
 422   1          for(i=0;i<3;i++)   
 423   1            TL[i]=0;
 424   1          lcd_wrcmd(0x80);
 425   1          lcd_wrdata('T');
 426   1          lcd_wrdata('L');
 427   1          lcd_wrdata('=');
C51 COMPILER V8.02   RECEIVE                                                               08/23/2007 14:37:00 PAGE 8   

 428   1          while(1)
 429   1          {i=getkey();
 430   2                 if(i<10)
 431   2                 {        cnt++;
 432   3                       if(cnt<=3)
 433   3                       {   TL[cnt-1]=i;
 434   4                           lcd_wrcmd(0x83+cnt-1);
 435   4                           lcd_wrdata(0x30+i);
 436   4                           
 437   4                       }                   
 438   3                       else{
 439   4                           cnt=0;                                      
 440   4                           lcd_wrcmd(0x83);
 441   4                           for(j=0;j<=3;j++)
 442   4                               lcd_wrdata(' ');  
 443   4                                lcd_wrcmd(0x83);
 444   4      
 445   4                           }
 446   3                 }
 447   2      
 448   2                else if(i==12)
 449   2                  {
 450   3                       state=1;
 451   3                       lcd_wrcmd(0x0c);
 452   3                       lcd_wrcmd(1);
 453   3                       lcd_wrcmd(0x80);
 454   3                       n=strlen(TL);
 455   3                       if(TL[2]>=0&&TL[2]<=9)
 456   3                       TLL=TL[0]*100+TL[1]*10+TL[2];
 457   3                      
 458   3                       break;
 459   3                  }
 460   2      
 461   2                   
 462   2                       
 463   2             
 464   2        }
 465   1      }
 466          
 467          
 468          /****************输入温度的上限值***************/
 469          input_th()
 470          {  
 471   1          uchar i,j,n,cnt=0;
 472   1          uchar  TH[3];
 473   1          for(i=0;i<3;i++)   
 474   1           TH[i]=0;
 475   1          lcd_wrcmd(0x80);
 476   1          lcd_wrdata('T');
 477   1          lcd_wrdata('H');
 478   1          lcd_wrdata('=');
 479   1          while(1)
 480   1          {i=getkey();
 481   2                 if(i<10)
 482   2                 {        cnt++;
 483   3                       if(cnt<=3)
 484   3                       {   TH[cnt-1]=i;
 485   4                           lcd_wrcmd(0x83+cnt-1);
 486   4                           lcd_wrdata(0x30+i);
 487   4                           
 488   4                       }                   
 489   3                       else{
C51 COMPILER V8.02   RECEIVE                                                               08/23/2007 14:37:00 PAGE 9   

 490   4                           cnt=0;                                      
 491   4                           lcd_wrcmd(0x83);
 492   4                           for(j=0;j<=3;j++)
 493   4                               lcd_wrdata(' ');  
 494   4                                lcd_wrcmd(0x83);
 495   4      
 496   4                           }
 497   3                 }
 498   2      
 499   2                else if(i==12)
 500   2                  {
 501   3                       state=1;
 502   3                       lcd_wrcmd(0x0c);
 503   3                       lcd_wrcmd(1);
 504   3                       lcd_wrcmd(0x80);
 505   3                       n=strlen(TH);
 506   3                       if(TH[2]>=0&&TH[2]<=9)
 507   3                       THH=TH[0]*100+TH[1]*10+TH[2];
 508   3                       break;
 509   3                  }
 510   2      
 511   2                   
 512   2           }
 513   1      }
 514          send_tlth()                //发送上下限值
 515          
 516           { uchar i;
 517   1         uchar w;
 518   1        lcd_wrcmd(0x0c);
 519   1             lcd_wrcmd(0x82); 
 520   1                
 521   1             for(w=0;w<strlen(str7);w++)
 522   1                  lcd_wrdata(str7[w]);
 523   1          while(1)
 524   1              {
 525   2               i=getkey();
 526   2              senddata(0xfd);
 527   2              senddata(THH);
 528   2              senddata(0xfc);
 529   2              senddata(TLL);
 530   2              delay(110);
 531   2              if(i==13)
 532   2                {
 533   3                       state=1;
 534   3                       lcd_wrcmd(0x0c);
 535   3                       lcd_wrcmd(1);
 536   3                       lcd_wrcmd(0x80);
 537   3                       break;
 538   3                 }
 539   2              }
 540   1      
 541   1       }
 542          
 543          
 544          void main()                                                                               
 545          {
 546   1           lcd_bus=0xff;
 547   1            lcd_ini();
 548   1            serial_init();
 549   1            lcd_h();
 550   1                enable=0;
 551   1                 rt=1;
C51 COMPILER V8.02   RECEIVE                                                               08/23/2007 14:37:00 PAGE 10  

 552   1            while(1)
 553   1            {
 554   2                   if(state==0) welcome();
 555   2                          
 556   2                       else if(state==1) 
 557   2                       {EA=1;
 558   3                        ES=1;
 559   3                        menu();
 560   3                       }
 561   2      
 562   2                       else if(state==2) tempdisplay();
 563   2      
 564   2                       else if(state==3)  input_tl();
 565   2      
 566   2                       else if(state==4)  input_th();
 567   2      
 568   2                        else if(state==5)      
 569   2                        {EA=0;
 570   3                         ES=0;
 571   3                        send_tlth();
 572   3                        }
 573   2      
 574   2      
 575   2             }
 576   1      
 577   1      
 578   1       }
 579          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1779    ----
   CONSTANT SIZE    =    124    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8      21
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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