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

📄 ds18b20.lst

📁 DS18B20温度传感器
💻 LST
字号:
C51 COMPILER V9.00   DS18B20                                                               08/16/2012 20:03:07 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE DS18B20
OBJECT MODULE PLACED IN DS18B20.OBJ
COMPILER INVOKED BY: D:\学习文件\单片机软件\新建文件夹\C51\BIN\C51.EXE DS18B20.c BROWSE DEBUG OBJECTEXTEND TABS(7)

line level    source

   1          #include<reg52.h>
   2          #include<intrins.h>
   3          #include<DS18B20.h>
   4          #include<LCD12864.h>          //12864液晶串行头文件
   5          #define uint unsigned int
   6          #define uchar unsigned char
   7          
   8          uchar shi,ge,x1,x2;
   9          uchar code wen[]={"0123456789"};
  10          temp_l=1500;           /*   下限温度为15℃   */
  11          temp_h=3000;           /*   上限温度为30℃   */
  12          sbit led=P1^1;         /*    指示灯控制端    */
  13          sbit beep=P1^2;       /*    蜂鸣器控制端    */
  14          /**   显示界面初始化函数   **/
  15          void SEE_init()
  16          {
  17   1       write_com(0x80);
  18   1       write_zi("上限温度:30.00℃");
  19   1       write_com(0x90);
  20   1       write_zi("下限温度:15.00℃");
  21   1       write_com(0x88);
  22   1       write_zi("当前温度:");
  23   1      }
  24          
  25          void dis_temp(uint t)
  26          {
  27   1       shi=t/1000;           //除以100得到温度的十位
  28   1       ge=t%1000/100;        //得到个位
  29   1       x1=t%100/10;          //得到小数点后第一位
  30   1       x2=t%10;              //得到小数点后第二位
  31   1       write_com(0x9a);
  32   1       write_date(wen[shi]);
  33   1       write_date(wen[ge]);
  34   1       write_zi(".");
  35   1       write_date(wen[x1]);
  36   1       write_date(wen[x2]);
  37   1       write_zi(" ℃");
  38   1      }
  39          /*** 温度处理与警告发出  ***/
  40          void deal_temp(uint t)
  41          {
  42   1       t=get_temp();
  43   1       if(t<temp_l)
  44   1         {
  45   2             led=~led;
  46   2             delay_ms(50);
  47   2         }
  48   1       if(t>temp_h)
  49   1         {
  50   2             beep=~beep;
  51   2             led=~led;
  52   2             delay(50);
  53   2         }
  54   1      }
  55          
C51 COMPILER V9.00   DS18B20                                                               08/16/2012 20:03:07 PAGE 2   

  56           /****   主函数        ****/
  57          void main()          
  58          {
  59   1       uchar i;
  60   1       LCD_init();                   //液晶初始化      
  61   1       SEE_init();                   //显示界面初始化         
  62   1       while(1)
  63   1        {
  64   2         tempchange();                     //温度转换函数
  65   2         deal_temp(temp);                         
  66   2         for(i=10;i>0;i--)
  67   2           {
  68   3               dis_temp(get_temp());       //获取暂存器内温度数据并显示       
  69   3              }
  70   2        }
  71   1      }
  72          
  73          
  74          
  75          
  76          
  77          
  78          
  79          
  80          
  81          
  82          
  83          
  84          
  85          
  86          
  87          


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


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

⌨️ 快捷键说明

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