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

📄 ds18b20.lst

📁 使用18B20温度传感器的程序
💻 LST
字号:
C51 COMPILER V7.50   DS18B20                                                               03/30/2009 21:38:03 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE DS18B20
OBJECT MODULE PLACED IN ds18b20.OBJ
COMPILER INVOKED BY: D:\学习软件\keil\C51\BIN\C51.EXE ds18b20.c BROWSE DEBUG OBJECTEXTEND LISTINCLUDE PREPRINT

line level    source

   1          #include<ds18b20.h>
   1      =1  #include<reg52.h>
   1      =2  /*--------------------------------------------------------------------------
   2      =2  REG52.H
   3      =2  
   4      =2  Header file for generic 80C52 and 80C32 microcontroller.
   5      =2  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =2  All rights reserved.
   7      =2  --------------------------------------------------------------------------*/
   8      =2  
   9      =2  #ifndef __REG52_H__
  10      =2  #define __REG52_H__
  11      =2  
  12      =2  /*  BYTE Registers  */
  13      =2  sfr P0    = 0x80;
  14      =2  sfr P1    = 0x90;
  15      =2  sfr P2    = 0xA0;
  16      =2  sfr P3    = 0xB0;
  17      =2  sfr PSW   = 0xD0;
  18      =2  sfr ACC   = 0xE0;
  19      =2  sfr B     = 0xF0;
  20      =2  sfr SP    = 0x81;
  21      =2  sfr DPL   = 0x82;
  22      =2  sfr DPH   = 0x83;
  23      =2  sfr PCON  = 0x87;
  24      =2  sfr TCON  = 0x88;
  25      =2  sfr TMOD  = 0x89;
  26      =2  sfr TL0   = 0x8A;
  27      =2  sfr TL1   = 0x8B;
  28      =2  sfr TH0   = 0x8C;
  29      =2  sfr TH1   = 0x8D;
  30      =2  sfr IE    = 0xA8;
  31      =2  sfr IP    = 0xB8;
  32      =2  sfr SCON  = 0x98;
  33      =2  sfr SBUF  = 0x99;
  34      =2  
  35      =2  /*  8052 Extensions  */
  36      =2  sfr T2CON  = 0xC8;
  37      =2  sfr RCAP2L = 0xCA;
  38      =2  sfr RCAP2H = 0xCB;
  39      =2  sfr TL2    = 0xCC;
  40      =2  sfr TH2    = 0xCD;
  41      =2  
  42      =2  
  43      =2  /*  BIT Registers  */
  44      =2  /*  PSW  */
  45      =2  sbit CY    = PSW^7;
  46      =2  sbit AC    = PSW^6;
  47      =2  sbit F0    = PSW^5;
  48      =2  sbit RS1   = PSW^4;
  49      =2  sbit RS0   = PSW^3;
  50      =2  sbit OV    = PSW^2;
  51      =2  sbit P     = PSW^0; //8052 only
  52      =2  
  53      =2  /*  TCON  */
C51 COMPILER V7.50   DS18B20                                                               03/30/2009 21:38:03 PAGE 2   

  54      =2  sbit TF1   = TCON^7;
  55      =2  sbit TR1   = TCON^6;
  56      =2  sbit TF0   = TCON^5;
  57      =2  sbit TR0   = TCON^4;
  58      =2  sbit IE1   = TCON^3;
  59      =2  sbit IT1   = TCON^2;
  60      =2  sbit IE0   = TCON^1;
  61      =2  sbit IT0   = TCON^0;
  62      =2  
  63      =2  /*  IE  */
  64      =2  sbit EA    = IE^7;
  65      =2  sbit ET2   = IE^5; //8052 only
  66      =2  sbit ES    = IE^4;
  67      =2  sbit ET1   = IE^3;
  68      =2  sbit EX1   = IE^2;
  69      =2  sbit ET0   = IE^1;
  70      =2  sbit EX0   = IE^0;
  71      =2  
  72      =2  /*  IP  */
  73      =2  sbit PT2   = IP^5;
  74      =2  sbit PS    = IP^4;
  75      =2  sbit PT1   = IP^3;
  76      =2  sbit PX1   = IP^2;
  77      =2  sbit PT0   = IP^1;
  78      =2  sbit PX0   = IP^0;
  79      =2  
  80      =2  /*  P3  */
  81      =2  sbit RD    = P3^7;
  82      =2  sbit WR    = P3^6;
  83      =2  sbit T1    = P3^5;
  84      =2  sbit T0    = P3^4;
  85      =2  sbit INT1  = P3^3;
  86      =2  sbit INT0  = P3^2;
  87      =2  sbit TXD   = P3^1;
  88      =2  sbit RXD   = P3^0;
  89      =2  
  90      =2  /*  SCON  */
  91      =2  sbit SM0   = SCON^7;
  92      =2  sbit SM1   = SCON^6;
  93      =2  sbit SM2   = SCON^5;
  94      =2  sbit REN   = SCON^4;
  95      =2  sbit TB8   = SCON^3;
  96      =2  sbit RB8   = SCON^2;
  97      =2  sbit TI    = SCON^1;
  98      =2  sbit RI    = SCON^0;
  99      =2  
 100      =2  /*  P1  */
 101      =2  sbit T2EX  = P1^1; // 8052 only
 102      =2  sbit T2    = P1^0; // 8052 only
 103      =2               
 104      =2  /*  T2CON  */
 105      =2  sbit TF2    = T2CON^7;
 106      =2  sbit EXF2   = T2CON^6;
 107      =2  sbit RCLK   = T2CON^5;
 108      =2  sbit TCLK   = T2CON^4;
 109      =2  sbit EXEN2  = T2CON^3;
 110      =2  sbit TR2    = T2CON^2;
 111      =2  sbit C_T2   = T2CON^1;
 112      =2  sbit CP_RL2 = T2CON^0;
 113      =2  
 114      =2  #endif
   2      =1  #include<absacc.h> 
