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

📄 2.lst

📁 知道过程虚报絮烦那些幸福关系豆腐干活动法
💻 LST
📖 第 1 页 / 共 2 页
字号:
 298   1                      { 
 299   2                      if (SetTF || !Key_SET)
 300   2                                      {
 301   3                              LED_One = (TMSetV) / 100;          //SET状态下显示设定值
C51 COMPILER V7.50   2                                                                     05/07/2008 15:06:04 PAGE 6   

 302   3                              LED_Two = (TMSetV - LED_One * 100)/10;
 303   3                                  LED_Three = TMSetV - LED_One * 100 - LED_Two * 10;
 304   3                                      }
 305   2                      else
 306   2                                      {
 307   3                              LED_One = (TMV) / 100;                                                  //转换百位值            
 308   3                              LED_Two = (TMV - LED_One * 100)/10;
 309   3                                  LED_Three = TMV - LED_One * 100 - LED_Two * 10;
 310   3                                      }
 311   2                      }
 312   1      
 313   1       //转LED字段    
 314   1              if (LED_One) //超过百时十位的处理
 315   1                      LED_Two = LEDDis[LED_Two];              
 316   1              else
 317   1                      {
 318   2                              if (LED_Two == 0)
 319   2                                      LED_Two = LEDDis[10];
 320   2                              else
 321   2                                      LED_Two = LEDDis[LED_Two];
 322   2                      }
 323   1              if (Sign)
 324   1                      LED_One = LEDDis[11];
 325   1              else
 326   1                      {
 327   2                              if (LED_One == 0)
 328   2                                      LED_One = LEDDis[10];
 329   2                              else
 330   2                                      LED_One = LEDDis[LED_One];
 331   2                      }
 332   1              LED_Three = LEDDis[LED_Three];
 333   1      }
 334          
 335          void InitDS1820(void)           //初始化DS1820
 336          {
 337   1              TMPort = 1;             //拉高TMPort
 338   1              _nop_();      //保持一个周期
 339   1              TMPort = 0;             //拉低TMPort
 340   1        Delay_510();  //延时  DS1820复位时间要500us的低电平
 341   1        TMPort = 1;   //拉高TMPort
 342   1              _nop_();      //保持  
 343   1              _nop_();
 344   1              _nop_();
 345   1      
 346   1        Delay_110();  //延时110us 等待DS1820回应
 347   1        if (!TMPort)  //回应信号为低电平
 348   1          DS1820ON = 1;
 349   1        else
 350   1          DS1820ON = 0;
 351   1        Delay_110();  //延时
 352   1        Delay_110();
 353   1        TMPort = 1;   //拉高TMPort
 354   1      }
 355          
 356          void ROMDS1820(void)  //跳过ROM匹配
 357          {
 358   1      #pragma asm
 359   1        MOV A,#0CCH
 360   1        MOV R2,#8
 361   1        CLR C
 362   1        WR1:
 363   1        CLR P3^7
C51 COMPILER V7.50   2                                                                     05/07/2008 15:06:04 PAGE 7   

 364   1        MOV R3,#6
 365   1        DJNZ R3,$
 366   1        RRC A
 367   1        MOV P3^7,C
 368   1        MOV R3,#23
 369   1        DJNZ R3,$
 370   1        SETB P3^7
 371   1        NOP
 372   1        DJNZ R2,WR1
 373   1        SETB P3^7
 374   1      #pragma endasm
 375   1      }
 376          
 377          void TMVDS1820(void)  //温度转换指令
 378          {
 379   1      #pragma asm
 380   1        MOV A,#44H
 381   1        MOV R2,#8
 382   1        CLR C
 383   1        WR2:
 384   1        CLR P3^7
 385   1        MOV R3,#6
 386   1        DJNZ R3,$
 387   1        RRC A
 388   1        MOV P3^7,C
 389   1        MOV R3,#23
 390   1        DJNZ R3,$
 391   1        SETB P3^7
 392   1        NOP
 393   1        DJNZ R2,WR2
 394   1        SETB P3^7
 395   1      #pragma endasm
 396   1      }
 397          
 398          void TMRDS1820(void)  //读出温度指令
 399          {
 400   1      #pragma asm
 401   1        MOV A,#0BEH
 402   1        MOV R2,#8
 403   1        CLR C
 404   1        WR3:
 405   1        CLR P3^7
 406   1        MOV R3,#6
 407   1        DJNZ R3,$
 408   1        RRC A
 409   1        MOV P3^7,C
 410   1        MOV R3,#23
 411   1        DJNZ R3,$
 412   1        SETB P3^7
 413   1        NOP
 414   1        DJNZ R2,WR3
 415   1        SETB P3^7
 416   1      #pragma endasm
 417   1      }
 418          
 419          void TMWDS1820(void)  //写入温度限制指令
 420          {
 421   1      #pragma asm
 422   1        MOV A,#04EH
 423   1        MOV R2,#8
 424   1        CLR C
 425   1        WR13:
C51 COMPILER V7.50   2                                                                     05/07/2008 15:06:04 PAGE 8   

 426   1        CLR P3^7
 427   1        MOV R3,#6
 428   1        DJNZ R3,$
 429   1        RRC A
 430   1        MOV P3^7,C
 431   1        MOV R3,#23
 432   1        DJNZ R3,$
 433   1        SETB P3^7
 434   1        NOP
 435   1        DJNZ R2,WR13
 436   1        SETB P3^7
 437   1      #pragma endasm
 438   1      }
 439          
 440          void TMREDS1820(void)           //COPY RAM to E2PRAM
 441          {
 442   1      #pragma asm
 443   1        MOV A,#48H
 444   1        MOV R2,#8
 445   1        CLR C
 446   1        WR33:
 447   1        CLR P3^7
 448   1        MOV R3,#6
 449   1        DJNZ R3,$
 450   1        RRC A
 451   1        MOV P3^7,C
 452   1        MOV R3,#23
 453   1        DJNZ R3,$
 454   1        SETB P3^7
 455   1        NOP
 456   1        DJNZ R2,WR33
 457   1        SETB P3^7
 458   1      #pragma endasm
 459   1      }
 460          
 461          void TMERDS1820(void)           //COPY E2PRAM to RAM
 462          {
 463   1      #pragma asm
 464   1        MOV A,#0B8H
 465   1        MOV R2,#8
 466   1        CLR C
 467   1        WR43:
 468   1        CLR P3^7
 469   1        MOV R3,#6
 470   1        DJNZ R3,$
 471   1        RRC A
 472   1        MOV P3^7,C
 473   1        MOV R3,#23
 474   1        DJNZ R3,$
 475   1        SETB P3^7
 476   1        NOP
 477   1        DJNZ R2,WR43
 478   1        SETB P3^7
 479   1      #pragma endasm
 480   1      }
 481          
 482          void WriteDS1820(void)  //写入温度限制值
 483          {
 484   1      #pragma asm
 485   1              MOV A,26H                                       //发出4EH写ROM指令后连发两个字节分别为上下限
 486   1        MOV R2,#8
 487   1        CLR C
C51 COMPILER V7.50   2                                                                     05/07/2008 15:06:04 PAGE 9   

 488   1        WR23:
 489   1        CLR P3^7
 490   1        MOV R3,#6
 491   1        DJNZ R3,$
 492   1        RRC A
 493   1        MOV P3^7,C
 494   1        MOV R3,#23
 495   1        DJNZ R3,$
 496   1        SETB P3^7
 497   1        NOP
 498   1        DJNZ R2,WR23
 499   1        SETB P3^7       
 500   1      #pragma endasm
 501   1      }
 502          
 503          void ReadDS1820(void) //读出温度值
 504          {
 505   1      #pragma asm
 506   1        MOV R4,#3 ; 将温度高位和低位,高温限制位从DS18B20中读出
 507   1        MOV R1,#29H ; 低位存入29H(TEMPER_L),高位存入28H(TEMPER_H),高温限制位存入27H(TMRomV)
 508   1        RE00:
 509   1        MOV R2,#8
 510   1        RE01:
 511   1        CLR C
 512   1        SETB P3^7
 513   1        NOP
 514   1        NOP
 515   1        CLR P3^7
 516   1        NOP
 517   1        NOP
 518   1        NOP
 519   1        SETB P3^7
 520   1        MOV R3,#09
 521   1        RE10: 
 522   1        DJNZ R3,RE10
 523   1        MOV C,P3^7
 524   1        MOV R3,#23
 525   1        RE20: 
 526   1        DJNZ R3,RE20
 527   1        RRC A
 528   1        DJNZ R2,RE01
 529   1        MOV @R1,A
 530   1        DEC R1
 531   1        DJNZ R4,RE00
 532   1      #pragma endasm
 533   1      }
 534          
 535          void Delay_510(void)    //延时510微秒
 536          {
 537   1      #pragma asm
 538   1              MOV R0,#7DH
 539   1              MOV R1,#02H
 540   1              TSR1:
 541   1              DJNZ R0,TSR1
 542   1              MOV R0,#7DH
 543   1              DJNZ R1,TSR1
 544   1      #pragma endasm
 545   1      }
 546          
 547          void Delay_110(void)    //延时110微秒
 548          {
 549   1      #pragma asm
C51 COMPILER V7.50   2                                                                     05/07/2008 15:06:04 PAGE 10  

 550   1              MOV R0,#19H
 551   1              MOV R1,#02H
 552   1              TSR2:
 553   1              DJNZ R0,TSR2
 554   1              MOV R0,#19H
 555   1              DJNZ R1,TSR2
 556   1      #pragma endasm
 557   1      }
 558          
 559          void Delay_10ms(void)   //延时10ms
 560          {
 561   1      #pragma asm
 562   1              MOV R0,#19H
 563   1              MOV R1,#0C8H
 564   1              TSR3:
 565   1              DJNZ R0,TSR3
 566   1              MOV R0,#19H
 567   1              DJNZ R1,TSR3
 568   1      #pragma endasm
 569   1      }
 570          
 571          void Delay_4s(void)     //延时4s
 572          {
 573   1      #pragma asm
 574   1        MOV R2,#28H
 575   1        TSR5:
 576   1              MOV R0,#0FAH
 577   1              MOV R1,#0C8H
 578   1              TSR4:
 579   1              DJNZ R0,TSR4
 580   1              MOV R0,#0FAH
 581   1              DJNZ R1,TSR4
 582   1        DJNZ R2,TSR5
 583   1      #pragma endasm
 584   1      }
 585          
 586          
 587          
 588          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1237    ----
   CONSTANT SIZE    =     12    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     12    ----
   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 + -