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

📄 main.lst

📁 多点温度检测系统
💻 LST
字号:
C51 COMPILER V7.02b   MAIN                                                                 11/12/2004 14:52:13 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg51.h>
   2          #include <stdio.h>
   3          #include <string.h>
   4          #include "TMP100.h"
   5          #include "Led.h"
   6          #include "I2C.h"
   7          
   8          int tempbuf;
   9          char tempjust;
  10          
  11          char UartRec(void)
  12          {
  13   1              while(RI == 0);
  14   1              RI = 0;
  15   1              return(SBUF);
  16   1      }
  17          void UartPut(char dd)
  18          {
  19   1              while(TI == 0);
  20   1              TI = 0;
  21   1              SBUF = dd;
  22   1      }
  23          
  24          void main(void)
  25          {       
  26   1              char idata uartbuf[10];
  27   1              char uartpoint = 0;
  28   1      //      char ttmp;
  29   1              unsigned int i;
  30   1      
  31   1              TMOD |= 0x01;
  32   1              TH0 = 0x4b;
  33   1              TL0 = 0xfd;
  34   1              TR0 = 1;
  35   1              ET0 = 1;
  36   1              EA = 1;
  37   1      
  38   1          SCON  = 0x50;
  39   1          TMOD |= 0x20;
  40   1          TH1   = 0xfd;
  41   1          TR1   = 1;   
  42   1          TI    = 1;   
  43   1      
  44   1              Tmp100Init();
  45   1      
  46   1      //      UartPut(0x01);
  47   1      //      if(UartRec() == 0x02)
  48   1      //              UartPut(0x02);
  49   1              while(1)
  50   1              {
  51   2              uartbuf[0] = UartRec();
  52   2              uartbuf[1] = UartRec();
  53   2              uartbuf[2] = UartRec();
  54   2              uartbuf[3] = '\0';
  55   2              if(strcmp(uartbuf,"ge0") == 0)
C51 COMPILER V7.02b   MAIN                                                                 11/12/2004 14:52:13 PAGE 2   

  56   2              {
  57   3                      for(i = 0; i < 5000; i++);
  58   3                      UartPut(0x00);  
  59   3                      for(i = 0; i < 5000; i++);
  60   3                      UartPut(tempbuf>>8);                            //第一次送出高八位
  61   3                      for(i = 0; i < 5000; i++);
  62   3                      UartPut(tempbuf&0xff);                          //第二次送出低八位
  63   3              }
  64   2              else if(strncmp(uartbuf,"s0",2) == 0)
  65   2                      tempjust = uartbuf[2];                          //取出缓冲区中的校正值
  66   2              }
  67   1      }
  68          
  69          void time0_isr(void) interrupt 1
  70          {
  71   1              static unsigned char i;
  72   1              char ledbuf[3];
  73   1      
  74   1              TR0 = 0;
  75   1              TH0 = 0x4b;       //50ms
  76   1              TL0 = 0xfd;
  77   1      
  78   1              if(i++ == 10)                                   //每0.5秒读一次
  79   1              {
  80   2                      i = 0;
  81   2              tempbuf = Tmp100Get();  //读取Tmp100当前温度
  82   2      
  83   2                      tempbuf >>= 4;
  84   2                      tempbuf += tempjust;
  85   2                      tempbuf <<= 4;
  86   2      
  87   2                      if((tempbuf >> 8) >= 100)
  88   2                      {
  89   3                              ledbuf[0] = 9;
  90   3                              ledbuf[1] = 9;
  91   3                              ledbuf[2] = 9;
  92   3                              LedSet(ledbuf);
  93   3                      }
  94   2                      else
  95   2                      {
  96   3                              ledbuf[0] =  (unsigned char)(tempbuf >> 8) / 10;                        //取出十位
  97   3                              ledbuf[1] =  (unsigned char)(tempbuf >> 8) % 10;                        //取出个位
  98   3                              ledbuf[2] =  (unsigned char)((float)((tempbuf >> 4) & 0x0f) * 10 * 0.0625);
  99   3                              LedSet(ledbuf);
 100   3                      }
 101   2              }               
 102   1              TR0 = 1;
 103   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    416    ----
   CONSTANT SIZE    =      7    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4       4
   IDATA SIZE       =   ----      10
   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 + -