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

📄 ds18b20.lst

📁 该程序详细介绍了实时时钟芯片DS1302的使用编程代码
💻 LST
字号:
C51 COMPILER V7.20   DS18B20                                                               04/01/2005 12:41:13 PAGE 1   


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

line level    source

   1          /**************************************************************************
   2          YB-51-B  DS18B20数字温度模块的演示程序(函数模块)
   3          来源: 郑州远博科技   王兴民
   4          0371-66949037  0371-67256036 13949105551
   5          (需要参看DS18B20的原理和时序,见配套光盘)
   6          ***************************************************************************/
   7          
   8          #include <config.h>
   9          #define DQ18B20   P2_6   //DS18B20接口定义
  10          
  11          /*****************************************************************************
  12          ds18b20 的各个功能函数
  13          ******************************************************************************/
  14          /*****************************************************************************
  15          写18b20
  16          ******************************************************************************/
  17          void Write_18b20(Uchar ddata)  {
  18   1            Uchar i;
  19   1                for(i=0;i<8;i++) 
  20   1                {
  21   2                   DQ18B20 =0;
  22   2                       Delayus(1);  //延时18us
  23   2                       DQ18B20 =(bit)(ddata&0x01);
  24   2                       ddata=ddata>>1;
  25   2                       Delayus(6);  //延时68us
  26   2                       DQ18B20 =1;
  27   2                 }
  28   1                                     }
  29          /*******************************************************************************
  30          读18b20
  31          ********************************************************************************/
  32          Uchar Read_18b20(void)         {
  33   1            Uchar   i,temp;
  34   1                for(i=0;i<8;i++)
  35   1                {
  36   2                   temp=temp>>1;
  37   2                       DQ18B20 =0;
  38   2                       DQ18B20 =1;
  39   2                       Delayus(0);
  40   2                       if(DQ18B20 ==0)
  41   2                       {
  42   3                          temp=temp&0x7f;
  43   3                       }
  44   2                       else
  45   2                       {
  46   3                          temp=temp|0x80;
  47   3                       }
  48   2                       Delayus(5); //延时58us
  49   2                       DQ18B20 =1;
  50   2                 }
  51   1                 return temp;
  52   1                                    }
  53          
  54          /*********************************************************************************
  55          18b20初始化
C51 COMPILER V7.20   DS18B20                                                               04/01/2005 12:41:13 PAGE 2   

  56          **********************************************************************************/
  57          void Init_18b20(void)         {
  58   1            DQ18B20 =0;
  59   1                Delayus(50);    //延时508us
  60   1                DQ18B20 =1;
  61   1                Delayus(10);    //延时108us
  62   1            while(!DQ18B20 ) ; 
  63   1                DQ18B20 =1;
  64   1                
  65   1                                         }
  66          /**************************************************************************************
  67          跳过函数 
  68          ***************************************************************************************/
  69          void Skip(void)                {
  70   1           Write_18b20(0xcc);
  71   1                                         }
  72          
  73          /**************************************************************************************
  74          转换函数
  75          ***************************************************************************************/
  76          void Convert(void)             {
  77   1           Write_18b20(0x44);
  78   1                                          }
  79          
  80          /**************************************************************************************
  81          read_scrat
  82          ***************************************************************************************/
  83          void Read_scrat(void)              {
  84   1           Write_18b20(0xbe);
  85   1                                          }
  86          /*************************************************************************************
  87          
  88          **************************************************************************************/
  89          
  90          
  91          
  92                              
  93          
  94          
  95          
  96          
  97          
  98          


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