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

📄 main_rount.lst

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


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

stmt level    source

   1          #include<reg51.h>
   2          #include<intrins.h>
   3          #include<iicrount_h.h>
   4          
   5          extern void read_id(void);
   6          
   7          sbit    led     =0x95;          //p1.5
   8          sbit    key0    =0x91;          //p1.1
   9          
  10          unsigned char data sla_adr;
  11          ////////////////////////////
  12          //名称:延迟程序
  13          //功能:根据参数延迟
  14          ////////////////////////////
  15          void delay_time(unsigned int us)          //29us/40us/52us/64us
  16          {  
  17   1      unsigned int data i;    
  18   1              for(i=0;i<=us;i++) 
  19   1              _nop_();
  20   1      }
  21          
  22          void delay_time_10ms(void)               //12ms
  23          {
  24   1              delay_time(1000);
  25   1      }
  26          
  27          void delay_time_1s  (void)                //实际模拟仿真测试 /0.9s
  28          {
  29   1      unsigned char data i;
  30   1            while(i<4)
  31   1            {
  32   2                delay_time(8000);
  33   2              _nop_();
  34   2              delay_time(8000);
  35   2              i++;
  36   2            }
  37   1      } 
  38          
  39          ////////////////////////////////
  40          //名称:键盘扫描
  41          //功能:重新配置DS18B20,DS18B20 ID修改
  42          ////////////////////////////////
  43          bit     keyscan(void)
  44          {
  45   1      unsigned char data i=0;
  46   1              if(key0==0)                             //1键按下,发读DS18B20 ID命令,ID写入EEPROM,RAM备份
  47   1              {
  48   2                        delay_time_10ms();            //按键消抖
  49   2                        if(key0==0)
  50   2                         {
  51   3                              led     =~led;          //led 闪烁一次,按键有效
  52   3                              read_id();              //查询所有DS18B20 ID,存EEPROM                
  53   3                        while(key0==0);               //等待按键释放               
  54   3                      while(i<3)              //LED闪烁3下,提示搜索成功
  55   3                      {
C51 COMPILER V7.00  MAIN_ROUNT                                                             06/13/2005 14:41:59 PAGE 2   

  56   4                              delay_time_1s();
  57   4                              led     =~led;
  58   4                              i++;
  59   4                      }
  60   3                      return 1;
  61   3                 }
  62   2            }                                                 
  63   1              else                    
  64   1                      return 0;       
  65   1      }
  66          
  67          //////////////////////////////////////////
  68          //名称:读取EEPROM中DS18B20 ID
  69          //////////////////////////////////////////
  70          void read_all_id(void)
  71          {
  72   1      unsigned char k =0;
  73   1      unsigned char id_count  =0;
  74   1      unsigned char init_adr  =0x00;
  75   1      unsigned char id_data[8];       
  76   1      bit     page_ch_flg     =0;
  77   1      
  78   1      sla_adr =0xA0;
  79   1              do
  80   1              {
  81   2                      if(page_ch_flg==1)
  82   2                      {
  83   3                              page_ch_flg     =0;     
  84   3                              sla_adr =sla_adr|pagel;                         //修改页地址    
  85   3                              rdadr(&id_data[0],sla_adr,init_adr,8);
  86   3                              goto     next;
  87   3                      }                               
  88   2                      
  89   2                      if(id_count==0xf8)                                                                              
  90   2                      page_ch_flg     =1;
  91   2                      if(k==0)
  92   2                      rdadr(&id_data[0],sla_adr,init_adr,8);          
  93   2                      else
  94   2                      rdnbyt(&id_data[0],sla_adr,8);
  95   2                      
  96   2      next:           id_count+=8;            
  97   2                      k++;
  98   2              }while(k<64);
  99   1              _nop_();
 100   1      }       
 101                          
 102          ////////////////////////////////////////////
 103          //名称:主程序
 104          ////////////////////////////////////////////
 105          main()
 106          {
 107   1      led     =1;                                     //上电指示
 108   1      loop:if(keyscan())
 109   1           read_all_id();     
 110   1           goto       loop;
 111   1      }
 112                  
 113          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    185    ----
C51 COMPILER V7.00  MAIN_ROUNT                                                             06/13/2005 14:41:59 PAGE 3   

   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1      13
   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 + -