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

📄 receive.lst

📁 个人单片机入门程序集合 。很适合刚学单片机的人。用的是keil proteus
💻 LST
📖 第 1 页 / 共 2 页
字号:
 260   1             lcd_wrcmd(0xc4);
 261   1             lcd_wrdata('2'); lcd_wrdata('0');lcd_wrdata('0');lcd_wrdata('7');
 262   1             lcd_wrdata(0);
 263   1             lcd_wrdata('0');lcd_wrdata('8');
 264   1             lcd_wrdata(1);
 265   1             while(1)
 266   1             {                                                           
 267   2                 temp=getkey();
 268   2                 if(temp!=0xff)    //按任意键跳转
 269   2                 {
 270   3                     state=1;  
 271   3                     lcd_wrcmd(1);
 272   3                     break;
 273   3                 }
 274   2             }
 275   1      }
 276          
 277          menu()
 278          {
 279   1           uchar i,ii,cnt=1;
 280   1      
 281   1           lcd_wrcmd(0x83);
 282   1           for(i=0;i<strlen(str3);i++)
 283   1               lcd_wrdata(str3[i]);
 284   1           lcd_wrcmd(0xc3);
 285   1           i=0;
 286   1           while(str4[i]!='\0')
 287   1           {
 288   2              lcd_wrdata(str4[i]);
 289   2              i++;
 290   2           }
 291   1           lcd_wrcmd(0x80);
 292   1           lcd_wrdata('-');
 293   1           lcd_wrdata('>');
 294   1          while(1)
 295   1           {
 296   2               ii=getkey();
 297   2                        ///////////////////////////翻屏///////////////////////////////
 298   2               if(ii==15)        
 299   2               {   cnt++;
 300   3                           if(cnt==4) cnt=1;
 301   3                   if(cnt==1)
 302   3                   {  //////////////////////
 303   4                       // ->  1: tempeture   
C51 COMPILER V8.02   RECEIVE                                                               08/18/2007 13:32:16 PAGE 6   

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

 366   4                        lcd_wrcmd(1);
 367   4                        break;
 368   4                    }
 369   3                    else if(cnt==3)
 370   3                    {
 371   4                        state=4;
 372   4                        lcd_wrcmd(1);
 373   4                        break;
 374   4                    }           
 375   3      
 376   3                        }
 377   2      
 378   2            
 379   2         }
 380   1      
 381   1      
 382   1      }
 383          
 384          /********输入温度的下限值***************/
 385          input_tl()
 386          {  
 387   1          uchar i,j,n,cnt=0;
 388   1          uchar  TL[3];
 389   1          for(i=0;i<3;i++)   
 390   1            TL[i]=0;
 391   1          lcd_wrcmd(0x80);
 392   1          lcd_wrdata('T');
 393   1          lcd_wrdata('L');
 394   1          lcd_wrdata('=');
 395   1          while(1)
 396   1          {i=getkey();
 397   2                 if(i<10)
 398   2                 {        cnt++;
 399   3                       if(cnt<=3)
 400   3                       {   TL[cnt-1]=i;
 401   4                           lcd_wrcmd(0x83+cnt-1);
 402   4                           lcd_wrdata(0x30+i);
 403   4                           
 404   4                       }                   
 405   3                       else{
 406   4                           cnt=0;                                      
 407   4                           lcd_wrcmd(0x83);
 408   4                           for(j=0;j<=3;j++)
 409   4                               lcd_wrdata(' ');  
 410   4                                lcd_wrcmd(0x83);
 411   4      
 412   4                           }
 413   3                 }
 414   2      
 415   2                else if(i==12)
 416   2                  {
 417   3                       state=1;
 418   3                       lcd_wrcmd(0x0c);
 419   3                       lcd_wrcmd(1);
 420   3                       lcd_wrcmd(0x80);
 421   3                       n=strlen(TL);
 422   3                       if(TL[2]>=0&&TL[2]<=9)
 423   3                       TLL=TL[0]*100+TL[1]*10+TL[2];
 424   3                      
 425   3                       break;
 426   3                  }
 427   2      
C51 COMPILER V8.02   RECEIVE                                                               08/18/2007 13:32:16 PAGE 8   

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

 490   1            serial_init();
 491   1            lcd_h();
 492   1                enable=0;
 493   1                 rt=1;
 494   1            while(1)
 495   1            {
 496   2                   if(state==0) welcome();
 497   2                          
 498   2                       else if(state==1) menu();
 499   2      
 500   2                       else if(state==2) tempdisplay();
 501   2      
 502   2                       else if(state==3)  input_tl();
 503   2      
 504   2                       else if(state==4)  input_th();
 505   2      
 506   2      
 507   2             }
 508   1      
 509   1      
 510   1       }
 511          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1531    ----
   CONSTANT SIZE    =    109    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8      20
   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 + -