C51 COMPILER V7.50   DS18B20                                                               03/30/2009 21:38:03 PAGE 3   

   1      =2  /*--------------------------------------------------------------------------
   2      =2  ABSACC.H
   3      =2  
   4      =2  Direct access to 8051, extended 8051 and Philips 80C51MX memory areas.
   5      =2  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =2  All rights reserved.
   7      =2  --------------------------------------------------------------------------*/
   8      =2  
   9      =2  #ifndef __ABSACC_H__
  10      =2  #define __ABSACC_H__
  11      =2  
  12      =2  #define CBYTE ((unsigned char volatile code  *) 0)
  13      =2  #define DBYTE ((unsigned char volatile data  *) 0)
  14      =2  #define PBYTE ((unsigned char volatile pdata *) 0)
  15      =2  #define XBYTE ((unsigned char volatile xdata *) 0)
  16      =2  
  17      =2  #define CWORD ((unsigned int volatile code  *) 0)
  18      =2  #define DWORD ((unsigned int volatile data  *) 0)
  19      =2  #define PWORD ((unsigned int volatile pdata *) 0)
  20      =2  #define XWORD ((unsigned int volatile xdata *) 0)
  21      =2  
  22      =2  
  23      =2  #ifdef __CX51__
           =2 #define FVAR(object, addr)   (*((object volatile far *) (addr)))
           =2 #define FARRAY(object, base) ((object volatile far *) (base))
           =2 #define FCVAR(object, addr)   (*((object const far *) (addr)))
           =2 #define FCARRAY(object, base) ((object const far *) (base))
           =2 #else
  29      =2  #define FVAR(object, addr)    (*((object volatile far *) ((addr)+0x10000L)))
  30      =2  #define FCVAR(object, addr)   (*((object const far *) ((addr)+0x810000L)))
  31      =2  #define FARRAY(object, base)  ((object volatile far *) ((base)+0x10000L))
  32      =2  #define FCARRAY(object, base) ((object const far *) ((base)+0x810000L))
  33      =2  #endif
  34      =2  
  35      =2  #endif
   3      =1  sbit DQ = P1^0;
   4      =1  void delay(int us);//
   5      =1  bit reset18b20(void);
   6      =1  bit readbit18b20(void);
   7      =1  unsigned char readbyte18b20(void);
   8      =1  void writebit18b20(bit databit);
   9      =1  void writebyte18b20(unsigned char databyte);
   2          
   3          void delay(unsigned char us)//6*us+2+2+2
   4          {       
*** WARNING C235 IN LINE 4 OF DS18B20.C: parameter 1: different types
   5   1              unsigned char k;
   6   1              for(k=0;k<us;k++)
   7   1                              ;
   8   1      }
   9          
  10          bit reset18b20(void)
  11          {
  12   1              unsigned char i;
  13   1              bit exsit;
  14   1              DQ=0;
  15   1              for(i=0;i<100;i++)
  16   1                              ;
  17   1              //delay(60);
  18   1              DQ=1;
  19   1              for(i=0;i<12;i++)
  20   1                              ;
C51 COMPILER V7.50   DS18B20                                                               03/30/2009 21:38:03 PAGE 4   

  21   1              //delay(6);
  22   1              exsit=DQ;
  23   1              for(i=0;i<70;i++)
  24   1                              ;
  25   1      //      delay(20);
  26   1              return(exsit);
  27   1      }
  28          bit readbit18b20(void)
  29          {
  30   1                      char i;         
  31   1                      DQ=0;
  32   1                      DQ=1;
  33   1                      for(i=0;i<3;i++)
  34   1                      ;
  35   1                      return(DQ);
  36   1      }
  37          unsigned char readbyte18b20(void)
  38          {
  39   1                      unsigned char i,value=0,j;
  40   1                      for(i=0;i<8;i++)
  41   1                      {       value>>=1;
  42   2                              if(readbit18b20())
  43   2                              value|=0x80;
  44   2                              else
  45   2                              value&=0x7f;
  46   2                      //      if(i<7)
  47   2                      
  48   2                              for(j=0;j<5;j++)
  49   2                              ;
  50   2                              //
  51   2                      }
  52   1              //      delay(5);
  53   1                      return(value);
  54   1      }
  55          
  56          void writebit18b20(bit databit)
  57          {               
  58   1                      unsigned char j;
  59   1                      DQ=0;           
  60   1                      for(j=0;j<1;j++)
  61   1                      ;
  62   1                      if(databit==1)  
  63   1                      DQ=1;   
  64   1                      for(j=0;j<12;j++)
  65   1                      ;
  66   1                      //delay(9);
  67   1                      DQ=1;
  68   1      }
  69          void writebyte18b20(unsigned char databyte)
  70          {
  71   1                      unsigned char i,j,temp=0;
  72   1                      for(i=0;i<8;i++)
  73   1                      {       
  74   2                              temp=databyte>>i;
  75   2                              if(temp&0x01)   
  76   2                                      writebit18b20(1);
  77   2                              else
  78   2                                      writebit18b20(0);
  79   2      
  80   2                      }
  81   1                      for(j=0;j<20;j++)
  82   1                              ;
C51 COMPILER V7.50   DS18B20                                                               03/30/2009 21:38:03 PAGE 5   

  83   1                      //delay(24);
  84   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    147    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       2
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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