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

📄 md142asn.lst

📁 64输入32输出单片机程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.06   MD142ASN                                                              01/26/2004 20:24:40 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MD142ASN
OBJECT MODULE PLACED IN MD142ASN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MD142ASN.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //-------------------------------------------------------------------------
   2          //      Filename :  Md142AS.C
   3          //      Language :  C for AT89S8252
   4          //      Revision :  1.0
   5          //  Initial Date :  13/03/2003
   6          //   Last Modify :  scratch comm for one time
   7          //  System clock :  24.00MHZ
   8          //   Description :  ARMATURE EPOXY COATING
   9          //-------------------------------------------------------------------------
  10          
  11          #include <reg8252.h>
*** WARNING C318 IN LINE 11 OF MD142ASN.C: can't open file 'reg8252.h'
  12          #include "plc64i32.h"
  13          #include "serial.h"
  14          
  15          //define input signal
  16          enum {LOAD_VERTUP=1,LOAD_VERTDN,LOAD_HORNFD,LOAD_HORNBD,INDUCTION1FD,INDUCTION1BD,
  17                ARM1UP=7,ARM1DN,ARM2UP,ARM2DN,ARM3UP,ARM3DN,AIR_MAGNET1UP,ARMAT_CHECK=14,
  18                AIR_MAGNET2UP=15,ARMAT_FULL,AIR_CHUCKUP,AIR_CHUCKDN,TRAN_HORNFD,TRAN_HORNBD,
  19                SHAFT_HOLDFD=21,SHAFT_HOLDBD,JIG_EJECTFD,JIG_EJECTBD,JIG_REMOVEFD,JIG_REMOVEBD,
  20                COMM_LOADFD=31,COMM_LOADBD,COMM_INSERTFD,COMM_INSERTBD,INDUCTION2FD,INDUCTION2BD,
  21                UNLOADUP=37,UNLOADDN,HEAT1=41,COOLANT1,HEAT2,COOLANT2,STARTL,STARTR=46,
  22                COMM_CHECK=49,ARMATURE_CHK,DELIVERFD,DELIVERBD=52};
  23          //-----------------------------------------
  24          //define output signal
  25          enum {LOAD_VERT=1,LOAD_HORN10,LOAD_HORN11,INDUCTION1,ALARM,ARM1=6,ARM2,ARM3,AIR_MAGNET1=9,
  26                MAGFORCE1=10,AIR_MAGNET2,MAGFORCE2,AIR_CHUCK,TRAN_HORN10=15,TRAN_HORN11,
  27                SHAFT_HOLD=17,SPRAY_L,SPRAY_R=20,JIG_EJECT,JIG_REMOVE,COMM_LOAD10,COMM_LOAD11,
  28                COMM_INSERT=25,INDUCTION2=27,UNLOAD=29,VIBRATE,ROTATE,DELIVER=32};
  29          //--------------------------------------------------------------------------------
  30          //define manual operate valves' value
  31          enum {VALVE1=1,VALVE2,VALVE3,VALVE4,VALVE5,VALVE6,VALVE7,VALVE8,VALVE9,VALVE10,
  32                VALVE11,VALVE12,VALVE13,VALVE14,VALVE15,VALVE16,VALVE17,VALVE18,VALVE19,VALVE20};
  33          
  34          //----------------------------------------------------------
  35          void _init_machine();
  36          void _step_by_step();
  37          void _manual_operate();
  38          void _auto_operate();
  39          void _setup();
  40          
  41          unsigned char xdata datalist[10];
  42          char proc=0;
  43          unsigned heat1_time,heat1_time_set;
  44          unsigned heat2_time,heat2_time_set;
  45          unsigned spray_time,spray_time_set,comm_load_time;
  46          unsigned blow_time,blow_time_set,run_time;
  47          bit spray_end,heat1_end,heat2_end,blow_end,alarm_flag,comm_load_end;
  48          //---------------------------------------------------
  49          
  50          void main()
  51          {   char i;
  52   1          _init_system ();
  53   1          ReceStream.address = ID_Plc64I;
  54   1          // setup serial port control hardware (19200 BAUD @24MHZ)
C51 COMPILER V7.06   MD142ASN                                                              01/26/2004 20:24:40 PAGE 2   

  55   1          _init_serial (BAUD19200);
  56   1          _set_delay (100);
  57   1      
  58   1          for (i=0;i<10;i++)
  59   1              TranStream.datablk[i] = _read_eepbyte(&datalist[i]);
  60   1          _trf_msge (ID_Panel,Datatrans,0x07);
  61   1          _set_delay (50);
  62   1      
  63   1          _init_machine();
  64   1          _outp_bit(LOAD_HORN10,OFF);
  65   1          _outp_bit(LOAD_HORN11,ON);
  66   1      
  67   1          _outp_bit(TRAN_HORN10,OFF);
  68   1          _outp_bit(TRAN_HORN11,ON);
  69   1          _set_delay (100);
  70   1          while(TRUE)
  71   1              {
  72   2                if(rece_com==Auto)
  73   2                  _auto_operate();
  74   2      
  75   2                if(rece_com==Manual)
  76   2                  _manual_operate();
  77   2      
  78   2                if(rece_com==Dataset)
  79   2                  _setup();
  80   2      
  81   2              }
  82   1      
  83   1      }
  84          //----------------------------------------------------------------------
  85          void _auto_operate()
  86          {
  87   1          unsigned time_out=200;
  88   1          char previous_step,current_step,turn_times;
  89   1          char heat1_on,heat2_on,sprayok,blowstop,cycle,step=1;
  90   1          TranStream.datablk[2]=_read_eepbyte(&datalist[2]);
  91   1          TranStream.datablk[3]=_read_eepbyte(&datalist[3]);
  92   1          TranStream.datablk[4]=_read_eepbyte(&datalist[4]);
  93   1          TranStream.datablk[5]=_read_eepbyte(&datalist[5]);
  94   1          _trf_msge (ID_Panel,Datatrans,0x06);
  95   1          _set_delay(10);
  96   1          if(TranStream.datablk[2]<11)
  97   1              heat2_time_set=TranStream.datablk[2]*100;
  98   1          else
  99   1              heat2_time_set=TranStream.datablk[2]*10;
 100   1      
 101   1          if(TranStream.datablk[3]<11)
 102   1              heat1_time_set=TranStream.datablk[3]*100;
 103   1          else
 104   1              heat1_time_set=TranStream.datablk[3]*10;
 105   1          if(TranStream.datablk[4]<11)
 106   1              spray_time_set=TranStream.datablk[4]*100;
 107   1          else
 108   1              spray_time_set=TranStream.datablk[4]*10;
 109   1          //+++++++++++
 110   1          if(TranStream.datablk[5]==0)
 111   1          blow_time_set=5;
 112   1          else
 113   1              if(TranStream.datablk[5]<11)
 114   1                 blow_time_set=TranStream.datablk[5]*100;
 115   1              else
 116   1                 blow_time_set=TranStream.datablk[5]*10;
C51 COMPILER V7.06   MD142ASN                                                              01/26/2004 20:24:40 PAGE 3   

 117   1          while( rece_com!=Exit )
 118   1          {
 119   2           if(rece_com==Start)
 120   2             {rece_com=OFF;
 121   3              while( rece_com!=Exit )
 122   3               {
 123   4                  switch(proc)
 124   4                  {
 125   5                  case 0:
 126   5                      if(_inp_bit(INDUCTION1BD)&&_inp_bit(INDUCTION2BD)&&
 127   5                         _inp_bit(ARM3UP)&&_inp_bit(TRAN_HORNBD))
 128   5                        {
 129   6      //                 _outp_bit(UNLOAD,ON);
 130   6                         _outp_bit(LOAD_VERT,ON);
 131   6                         _outp_bit(AIR_MAGNET1,ON);
 132   6                         _outp_bit(ARM1,ON);
 133   6                         run_time=tick_clock+time_out;
 134   6                         proc++;
 135   6                        }
 136   5                      break;
 137   5                  case 1:
 138   5                      if(_inp_bit(ARM1DN))
 139   5                      {
 140   6      
 141   6                          _set_delay(10);
 142   6                          _outp_bit(ARM1,OFF);
 143   6      //                  _outp_bit(UNLOAD,OFF);
 144   6                          run_time=tick_clock+time_out;
 145   6                          proc++;
 146   6                      }
 147   5                      else
 148   5                          if(run_time==tick_clock)
 149   5                             _outp_bit(ALARM,ON);
 150   5                      break;
 151   5                  case 2:
 152   5                      if(_inp_bit(LOAD_VERTUP)&&_inp_bit(INDUCTION1BD)&&_inp_bit(COMM_INSERTFD)&&_inp_bit(JIG_EJECTBD)&&
 153   5                         _inp_bit(JIG_REMOVEBD)&&_inp_bit(ARM1UP)&&_inp_bit(ARM2UP)&&_inp_bit(ARM3UP))
 154   5                        {
 155   6                          _outp_bit(LOAD_HORN11,OFF);
 156   6                          _outp_bit(LOAD_HORN10,ON);
 157   6      
 158   6                          _outp_bit(TRAN_HORN11,OFF);
 159   6                          _outp_bit(TRAN_HORN10,ON);
 160   6                        run_time=tick_clock+time_out;
 161   6                        proc++;
 162   6                        }
 163   5                      else
 164   5                          if(run_time==tick_clock)
 165   5                             _outp_bit(ALARM,ON);
 166   5                      break;
 167   5                  case 3:
 168   5                      if(_inp_bit(LOAD_HORNFD)&&_inp_bit(TRAN_HORNFD))
 169   5                        {
 170   6                          _set_delay(25);
 171   6                         if(_inp_bit(ARMAT_CHECK))
 172   6                           {
 173   7                            heat1_on=TRUE;
 174   7                            cycle=0;
 175   7                           }
 176   6                         else
 177   6                           {
 178   7                            heat1_on=FALSE;
C51 COMPILER V7.06   MD142ASN                                                              01/26/2004 20:24:40 PAGE 4   

 179   7                            cycle++;
 180   7                           }
 181   6                         _outp_bit(LOAD_VERT,OFF);
 182   6                         _outp_bit(ARM1,ON);
 183   6                         _outp_bit(ARM2,ON);
 184   6                         if(_inp_bit(INDUCTION2BD)&& !_inp_bit(ARMAT_FULL))
 185   6                            _outp_bit(ARM3,ON);
 186   6                         else
 187   6                            if(_inp_bit(ARMAT_FULL))
 188   6                              {
 189   7                               _outp_bit(ALARM,ON);
 190   7                               while(_inp_bit(ARMAT_FULL));
 191   7                               rece_com=0;
 192   7                               while( rece_com!=Start );
 193   7                               _outp_bit(ARM3,ON);
 194   7                               _outp_bit(ALARM,OFF);
 195   7                               rece_com=0;
 196   7                              }
 197   6                         run_time=tick_clock+time_out;
 198   6                         proc++;
 199   6                        }
 200   5                      else
 201   5                          if(run_time==tick_clock)
 202   5                             _outp_bit(ALARM,ON);
 203   5                      break;
 204   5                  case 4:
 205   5                      if(_inp_bit(ARM1DN))
 206   5                      {
 207   6                         _set_delay(5);
 208   6                         _outp_bit(AIR_MAGNET1,OFF);
 209   6                         _outp_bit(ARM1,OFF);
 210   6      
 211   6                         _outp_bit(SHAFT_HOLD,ON);      //START TO SPRAY
 212   6                         _outp_bit(ROTATE,ON);
 213   6                         _set_delay(10);
 214   6                         _outp_bit(VIBRATE,ON);
 215   6                         _outp_bit(SPRAY_L,ON);
 216   6                         _outp_bit(SPRAY_R,ON);
 217   6                         spray_time=spray_time_set+tick_clock;
 218   6                         run_time=tick_clock+time_out;
 219   6                         proc++;
 220   6                      }
 221   5                      else
 222   5                          if(run_time==tick_clock)
 223   5                             _outp_bit(ALARM,ON);
 224   5                      break;
 225   5                  case 5:
 226   5                      if(_inp_bit(LOAD_VERTDN)&&_inp_bit(ARM2DN)&&_inp_bit(ARM3DN))
 227   5                        {
 228   6                          _outp_bit(LOAD_HORN10,OFF);
 229   6                          _outp_bit(LOAD_HORN11,ON);
 230   6      
 231   6                         _outp_bit(AIR_MAGNET2,OFF);
 232   6                         if(_inp_bit(ARM3DN)&&_inp_bit(TRAN_HORNFD))
 233   6                         _outp_bit(AIR_CHUCK,OFF);
 234   6                         run_time=tick_clock+time_out;
 235   6                         proc++;
 236   6                        }
 237   5                      else
 238   5                          if(run_time==tick_clock)
 239   5                             _outp_bit(ALARM,ON);
 240   5                      break;
C51 COMPILER V7.06   MD142ASN                                                              01/26/2004 20:24:40 PAGE 5   

 241   5                  case 6:
 242   5                      if(_inp_bit(AIR_MAGNET2UP)&&_inp_bit(AIR_CHUCKUP)&&_inp_bit(UNLOADDN))
 243   5      
 244   5                        {
 245   6                         if(_inp_bit(ARMAT_FULL))    //IF HAS ARMATURE
 246   6                           {
 247   7                            heat2_on=TRUE;
 248   7      
 249   7                           }
 250   6                         else
 251   6                           {
 252   7                            heat2_on=FALSE;
 253   7                 //         _outp_bit(ALARM,ON);
 254   7                           }
 255   6                         _outp_bit(ARM2,OFF);
 256   6                         _outp_bit(ARM3,OFF);
 257   6      
 258   6                         _outp_bit(INDUCTION1,ON);
 259   6                         _outp_bit(INDUCTION2,ON);
 260   6                         run_time=tick_clock+time_out;
 261   6                         while(!_inp_bit(INDUCTION1FD)||!_inp_bit(INDUCTION2FD))
 262   6                         {
 263   7      
 264   7                           if(run_time==tick_clock)
 265   7                           _outp_bit(ALARM,ON);
 266   7                         }
 267   6         //              if(heat1_on==FALSE)            //  no armature will stop heating
 268   6                         if(cycle>=5)      // heat five cycles if no arm.
 269   6                           {
 270   7                            _outp_bit(MAGFORCE1,OFF);
 271   7                            _outp_bit(ALARM,ON);
 272   7                           }
 273   6                         else
 274   6                           {

⌨️ 快捷键说明

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