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

📄 18b20.lst

📁 一个51单片机的最小系统protues防真
💻 LST
字号:
C51 COMPILER V8.02   18B20                                                                 11/11/2008 22:44:43 PAGE 1   


C51 COMPILER V8.02, 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<reg52.h>
   2          #include" lcd.h "
   3          #include" 18b20.h "
   4          
   5          sbit DQ = P2^7; 
   6          //uchar TT_Flag=0;                              //温度正负区分标志位
   7          //float TT;
   8          extern bit Flag;
   9          
  10          void delay_18B20(unsigned int i)
  11          {
  12   1          while(i--);
  13   1      }
  14          
  15          //初始化函数
  16          Init_DS18B20(void) 
  17          {
  18   1          unsigned char x=0;
  19   1          DQ = 1;          //DQ复位
  20   1          delay_18B20(8);  //稍做延时
  21   1          DQ = 0;          //单片机将DQ拉低
  22   1          delay_18B20(80); //精确延时 大于 480us
  23   1          DQ = 1;          //拉高总线
  24   1          delay_18B20(14);
  25   1          x=DQ;            //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
  26   1          delay_18B20(20);
  27   1      }
  28          
  29          
  30          //读一个字节  
  31          ReadOneChar(void)
  32          {
  33   1          unsigned char i=0;
  34   1          unsigned char dat = 0;
  35   1          for (i=8;i>0;i--)
  36   1          {
  37   2              DQ = 0; // 给脉冲信号
  38   2              dat>>=1;
  39   2              DQ = 1; // 给脉冲信号
  40   2              if(DQ)
  41   2              dat|=0x80;
  42   2              delay_18B20(4);
  43   2          }
  44   1          return(dat);
  45   1      }
  46          
  47          //写一个字节  
  48          WriteOneChar(unsigned char dat)
  49          {
  50   1          unsigned char i=0;
  51   1          for (i=8; i>0; i--)
  52   1          {
  53   2              DQ = 0;
  54   2              DQ = dat&0x01;
  55   2              delay_18B20(5);
C51 COMPILER V8.02   18B20                                                                 11/11/2008 22:44:43 PAGE 2   

  56   2              DQ = 1;
  57   2              dat>>=1;
  58   2          }
  59   1      }
  60          
  61          //读取温度
  62          ReadTemperature(void)
  63          {
  64   1          
  65   1          unsigned char a,b;//c,d;
  66   1          unsigned char TT;                   //温度
  67   1          unsigned char TT_Flag=0;            
  68   1          //unsigned char s,g,f,d,r,e,h;
  69   1          if( Flag)
  70   1          {
  71   2              
  72   2              Init_DS18B20();
  73   2              WriteOneChar(0xCC);     // 跳过读序号列号的操作
  74   2              WriteOneChar(0x44);     // 启动温度转换 
  75   2              Init_DS18B20();
  76   2              WriteOneChar(0xCC);     //跳过读序号列号的操作
  77   2              WriteOneChar(0xBE);     //读取温度寄存器
  78   2              a = ReadOneChar();
  79   2              b = ReadOneChar();
  80   2              ///*
  81   2              TT_Flag=b&0xf8;
  82   2              b=(b&0x07)<<4;
  83   2              a=(a&0xf0)>>4;
  84   2              TT=b|a;
  85   2          }
  86   1          return TT;
  87   1      }


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