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

📄 route0.lst

📁 一个温度采集系统的单片机程序与WINDOWS 串口通信程序
💻 LST
字号:
C51 COMPILER V7.00  ROUTE0                                                                 06/14/2005 17:21:08 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE ROUTE0
OBJECT MODULE PLACED IN route0.OBJ
COMPILER INVOKED BY: C:\PROGRA~1\KEILC5~1\C51\BIN\c51.exe route0.c DB OE SMALL ROM(LARGE)

stmt level    source

   1          #include<rount3.h>
   2          #include<intrins.h>
   3          /////////////////////////////////////////
   4          //名称:温度采集程序
   5          //功能:命令64个DS18B20同时开始温度采集
   6          ////////////////////////////////////////
   7          extern void read_all_tmp(void); 
   8          
   9          void send_ds_cmd(void) 
  10          {
  11   1              if(!OWReset())
  12   1              {
  13   2                      OWWriteByte(0xCC);
  14   2                      OWWriteByte(0x44);      
  15   2                      delay_time_1s();                
  16   2            }
  17   1      read_all_tmp();      
  18   1      }
  19          
  20          ////////////////////////////////////////
  21          //名称:配置DS18B20
  22          //功能:配置DS18B20 采样精度,告警上下限
  23          ///////////////////////////////////////
  24          extern unsigned char pc_cmd_data[4];    
  25          
  26          sbit    DQ      =0x97;
  27          void configure_ds(void)
  28          {
  29   1      unsigned char i,j;
  30   1      unsigned char id_count  =0;
  31   1      unsigned char sla_adr;
  32   1      unsigned char init_adr;
  33   1      unsigned char pc_config_data[3];
  34   1      unsigned char id_rom[8];
  35   1      bit data page_flg       =0;
  36   1      bit data flag;
  37   1      
  38   1      i       =0;     
  39   1      j       =0;
  40   1              for(i=0;i<3;i++)
  41   1              {
  42   2                      pc_config_data[i]       =pc_cmd_data[i];
  43   2              }
  44   1      
  45   1      sla_adr =0xA0;                                  //24C08硬件地址
  46   1      init_adr        =0x00;                                  //DS18B20 ID在EEPROM中存放首地址
  47   1      flag    =OWReset();
  48   1              if(!flag)
  49   1              {
  50   2                 do
  51   2                 {    
  52   3                      if(page_flg==1)
  53   3                      {       sla_adr =0xA2;
  54   4                              rdnbyt(&id_rom[0],sla_adr,8);
  55   4                              goto next;
C51 COMPILER V7.00  ROUTE0                                                                 06/14/2005 17:21:08 PAGE 2   

  56   4                      }
  57   3                      if(id_count==0xf8)
  58   3                      page_flg        =1;
  59   3                      
  60   3                      if(j==0)
  61   3                      rdadr(&id_rom[0],sla_adr,init_adr,8);
  62   3                      else
  63   3                      rdnbyt(&id_rom[0],sla_adr,8);                   //读取下一个DS18B20 ID  
  64   3                      
  65   3      next:           OWReset();
  66   3                      OWWriteByte(0x55);                              //发匹配ID命令
  67   3                      for(i=0;i<8;i++)
  68   3                      {
  69   4                              OWWriteByte(id_rom[i]);
  70   4                      }
  71   3                      OWWriteByte(0x4E);                              //送出Write ScatchPad命令   
  72   3                      for(i=0;i<3;i++)
  73   3                      {
  74   4                              OWWriteByte(pc_config_data[i]);
  75   4                      }
  76   3                      
  77   3                      flag    =OWReset();
  78   3                      if(!flag)
  79   3                      {
  80   4                              OWWriteByte(0x55);                      //发匹配ID命令
  81   4                              for(i=0;i<8;i++)
  82   4                              {
  83   5                                      OWWriteByte(id_rom[i]);         
  84   5                              }
  85   4                        OWWriteByte(0x48);                    //发COPY ROM命令
  86   4                              DQ      =1;
  87   4                              delay_time_1s();
  88   4                  }
  89   3                                                              
  90   3                      id_count+=8;
  91   3                      j++;
  92   3               }while(!OWReset()&&(j<64) );                   //配置64个DS18B20  
  93   2        
  94   2             }     
  95   1      }
  96          
  97          
  98          /////////////////////////////////////////////
  99          //名称:定时参数设置程序
 100          //功能:修改定时采样时间间隔
 101          /////////////////////////////////////////////
 102          extern unsigned int data t1_data0;
 103          extern unsigned int data t1_data1;
 104          
 105          void    change_time(void)       
 106          {
 107   1      unsigned int data time_tmp;
 108   1      time_tmp        =0x0000|pc_cmd_data[0];
 109   1      time_tmp        =(time_tmp<<8)&0xff00;
 110   1      t1_data0        =time_tmp|pc_cmd_data[1];
 111   1      
 112   1      time_tmp        =0x0000|pc_cmd_data[2];
 113   1      time_tmp        =(time_tmp<<8)&0xff00;
 114   1      t1_data1        =time_tmp|pc_cmd_data[3];
 115   1      
 116   1      }
 117          
C51 COMPILER V7.00  ROUTE0                                                                 06/14/2005 17:21:08 PAGE 3   

 118          ////////////////////////////////////////
 119          //名称:出错处理
 120          //功能:接收到PC非法命令,作显示提示
 121          ////////////////////////////////////////
 122          void error_set(void)
 123          {
 124   1      //printf("Command Error!\n");
 125   1              _nop_();
 126   1              _nop_();        
 127   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    294    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      16
   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 + -