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

📄 sensor2.lst

📁 蛇形机器人程序
💻 LST
字号:
C51 COMPILER V7.09   SENSOR2                                                               06/13/2004 23:46:17 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE SENSOR2
OBJECT MODULE PLACED IN Sensor2.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE Sensor2.c OMF2 ROM(COMPACT) OPTIMIZE(SIZE) REGFILE(.\FollowLine.ORC) BROWSE
                    - DEBUG

line level    source

   1          /*
   2                  sensor new 
   3                  base on slice windows means to avoid twitter
   4          */
   5          #include<FollowLine.h>
   6          #include<INTRINS.h>
   7          #include<REG2051.h>
   8          const unsigned char LoopTime = 10;
   9          const unsigned char ConfirmTime = 8;
  10                          //confirm       switch valve value                                                                      
  11          unsigned char iLoop = 0x00;     //loop time control
  12          unsigned char iSensorConfirm = 0x00;    //Status confirm
  13          unsigned int iStopStatus = 0x00;
  14          
  15          //
  16          void UpdateStatus(void);
  17          //~~~~~~~~~~~~~~~
  18          
  19          
  20          void SensorSta(void)
  21          {
  22   1              UpdateStatus();
  23   1              //for MidSensor1
  24   1              while(iLoop <= LoopTime)
  25   1              {
  26   2                      iLoop++;
  27   2                      if (MidSensor1 == 0)
  28   2                      {
  29   3                              _nop_();
  30   3                              _nop_();
  31   3                              _nop_();
  32   3                              _nop_();
  33   3                              iSensorConfirm++;
  34   3                              _nop_();
  35   3                              _nop_();
  36   3                              _nop_();
  37   3                              _nop_();
  38   3      
  39   3                      }
  40   2              }
  41   1              if (iSensorConfirm >= ConfirmTime)
  42   1              {CurStaMidSensor1 =0;}
  43   1              else 
  44   1              {CurStaMidSensor1 =1;}
  45   1              iLoop = 0;
  46   1              iSensorConfirm = 0;       //clear flag
  47   1      
  48   1              //for MidSensor2
  49   1              while(iLoop <= LoopTime)
  50   1              {
  51   2                      iLoop++;
  52   2                      if (MidSensor2 == 0)
  53   2                      {
  54   3                              _nop_();
C51 COMPILER V7.09   SENSOR2                                                               06/13/2004 23:46:17 PAGE 2   

  55   3                              _nop_();
  56   3                              _nop_();
  57   3                              _nop_();
  58   3                              iSensorConfirm++;
  59   3                              _nop_();
  60   3                              _nop_();
  61   3                              _nop_();
  62   3                              _nop_();
  63   3                      }
  64   2              }
  65   1              if (iSensorConfirm >= ConfirmTime)
  66   1              {CurStaMidSensor2 =0;}
  67   1              else 
  68   1              {CurStaMidSensor2 =1;}
  69   1              iLoop = 0;
  70   1              iSensorConfirm = 0;
  71   1      
  72   1              //for HozSensor1
  73   1              while(iLoop <= LoopTime)
  74   1              {
  75   2                      iLoop++;
  76   2                      if (HozSensor1 == 0)
  77   2                      {
  78   3                              _nop_();                        
  79   3                              _nop_();
  80   3                              _nop_();
  81   3                              _nop_();
  82   3                              iSensorConfirm++;
  83   3                              _nop_();
  84   3                              _nop_();
  85   3                              _nop_();
  86   3                              _nop_();
  87   3      
  88   3                      }
  89   2              }
  90   1              if (iSensorConfirm >= ConfirmTime)
  91   1              {CurStaHozSensor1 =0;}
  92   1              else 
  93   1              {CurStaHozSensor1 =1;}
  94   1              iLoop = 0;
  95   1              iSensorConfirm = 0;
  96   1      
  97   1      
  98   1              //for HozSensor2
  99   1              while(iLoop <= LoopTime)
 100   1              {
 101   2                      iLoop++;
 102   2                      if (HozSensor2 == 0)
 103   2                      {
 104   3                              _nop_();                        
 105   3                              _nop_();
 106   3                              _nop_();
 107   3                              _nop_();
 108   3                              iSensorConfirm++;
 109   3                              _nop_();
 110   3                              _nop_();
 111   3                              _nop_();
 112   3                              _nop_();
 113   3      
 114   3                      }
 115   2              }
 116   1              if (iSensorConfirm >= ConfirmTime)
C51 COMPILER V7.09   SENSOR2                                                               06/13/2004 23:46:17 PAGE 3   

 117   1              {CurStaHozSensor2 =0;}
 118   1              else 
 119   1              {CurStaHozSensor2 =1;}
 120   1              iLoop = 0;
 121   1              iSensorConfirm = 0;
 122   1      
 123   1      
 124   1      
 125   1      } 
 126          //~~~~~~~~~~~Update Sensor Stutus~~~~~~~~~~
 127          // have proble
 128          void UpdateStatus(void) 
 129          {
 130   1         if (LinePreStatus != LineCurStatus)
 131   1         {
 132   2                      PreStaMidSensor1 = CurStaMidSensor1;
 133   2                      _nop_();
 134   2                      PreStaMidSensor2 = CurStaMidSensor2;
 135   2                      _nop_();
 136   2                      PreStaHozSensor1 = CurStaHozSensor1;
 137   2                      _nop_();
 138   2                      PreStaHozSensor2 = CurStaHozSensor2;
 139   2                      _nop_();
 140   2                      iStopStatus = 0;  //clear the stop Flag
 141   2              }
 142   1              if ((PreStaHozSensor1 == CurStaHozSensor1) &&
 143   1                      (PreStaHozSensor2 == CurStaHozSensor2)  )       
 144   1              {
 145   2                      iStopStatus++;
 146   2              }
 147   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    228    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
   EDATA SIZE       =   ----    ----
   HDATA SIZE       =   ----    ----
   XDATA CONST SIZE =   ----    ----
   FAR CONST SIZE   =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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