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

📄 mcu.lst

📁 用了车载冰箱的程序控制用于批量生产
💻 LST
字号:
C51 COMPILER V6.23a  MCU                                                                   10/10/2004 11:47:56 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE MCU
OBJECT MODULE PLACED IN mcu.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE mcu.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include"reg51.h"
   2          #include"INTRINS.H"
   3          #include"math.h"
   4          #define uchar unsigned char 
   5          #define uint  unsigned int
   6          
   7          sbit key=P1^4;     //开关输入
   8          sbit led0=P1^5;    //led2输出
   9          sbit led1=P1^6;    //led1输出
  10          sbit led2=P1^7;    //led0输出
  11          sbit c_24v0=P3^3;  //24v输出控制o
  12          sbit c_24v1=P3^2;  //24v输出控制1
  13          sbit c_220v0=P3^4;  //220v输出控制0
  14          sbit c_220v1=P3^5;  //220v输出控制1
  15          sbit c_fan=P3^1;    //电扇开启
  16          sbit RT1=P1^0;      //内部温度检测s
  17          sbit RT2=P1^1;      //冰箱温度检测
  18          sbit c_494=P3^0;     //494关闭控制
  19          sbit c_kaiguan=P3^7;  //输入控制
  20          sbit c_hv=P1^2;        //300v高压检测
  21          sbit c_24in=P1^3;      //32v电压检测
  22          
  23          uchar step;
  24          uchar  keep;             
  25          bit one_sencond;
  26          bit f_c;
  27          bit f_c1;
  28          uchar time0;          //小时标志;
  29          uint  minute;         //秒标志
  30          uint  mminute;        //毫秒标志
  31          
  32          delay(uint number)
  33          {
  34   1        while(number--)
  35   1      {
  36   2        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
  37   2        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
  38   2        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
  39   2        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
  40   2        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
  41   2        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
  42   2        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
  43   2      
  44   2      }
  45   1      
  46   1      
  47   1      
  48   1      }
  49          main()
  50          {
  51   1              uchar m_c=0;
  52   1              uchar key_n=0;
  53   1              c_24v0=1;
  54   1              c_24v1=1;
  55   1          f_c=0;
C51 COMPILER V6.23a  MCU                                                                   10/10/2004 11:47:56 PAGE 2   

  56   1              f_c1=0;
  57   1              step=0;
  58   1              keep=0;
  59   1              time0=0;      
  60   1              minute=0;
  61   1              mminute=124;
  62   1              one_sencond=0;
  63   1              TMOD=0X11;
  64   1              TH0=0XFD;
  65   1              TL0=0X12;    //1500    3s    2000   4S    
  66   1              //TH0=0xff;
  67   1      //      TL0=0X06;    //1500    3s    2000   4S    
  68   1              TH1=0xfe;
  69   1              TL1=0x0c;
  70   1              ET0=1;
  71   1              ET1=1;
  72   1              TR1=0;
  73   1              EA=0;keep=0;one_sencond=0;
  74   1              TR0=0;  EA=1;
  75   1              P1=0XFF;
  76   1          delay(5);
  77   1          //RT2=0;
  78   1      //      RT1=0;
  79   1              while(key==1);/*{if(RT1==1) {delay(5);
  80   1                                        if(RT1==1)led0=0;
  81   1                                    else led0=1;}
  82   1                        if(RT2==1) {delay(5);
  83   1                                                    if(RT1==1)led1=0;
  84   1                                    else led1=1;
  85   1                                                                }
  86   1                                   }*/
  87   1      while(1)
  88   1      {
  89   2              if(keep==10){ keep=0;key_n=0;}
  90   2              
  91   2               if((key==0)&&(keep==0))
  92   2              {       
  93   3      
  94   3                  TR1=0;
  95   3                         
  96   3                  time0=0;          //小时标志;
  97   3                  minute=0;         //秒标志
  98   3                  mminute=0;
  99   3                      f_c1=0;
 100   3              
 101   3              
 102   3              if(key==0)
 103   3              {       TR1=1;
 104   4                      key_n++;
 105   4                              if(key_n>=5)    key_n=2;
 106   4                while(key==0){ if(minute>=3)break;}
 107   4                        if(minute>=3) { key_n=0;
 108   5                                        TR0=0;
 109   5                                c_220v0=1;
 110   5                                c_220v1=1;
 111   5                                    TR1=0;
 112   5                                    c_24v1=0;
 113   5                                    c_24v1=0;c_494=1;
 114   5                                                        c_fan=1;led0=1;led1=1;led2=1;f_c=0;
 115   5                                                        while(key==0);delay(1000);
 116   5      
 117   5                                }
C51 COMPILER V6.23a  MCU                                                                   10/10/2004 11:47:56 PAGE 3   

 118   4                               else{
 119   5                                             time0=0;          //小时标志;
 120   5                                     minute=0;         //秒标志
 121   5                                     mminute=0;
 122   5                                 f_c1=0;
 123   5                                                         }
 124   4              
 125   4                 delay(500);
 126   4                      if(key_n==1){   led0=0;  
 127   5                              TR0=1;c_494=0;f_c1=0;c_fan=1;TR1=0;}
 128   4                      
 129   4                      if(key_n==2) {led0=0;led1=0;led2=1; TR1=1;}
 130   4              if(key_n==3) {led0=0;led1=1;led2=0; TR1=1;}
 131   4                  if(key_n==4) {led0=0;led1=1;led2=1; TR1=1;}
 132   4                      
 133   4      
 134   4      
 135   4                      }
 136   3              }
 137   2              
 138   2              
 139   2              
 140   2              
 141   2      if((keep==0)&&(minute>=6)&&(f_c1==0))
 142   2      { 
 143   3        TR1=0;                   
 144   3        time0=0;          //小时标志;
 145   3        minute=0;         //秒标志
 146   3        mminute=0;
 147   3      
 148   3        switch(key_n)
 149   3              {
 150   4              //      case 1: led0=0;  
 151   4                  //    TR0=1;c_494=0;f_c1=0;c_fan=1;
 152   4                 //   break;
 153   4                      case 2: if(f_c==1)
 154   4                                   {c_24v0=0; c_24v1=0;TR1=1;f_c1=1;c_fan=1;}
 155   4                         else {c_24v0=0; c_24v1=1;TR1=0;f_c=1;f_c1=0;c_fan=0;}
 156   4      
 157   4                                      
 158   4                                    //c_24v0=0; c_24v1=1; 
 159   4                              led0=0;led1=0;  led2=1;
 160   4                               
 161   4                              break;           //制热
 162   4                      case 3: if(f_c==1)
 163   4                              {
 164   5                                      c_24v0=0;  
 165   5                      c_24v1=0;         // c_24v0=1;  
 166   5                                        //c_24v1=0; 
 167   5                                      TR1=1;
 168   5                                      c_fan=1;}
 169   4                                      else{c_24v0=1; c_24v1=0;f_c=1;TR1=0;f_c1=0;c_fan=0;}
 170   4      
 171   4                      led0=0;led1=1;led2=0; f_c1=1;
 172   4                      break;             //制冷
 173   4                      case 4: c_24v0=0;  
 174   4                      c_24v1=0; 
 175   4                                  c_fan=1;
 176   4                                      TR1=0;
 177   4                      led0=0;led1=1;led2=1;f_c1=0;
 178   4                      break;             //什么都不做
 179   4              }
C51 COMPILER V6.23a  MCU                                                                   10/10/2004 11:47:56 PAGE 4   

 180   3      }
 181   2              
 182   2      if((keep==0)&&(minute>=330)&&(f_c1==1))
 183   2      {
 184   3        TR1=0;                   
 185   3        time0=0;          //小时标志;
 186   3        minute=0;         //秒标志
 187   3        mminute=0;
 188   3      switch(key_n)
 189   3              {
 190   4              case 2: c_24v0=0; 
 191   4                              c_24v1=1;
 192   4                                      f_c1=0;  c_fan=0;                        
 193   4                              break;           //制热
 194   4                      case 3: c_24v0=1;  
 195   4                      c_24v1=0;                               
 196   4                      f_c1=0;c_fan=0;
 197   4                      break;             //制冷       
 198   4              }
 199   3      
 200   3      
 201   3      }
 202   2      
 203   2      
 204   2      
 205   2      if(RT1==1)
 206   2          {delay(5);
 207   3              if((RT1==1)&&(keep!=1))  
 208   3                          {keep=1;  
 209   4                                       TR0=0;       
 210   4                           c_220v0=1;
 211   4                       c_220v1=1;
 212   4                           
 213   4                           c_24v0=0;
 214   4                           c_24v1=0;   
 215   4                                   c_fan=1;
 216   4                                       c_494=1;
 217   4                           TR1=1;                      
 218   4                          }                           //内部温度过高------模块停止工作
 219   3       
 220   3          }
 221   2      
 222   2      if(RT1==0)
 223   2          {delay(5);
 224   3              if((RT1==0)&&(keep==1))
 225   3                         {
 226   4                          keep=0;                             
 227   4                                      if(key_n==2) {led0=0;led1=0;led2=1;c_24v0=0; c_24v1=1; c_fan=0;}
 228   4                      if(key_n==3) {led0=0;led1=1;led2=0;c_24v0=1; c_24v1=0; c_fan=0;}
 229   4                          if(key_n==4) {led0=0;led1=1;led2=1; } 
 230   4                                      if(key_n!=0) {TR0=1;c_494=0;}
 231   4                                      //led0=1;led1=1;led2=1;
 232   4                           if(c_kaiguan==1)    //在出现报警的过程中发动机关闭信号产生,当报警恢复正常后,继续计数,6小

⌨️ 快捷键说明

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