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

📄 18b20.lst

📁 数码管显示温度与时间
💻 LST
字号:
C51 COMPILER V8.17   18B20                                                                 02/22/2009 16:39:38 PAGE 1   


C51 COMPILER V8.17, COMPILATION OF MODULE 18B20
OBJECT MODULE PLACED IN 18b20.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 18b20.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <at89x52.h>
   2          #include <intrins.h>
   3          #define  uchar    unsigned char
   4          #define  uint     unsigned int
   5           bit ready;
   6          sbit Q=P2^7;
   7          void delay_t (uint tt)
   8          {
   9   1       while (tt--);
  10   1      }
  11          //复位18B20
  12          void init_18b20 (void)
  13          {
  14   1       Q=1;
  15   1       _nop_ ();
  16   1       Q=0;
  17   1       delay_t (160);
  18   1       Q=1;
  19   1       delay_t (9);
  20   1       ready=Q;
  21   1       delay_t (100);
  22   1      
  23   1      }
  24          //写入BYTE到18B20
  25          void w_18b20 (uchar dat)
  26          {
  27   1       unsigned char i;
  28   1              for(i=8;i;i--)
  29   1              {
  30   2                      Q=0;
  31   2                      Q=dat&0x01;
  32   2                      delay_t(5); //延时61us(在I/O线由高电平变为低电平之后DS1820在15us~60us之间对 I/O 线采样)
  33   2                      Q=1;
  34   2                      dat>>=1;
  35   2              }
  36   1      }
  37          //读入数据
  38          uchar r_18b20 (void)
  39          {
  40   1       unsigned char i,dat=0;
  41   1              for(i=8;i;i--)
  42   1              {
  43   2              Q=0;
  44   2              dat>>=1;
  45   2              Q=1;
  46   2              if(Q)
  47   2              dat|=0x80;
  48   2              delay_t(5);
  49   2        }
  50   1        return dat;
  51   1      }
  52          get_18b20 (void)
  53          {
  54   1        uint Low,Hight,a;
  55   1        float T;
C51 COMPILER V8.17   18B20                                                                 02/22/2009 16:39:38 PAGE 2   

  56   1        init_18b20 ();
  57   1        w_18b20 (0xcc);
  58   1        w_18b20 (0x44);
  59   1        delay_t (120);
  60   1        init_18b20 ();
  61   1        w_18b20 (0xcc);
  62   1        w_18b20 (0xbe);
  63   1        Low=r_18b20 ();
  64   1        Hight=r_18b20 ();
  65   1        a=Hight;
  66   1        a=a<<8;
  67   1        T=(a|Low)*0.0625*100;                 
  68   1        return T; 
  69   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    171    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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