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

📄 ds18b20c.lst

📁 51单片机开发
💻 LST
字号:
C51 COMPILER V7.06   DS18B20C                                                              08/29/2006 18:00:54 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE DS18B20C
OBJECT MODULE PLACED IN ds18b20c.OBJ
COMPILER INVOKED BY: E:\Program Files\C51\BIN\C51.EXE ds18b20c.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //****************ds18b20.c******************//
   2          #pragma small
   3          #include<reg52.h>
   4          #include<intrins.h>
   5          #define uchar unsigned char
   6          #define uint unsigned int
   7          
   8          sbit DQ=P3^6;
   9          
  10          
  11          delay(uint i)
  12          {
  13   1        while(i--);
  14   1        }
  15          
  16          reset(void)   //复位
  17          {
  18   1        uchar x=0;
  19   1        DQ = 1;
  20   1      delay(8);   //稍做延时
  21   1        DQ = 0;
  22   1      delay(80);   //精确延时 大于 480us
  23   1        DQ = 1;   //拉高总线
  24   1      delay(14);
  25   1        x=DQ;
  26   1      delay(20);
  27   1      }
  28          
  29          readbyte(void) //读1字节
  30          {
  31   1      uchar i=0;
  32   1      uchar dat=0;
  33   1      for (i=8;i>0;i--)
  34   1      {
  35   2        DQ = 0;
  36   2        dat>>=1;
  37   2        DQ = 1;
  38   2        if(DQ)
  39   2        dat|=0x80;
  40   2        delay(4);
  41   2        }
  42   1        return(dat);
  43   1        }
  44          
  45          writebyte(unsigned char dat) //写1字节
  46          {
  47   1        uchar i=0;
  48   1      for (i=8; i>0; i--)
  49   1      {
  50   2        DQ = 0;
  51   2        DQ = dat&0x01;
  52   2        delay(5);
  53   2        DQ = 1;
  54   2        dat>>=1;
  55   2        }
C51 COMPILER V7.06   DS18B20C                                                              08/29/2006 18:00:54 PAGE 2   

  56   1      delay(4);
  57   1      }
  58          
  59          readtemp(void) //读取温度
  60          {
  61   1        uchar a=0,b=0;
  62   1        reset();
  63   1        writebyte(0xCC); // 跳过序列号
  64   1        writebyte(0x44); // 启动温度转换
  65   1        reset();
  66   1        writebyte(0xCC);
  67   1        writebyte(0xBE); //读9个寄存器,前两个为温度
  68   1        a=readbyte();   //低位
  69   1        b=readbyte();   //高位
  70   1        temper[0]=a&0x0f;
*** ERROR C202 IN LINE 70 OF DS18B20C.C: 'temper': undefined identifier
  71   1        a=a>>4;         //低位右移4位,舍弃小数部分
  72   1        temper[1]=b<<4;         //高位左移4位,舍弃符号位
*** ERROR C202 IN LINE 72 OF DS18B20C.C: 'temper': undefined identifier
  73   1        temper[1]=temper[1]|a;
*** ERROR C202 IN LINE 73 OF DS18B20C.C: 'temper': undefined identifier
  74   1        }
  75          
  76          main()
  77          {
  78   1        while(1)
  79   1        {
  80   2        readtemp();
  81   2          disp();
  82   2          }
  83   1        }

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

⌨️ 快捷键说明

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