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

📄 ds1820.lst

📁 proteus与keil仿真89c55控制18b20 ds1302 字符液晶
💻 LST
字号:
C51 COMPILER V8.01   DS1820                                                                10/03/2008 08:28:27 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE DS1820
OBJECT MODULE PLACED IN DS1820.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE DS1820.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <data.h>
   2          
   3          /*---内部函数定义区---*/
   4          void    Init_DS18B20();                         //DS18B20复位函数
   5          uchar   ReadOneChar();                          //DS18B20字节读函数
   6          void    WriteOneChar(uchar dat);        //DS18B20字节写函数
   7          void    delay_18B20(uint i);            //DS18B20延时函数
   8          /*---内部函数定义区---*/
   9          
  10          /***********ds18b20延迟子函数(晶振24MHz )*******/ 
  11          
  12          void delay_18B20(unsigned int i)
  13          {
  14   1              while(i--);
  15   1      }
  16          
  17          /**********ds18b20初始化函数**********************/
  18          
  19          void Init_DS18B20(void) 
  20          {
  21   1               unsigned char x=0;
  22   1               DQ = 1;          //DQ复位
  23   1               delay_18B20(16);  //稍做延时
  24   1               DQ = 0;          //单片机将DQ拉低
  25   1               delay_18B20(160); //精确延时 大于 480us
  26   1               DQ = 1;          //拉高总线
  27   1               delay_18B20(28);
  28   1               x=DQ;            //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
  29   1               delay_18B20(40);
  30   1      }
  31          
  32          /***********ds18b20读一个字节**************/  
  33          
  34          unsigned char ReadOneChar(void)
  35          {
  36   1              uchar i=0;
  37   1              uchar dat = 0;
  38   1              for (i=8;i>0;i--)
  39   1               {
  40   2                        DQ = 0; // 给脉冲信号
  41   2                        dat>>=1;
  42   2                        _nop_();
  43   2                        _nop_();
  44   2                        _nop_();
  45   2                        _nop_();
  46   2                        DQ = 1; // 给脉冲信号
  47   2                        _nop_();
  48   2                        if(DQ)
  49   2                        dat|=0x80;
  50   2                        delay_18B20(12);
  51   2               }
  52   1              return(dat);
  53   1      }
  54          
  55          /*************ds18b20写一个字节****************/  
C51 COMPILER V8.01   DS1820                                                                10/03/2008 08:28:27 PAGE 2   

  56          
  57          void WriteOneChar(uchar dat)
  58          {
  59   1              unsigned char i=0;
  60   1              for (i=8; i>0; i--)
  61   1              {
  62   2                      DQ = 0;
  63   2                      _nop_();
  64   2                      DQ = dat&0x01;
  65   2              delay_18B20(14);
  66   2                      DQ = 1;
  67   2              dat>>=1;
  68   2       }
  69   1      }


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