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

📄 ds18b20.lst

📁 基于STC89C52和DS18B20的温度采集代码
💻 LST
字号:
C51 COMPILER V7.20   DS18B20                                                               05/25/2009 23:45:22 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE DS18B20
OBJECT MODULE PLACED IN DS18B20.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE DS18B20.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "ds18b20.h"
   2          
   3          uchar code Led_Show[]={0xC0,0xF9,0xA4,0xB0,
   4                                                          0x99,0x92,0x82,0xF8,
   5                                                          0x80,0x90,0x88,0x83,
   6                                                          0xC6,0xA1,0x86,0x8E,0x00
   7                                                          };
   8          uchar temp[4]={1,0,0,0};
   9          
  10          
  11          
  12          //延时X微秒
  13          void Delay_Ms(uchar x)
  14          {
  15   1          uchar j;
  16   1          while(x--)
  17   1          {
  18   2              for( j =0;j<50;j++ );
  19   2          }
  20   1      }
  21          
  22          
  23          void delay_us(unsigned char us)
  24          {
  25   1              while(us--);
  26   1      }
  27          
  28          /*
  29          uchar crc1820(uchar jj)   
  30          {
  31                  uchar ii,crc_data=0;
  32          
  33                  for(ii=0;ii<jj;ii++){ 
  34                                  crc_data=crc_table[crc_data^temp_buff[ii]];
  35                          }
  36              return(crc_data);
  37          }
  38          */
  39          
  40          bit init_1820(void)
  41          {
  42   1              bit F18b20;
  43   1              Bdq18B20=1;
  44   1              _nop_();
  45   1              Bdq18B20=0;
  46   1              delay_us(80);  //delay 480us
  47   1              Bdq18B20=1;
  48   1              delay_us(14);  //delay 100us
  49   1              if(Bdq18B20==0) F18b20=1;
  50   1              else F18b20=0;
  51   1              delay_us(20);
  52   1              Bdq18B20=1;
  53   1              return(F18b20);
  54   1      }
  55          
C51 COMPILER V7.20   DS18B20                                                               05/25/2009 23:45:22 PAGE 2   

  56          void write_1820(unsigned char wr)
  57          {
  58   1              unsigned char ii;
  59   1              for (ii=0;ii<8;ii++)
  60   1              {
  61   2                      Bdq18B20=0;
  62   2                      _nop_();
  63   2                      Bdq18B20=wr&1;
  64   2                      delay_us(5);//delay 45us
  65   2                      Bdq18B20=1;
  66   2                      wr>>=1;
  67   2              }
  68   1      }
  69          
  70          unsigned char read_1820(void) //
  71          
  72          {
  73   1              unsigned char ii,uu=0;
  74   1              for(ii=0;ii<8;ii++){
  75   2                  Bdq18B20=0;
  76   2                  uu>>=1;
  77   2                  Bdq18B20=1;
  78   2                  if(Bdq18B20==1) uu|=0x80;
  79   2                  delay_us(4);
  80   2              }
  81   1              return(uu);
  82   1      }
  83          
  84          
  85           
  86          
  87          void read_1820s(unsigned char jj)         //

⌨️ 快捷键说明

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