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

📄 ds18b20.lst

📁 用DS18B20和51单片机组合成的温度测量仪器
💻 LST
字号:
C51 COMPILER V7.06   DS18B20                                                               02/26/2007 00:08:56 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE DS18B20
OBJECT MODULE PLACED IN DS18B20.OBJ
COMPILER INVOKED BY: C:\Keil2\C51\BIN\C51.EXE DS18B20.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*******************************ds18b20***********************/
   2          //本模块对外提供void BeginConver(void),void ReadTemperature()二个函数
   3          #include <e51.h>
   4          #include <reg51.h>
   5          sbit DQ =P3^7; 
   6          void delay(unsigned int i)
   7          {
   8   1              while(i--);
   9   1      }
  10          Init_DS18B20(void)
  11          {
  12   1               unsigned char x=0;
  13   1               DQ = 1;    //DQ??
  14   1               delay(8);  //????
  15   1               DQ = 0;    //????DQ??
  16   1               delay(80); //???? ?? 480us
  17   1               DQ = 1;    //????
  18   1               delay(14);
  19   1               x=DQ;      //????? ??x=0?????? x=1??????
  20   1               delay(20);
  21   1      }
  22          unsigned char ReadOneChar(void)
  23          {
  24   1              unsigned char i=0;
  25   1              unsigned char dat = 0;
  26   1              for (i=8;i>0;i--)
  27   1               {
  28   2                        DQ = 0; // ?????
  29   2                        dat>>=1;
  30   2                        DQ = 1; // ?????
  31   2                        if(DQ)
  32   2                        dat|=0x80;
  33   2                        delay(4);
  34   2               }
  35   1              return(dat);
  36   1      }
  37          void WriteOneChar(unsigned char dat)
  38          {
  39   1       unsigned char i=0;
  40   1       for (i=8; i>0; i--)
  41   1       {
  42   2        DQ = 0;
  43   2        DQ = dat&0x01;
  44   2        delay(5);
  45   2        DQ = 1;
  46   2        dat>>=1;
  47   2       }
  48   1        delay(4);
  49   1      }
  50          
  51          void BeginConver(void)
  52          {
  53   1          Init_DS18B20();
  54   1              WriteOneChar(0xCC); // ??????????
  55   1              WriteOneChar(0x44);
C51 COMPILER V7.06   DS18B20                                                               02/26/2007 00:08:56 PAGE 2   

  56   1      }
  57          unsigned int ReadTemperature(void)
  58          {
  59   1              unsigned char a=0;
  60   1              unsigned char b=0;
  61   1              unsigned int t=0;       
  62   1      //      Init_DS18B20();
  63   1      //      WriteOneChar(0xCC); // ??????????
  64   1      //      WriteOneChar(0x44); // ??????
  65   1              Init_DS18B20();
  66   1              WriteOneChar(0xCC); //??????????
  67   1              WriteOneChar(0xBE); //????????(???9????) ???????
  68   1              a=ReadOneChar();
  69   1              b=ReadOneChar();
  70   1              t=b;
  71   1              t<<=8;
  72   1              t=t|a;
  73   1              t=t*0.625;//????????1?
  74   1              return(t);
  75   1      }
  76          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    172    ----
   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 + -