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

📄 温度测量.lst

📁 运用AT89C2O51单片机实现温度测量,测量精度1度.
💻 LST
📖 第 1 页 / 共 2 页
字号:
 287   2              digit=Dat<<1;           //循环左移1位
 288   2                      Dat=digit;
 289   2          }
 290   1      }
 291          
 292          
 293          
 294          
 295          void KeyAndDis_Time0(void) interrupt 1 using 1  //定时器0中断外理中键扫描和显示
 296          {
 297   1              TR0=0;
 298   1              TH0=0xD8;
 299   1              TL0=0xF0;                                       //设定时值为20000us(20ms)
 300   1              time(); 
 301   1              TR0=1;
 302   1      }
 303          
C51 COMPILER V7.09   温度瞋量                                                              06/23/2005 21:02:16 PAGE 6   

 304          void time ()                                    //计时处理模块
 305          {
 306   1              sec20++;
 307   1      
 308   1              if (sec20>=50)          // 50 * 20 ms = 1 s 
 309   1              {
 310   2                      cl=1;
 311   2                      sec20=0;
 312   2                      e=~e;
 313   2                      if (e==1)
 314   2              sec++;                              //秒计时
 315   2              if (sec>=200)               //
 316   2              {
 317   3                              sec=0;
 318   3                      }
 319   2              }
 320   1      }
 321          
 322          void jpcl()
 323          {
 324   1              k11=k1;
 325   1              if (!k12&&k11) 
 326   1              b=1;
 327   1              k12=k11;
 328   1              k11=k1;
 329   1              k21=k2;
 330   1              if (b==1)
 331   1              {
 332   2                      while(b)
 333   2                      {
 334   3                              buffer[0]=0x77; 
 335   3                              buffer[1]=0x77;
 336   3                              buffer[2]=0x77;
 337   3                              sec=0;
 338   3                              c=0;
 339   3                              while(!c)
 340   3                              {
 341   4                                      if (sec>=2)
 342   4                                      {
 343   5                                              c=1;
 344   5                                      }
 345   4                                      scanLED();
 346   4                              }
 347   3                              c=0;
 348   3                              zzbl=jsz;
 349   3                              jsz=zzz;
 350   3                              timeToBuffer();
 351   3                              while(!c)
 352   3                              {
 353   4                                      k11=k1;
 354   4                                      k21=k2;
 355   4                                      if (!k22&&k21) 
 356   4                                      {
 357   5                                              xm0++;
 358   5                                              if (xm0>9)
 359   5                                              xm0=0;
 360   5                                      }
 361   4                                      if (e==1)
 362   4                                      buffer[2]=0x40;
 363   4                                      else buffer[2]=convert[xm0];
 364   4                                      scanLED();
 365   4                                      if (!k12&&k11) 
C51 COMPILER V7.09   温度瞋量                                                              06/23/2005 21:02:16 PAGE 7   

 366   4                                      {
 367   5                                              c=1;    
 368   5                                      }
 369   4                                      k22=k21;
 370   4                                      k12=k11;
 371   4                              }
 372   3                              buffer[2]=convert[xm0];
 373   3                              c=0;
 374   3                              while(!c)
 375   3                              {
 376   4                                      k11=k1;
 377   4                                      k21=k2;
 378   4                                      if (!k22&&k21) 
 379   4                                      {
 380   5                                              xm1++;
 381   5                                              if (xm1>9)
 382   5                                              xm1=0;
 383   5                                      }
 384   4                                      if (e==1)
 385   4                                      buffer[1]=0x40;
 386   4                                      else buffer[1]=convert[xm1];
 387   4                                      scanLED();
 388   4                                      if (!k12&&k11) 
 389   4                                      {
 390   5                                              c=1;    
 391   5                                      }
 392   4                                      k22=k21;
 393   4                                      k12=k11;
 394   4                              }
 395   3                              buffer[1]=convert[xm1];
 396   3                              c=0;
 397   3                              while(!c)
 398   3                              {
 399   4                                      k11=k1;
 400   4                                      k21=k2;
 401   4                                      if (!k22&&k21) 
 402   4                                      {
 403   5                                              xm2++;
 404   5                                              if (xm2>9)
 405   5                                              xm2=0;
 406   5                                      }
 407   4                                      if (e==1)
 408   4                                      buffer[0]=0x40;
 409   4                                      else buffer[0]=convert[xm2];
 410   4                                      scanLED();
 411   4                                      if (!k12&&k11) 
 412   4                                      {
 413   5                                              c=1;
 414   5                                              b=0;
 415   5                                              zzz=xm0*100+xm1*10+xm2;
 416   5                                      }
 417   4                                      k22=k21;
 418   4                                      k12=k11;
 419   4                              }
 420   3                              buffer[0]=convert[xm2];
 421   3                      }
 422   2                      b=1;
 423   2                      while(b)
 424   2                      {
 425   3                              buffer[0]=0x7C; 
 426   3                              buffer[1]=0x7C;
 427   3                              buffer[2]=0x7C;
C51 COMPILER V7.09   温度瞋量                                                              06/23/2005 21:02:16 PAGE 8   

 428   3                              sec=0;
 429   3                              c=0;
 430   3                              while(!c)
 431   3                              {
 432   4                                      if (sec>=2)
 433   4                                      {
 434   5                                              c=1;
 435   5                                      }
 436   4                                      scanLED();
 437   4                              }
 438   3                              c=0;
 439   3                              jsz=dz;
 440   3                              timeToBuffer();
 441   3                              while(!c)
 442   3                              {
 443   4                                      k11=k1;
 444   4                                      k21=k2;
 445   4                                      if (!k22&&k21) 
 446   4                                      {
 447   5                                              xm0++;
 448   5                                              if (xm0>1)
 449   5                                              xm0=0;
 450   5                                      }
 451   4                                      if (e==1)
 452   4                                      buffer[2]=0x40;
 453   4                                      else buffer[2]=convert[xm0];
 454   4                                      scanLED();
 455   4                                      if (!k12&&k11) 
 456   4                                      {
 457   5                                              c=1;    
 458   5                                      }
 459   4                                      k22=k21;
 460   4                                      k12=k11;
 461   4                              }
 462   3                              buffer[2]=convert[xm0];
 463   3                              c=0;
 464   3                              while(!c)
 465   3                              {
 466   4                                      k11=k1;
 467   4                                      k21=k2;
 468   4                                      if (!k22&&k21) 
 469   4                                      {
 470   5                                              xm1++;
 471   5                                              if (xm1>9)
 472   5                                              xm1=0;
 473   5                                      }
 474   4                                      if (e==1)
 475   4                                      buffer[1]=0x40;
 476   4                                      else buffer[1]=convert[xm1];
 477   4                                      scanLED();
 478   4                                      if (!k12&&k11) 
 479   4                                      {
 480   5                                              c=1;    
 481   5                                      }
 482   4                                      k22=k21;
 483   4                                      k12=k11;
 484   4                              }
 485   3                              buffer[1]=convert[xm1];
 486   3                              c=0;
 487   3                              while(!c)
 488   3                              {
 489   4                                      k11=k1;
C51 COMPILER V7.09   温度瞋量                                                              06/23/2005 21:02:16 PAGE 9   

 490   4                                      k21=k2;
 491   4                                      if (!k22&&k21) 
 492   4                                      {
 493   5                                              xm2++;
 494   5                                              if (xm2>9)
 495   5                                              xm2=0;
 496   5                                      }
 497   4                                      if (e==1)
 498   4                                      buffer[0]=0x40;
 499   4                                      else buffer[0]=convert[xm2];
 500   4                                      scanLED();
 501   4                                      if (!k12&&k11) 
 502   4                                      {
 503   5                                              c=1;
 504   5                                              b=0;
 505   5                                              dz=xm0*100+xm1*10+xm2;
 506   5                                              jsz=zzbl;
 507   5                                      }
 508   4                                      k22=k21;
 509   4                                      k12=k11;
 510   4                              }
 511   3                              buffer[1]=convert[xm2]; 
 512   3                      }
 513   2      
 514   2              }
 515   1      }
 516          
 517          
 518          void jy()
 519          {
 520   1              TR0=0;
 521   1              Number[0]=zzz/256;
 522   1              Number[1]=zzz%256;
 523   1              Number[2]=dz;
 524   1              Number[3]=jsz/256;
 525   1              Number[4]=jsz%256;
 526   1              WrToROM(Number,0,5);
 527   1              delay(50);
 528   1              TR0=1;
 529   1      }
 530          
 531          
 532          
 533          void adzhh()
 534          {
 535   1              if(cl==1)
 536   1              {
 537   2                      TR0=0;
 538   2                      TR1=0;
 539   2                      TH1=0x00;
 540   2                      TL1=0x00;
 541   2                      adk=1;
 542   2                      delay(50);
 543   2                      p36=0;
 544   2                      i=0;
 545   2                      adk=0;
 546   2                      TR1=1;                  
 547   2                      while(~p36)
 548   2                      {
 549   3                              i++;
 550   3                              if(i>=900)                      //上限值
 551   3                              p36=1;
C51 COMPILER V7.09   温度瞋量                                                              06/23/2005 21:02:16 PAGE 10  

 552   3                      }
 553   2                      TR1=0;
 554   2                      t=TH1;
 555   2                      t=t*256+TL1;
 556   2                      jsz=(t-134)/31;
 557   2                      TH0=0xD8;
 558   2                      TL0=0xF0;
 559   2                      TR0=1;
 560   2                      cl=0;
 561   2              }       
 562   1      }
 563          
 564          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1478    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     44      17
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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