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

📄 ds18b20.lst

📁 温度控制PWM
💻 LST
字号:
C51 COMPILER V6.23a  DS18B20                                                               12/11/2007 13:18:31 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE DS18B20
OBJECT MODULE PLACED IN .\obj\Ds18b20.obj
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE driver\Ds18b20.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\Ds18b2
                    -0.lst) OBJECT(.\obj\Ds18b20.obj) 

stmt level    source

   1          #include <REG52.h>
   2          #include "DS18B20.h"
   3          /*************************************************
   4          /*
   5          /*
   6          /************************************************/
   7          
   8          sbit DQ = P2^0;                    //数据输出口
   9          /*************************************************
  10          /*
  11          /* 
  12          /*
  13          /*
  14          /*
  15          /************************************************/
  16          
  17          void delay1(int us) 
  18          {
  19   1          int s;
  20   1          for (s=0; s<us; s++);
  21   1      }
  22          
  23          /**********************************************************
  24          *Header:
  25          *File Name:
  26          *Author:陈培炜,杨帆 
  27          *Data;2007
  28          *Function:rest the Ds18b20
  29          *********************************************************/
  30          
  31          void rst(void)
  32          {
  33   1              DQ = 1;
  34   1              delay1(2);
  35   1              DQ = 0;
  36   1              delay1(30);     // 精确延时 480~960us //
  37   1              DQ = 1;
  38   1              delay1(8);
  39   1      }
  40          /*************************************************
  41          /*Header:DS18B20.h
  42          /*File Name:DS18B20.c 
  43          /*Author: 陈培炜,杨帆
  44          /*Data;2007
  45          /*Function:
  46          /************************************************/
  47          unsigned int read(void)
  48          {
  49   1              int i = 0;
  50   1              unsigned int u = 0;
  51   1              for (i=0; i<16; i++)
  52   1              {
  53   2                      DQ = 0;
  54   2                      u >>= 1;
C51 COMPILER V6.23a  DS18B20                                                               12/11/2007 13:18:31 PAGE 2   

  55   2                      DQ = 1;
  56   2                      if (DQ) 
  57   2                      {
  58   3                              u |= 0x8000;
  59   3                      }
  60   2                      delay1(4);
  61   2              }
  62   1              return (u);
  63   1      }
  64          /*************************************************
  65          /*Header:DS18B20.h
  66          /*File Name:DS18B20.c 
  67          /*Author: 陈培炜,杨帆
  68          /*Data;2007
  69          /*Function:
  70          /************************************************/
  71          void write(unsigned char ku)
  72          {
  73   1              int i = 0;
  74   1              for (i=0; i<8 ;i++)
  75   1              {
  76   2              DQ = 0;
  77   2              DQ = ku & 0x01;
  78   2              delay1(3);
  79   2              DQ = 1;
  80   2              ku >>= 1;
  81   2              }
  82   1      }
  83          /*************************************************
  84          /*Header:DS18B20.h
  85          /*File Name:DS18B20.c 
  86          /*Author: 陈培炜,杨帆
  87          /*Data;2007
  88          /*Function:
  89          /************************************************/
  90          char read0(void)
  91          {
  92   1      
  93   1              int t1 = 0;
  94   1              unsigned int tp;
  95   1              unsigned int lsb;
  96   1              rst();
  97   1              write(0xCC);
  98   1              write(0x44);
  99   1              rst();
 100   1              write(0xCC);
 101   1              write(0xBE);
 102   1              tp = read();
 103   1      
 104   1              lsb = (unsigned int)(tp*6.25); //
 105   1              t1=lsb/100;
 106   1      
 107   1              return((char)t1);
 108   1      
 109   1      }
 110          /*************************************************
 111          /*
 112          /*
 113          /************************************************/


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V6.23a  DS18B20                                                               12/11/2007 13:18:31 PAGE 3   

   CODE SIZE        =    195    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -