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

📄 wdjk.lst

📁 温度监控完整代码
💻 LST
字号:
C51 COMPILER V9.00   WDJK                                                                  05/29/2012 16:50:03 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE WDJK
OBJECT MODULE PLACED IN wdjk.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE wdjk.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          #include <intrins.h>
   3          #include "18b20.h"
   4          #include "key.h"
   5          #include "24c02.h"
   6          #include "uln2003.h"
   7          #include "timer.h"
   8          #include "display.h"
   9          #define uchar unsigned char
  10          #define uint unsigned int
  11          uchar tempdata[8]={3,0,2,3,11,11,0,0};
  12          uchar temperature;
  13          uint times;
  14          sbit wave1=P3^4;
  15          sbit wave2=P3^5;
  16          sbit relay=P0^4;
  17          bit rdflag=1;
  18          
  19          main()
  20          {
  21   1              uchar up=30,down=10,num;
  22   1              Init_timer0();
  23   1              Init_timer1();
  24   1              
  25   1              relay=0;
  26   1              buzz=0;
  27   1              ULN2003_Latch();
  28   1              relay=0;buzz=0;
  29   1              ULN2003_Latch();
  30   1      
  31   1         while(1)
  32   1        {
  33   2              num=KeyScan();
  34   2              switch(num)
  35   2              {
  36   3                      case 0:{                                                        //下限减一
  37   4                                      if(down==0)
  38   4                                              down=1;
  39   4                                              down--;
  40   4                                              tempdata[2]=down/10;
  41   4                                              tempdata[3]=down%10;
  42   4                                              wrbyte_24c02(0x01,down);
  43   4                                              break;
  44   4                                      }
  45   3                      case 1:{                                                           //上限减一
  46   4                                              if(up<=down)
  47   4                                                      up++;
  48   4                                              up--;
  49   4                                              tempdata[0]=up/10;
  50   4                                              tempdata[1]=up%10;
  51   4                                              wrbyte_24c02(0x00,up);
  52   4                                              break;
  53   4                                      }
  54   3                      case 2:{                                                          //下限加一
  55   4                                              if(down>=up)
C51 COMPILER V9.00   WDJK                                                                  05/29/2012 16:50:03 PAGE 2   

  56   4                                              down--;
  57   4                                              down++;
  58   4                                              tempdata[2]=down/10;
  59   4                                              tempdata[3]=down%10;
  60   4                                              wrbyte_24c02(0x01,down);
  61   4                                              break;
  62   4                                      }
  63   3                      case 3:{                                                        //上限加一
  64   4                                              if(up==99)
  65   4                                              up=98;
  66   4                                              up++;
  67   4                                              tempdata[0]=up/10;
  68   4                                              tempdata[1]=up%10;
  69   4                                              wrbyte_24c02(0x00,up);
  70   4                                              break;
  71   4                                      }
  72   3                      default:break;
  73   3      
  74   3              }
  75   2              if(rdflag)
  76   2              {
  77   3                      //rdflag=0;
  78   3                      temperature=rd_temperature();
  79   3                      tempdata[6]=temperature/10;
  80   3                      tempdata[7]=temperature%10;
  81   3              }
  82   2              if(temperature>up)
  83   2              {
  84   3                      TR0=1;
  85   3                      TR1=1;          
  86   3              }
  87   2              else
  88   2              {
  89   3                      if(temperature<down)
  90   3                      {
  91   4                                      relay=1;buzz=0;
  92   4                                      ULN2003_Latch();
  93   4                      }
  94   3                      else
  95   3                      {
  96   4                                              TR0=0;
  97   4                                              TR1=0;
  98   4                                              wave1=1;
  99   4                                              wave2=1;
 100   4                                              relay=0;buzz=0;
 101   4                                              ULN2003_Latch();
 102   4      
 103   4                      }
 104   3              }          
 105   2              display(tempdata);
 106   2              }       
 107   1      }
 108          
 109          
 110          
 111          
 112          Isr_timer0() interrupt 1
 113          {
 114   1              TH0=(65536-1000)/256;
 115   1              TL0=(65536-1000)%256;
 116   1              //times++;
 117   1              TR1=1;
C51 COMPILER V9.00   WDJK                                                                  05/29/2012 16:50:03 PAGE 3   

 118   1              wave1=1;
 119   1      /*      if(times==1000)
 120   1              {
 121   1                      times=0;
 122   1                      rdflag=1;
 123   1              } */
 124   1      }
 125          
 126          Isr_timer1() interrupt 3
 127          {
 128   1              TH1=(65536-300)/256;
 129   1              TL1=(65536-300)%256;
 130   1              wave1=0;
 131   1              TR1=0;
 132   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1026    ----
   CONSTANT SIZE    =     21    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11      17
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       2
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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