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

📄 taskrecurrent.lst

📁 Keil单片机软件开发平台下的一个51系列单片机工程
💻 LST
字号:
C51 COMPILER V7.06   TASKRECURRENT                                                         01/22/2007 09:50:00 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE TASKRECURRENT
OBJECT MODULE PLACED IN .\output\TaskRecurrent.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TaskRecurrent.c OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND OBJECT(.\output
                    -\TaskRecurrent.obj)

stmt level    source

   1          /*--------------文件信息--------------------------------------------------------------------------------
   2          **文   件   名: 
   3          **创   建   人: 
   4              **最后修改日期: 
   5              **描        述: 
   6          **
   7          **--------------历史版本信息----------------------------------------------------------------------------
   8          ** 修改人: 
   9          ** 版  本: 
  10          ** 日 期: 
  11          ** 描 述: 
  12          **
  13          **--------------当前版本修订------------------------------------------------------------------------------
  14          ** 修改人: 
  15          ** 日 期:
  16          ** 描 述:
  17          **
  18          **------------------------------------------------------------------------------------------------------
  19          ********************************************************************************************************/
  20          #define DATA
  21          #include"includes.h"
  22          /*********************************************************************************************************
  23          ** 函数名称: 
  24          ** 功能描述: 
  25          ** 输 入:   
  26          ** 输 出:   
  27          ** 全局变量: 
  28          ** 调用模块: 
  29          ** 注  意:
  30          ** 作 者: 
  31          ** 日 期: 
  32          **-------------------------------------------------------------------------------------------------------
  33          ** 修改人:
  34          ** 日 期:
  35          **-------------------------------------------------------------------------------------------------------
  36          *********************************************************************************************************/
  37          unsigned char bdata PortAimg;
  38          unsigned int ADCount;
  39          
  40          sbit VCCE1 = PortAimg^0;
  41          sbit VCCE3 = PortAimg^1;
  42          sbit VCCE2 = PortAimg^2;
  43          sbit EN422 = PortAimg^3;
  44          sbit REL1E = PortAimg^4;
  45          sbit REL2E = PortAimg^5;
  46          sbit REL3E = PortAimg^6;
  47          sbit REL4E = PortAimg^7;
  48          
  49          sbit BEGIN_AD = P2^7;
  50          sbit WATCHDOG = P2^6;
  51          void TaskAD (void) _task_ 0
  52          {                  
  53   1          unsigned char i;
  54   1          AUXR = 0x00;
C51 COMPILER V7.06   TASKRECURRENT                                                         01/22/2007 09:50:00 PAGE 2   

  55   1          MeasureI   = 0;
  56   1          MeasureU   = 0;
  57   1          MeasureT   = 0;
  58   1          ErrorState = WITHOUT_ERROR;
  59   1          State = EepromReadByte(E2State);
  60   1          if(State>3)
  61   1          {
  62   2              State = STOP;
  63   2              AmountQ10S = 0;
  64   2              EepromWriteWord(E2AmountQ10S   ,(unsigned int)(AmountQ10S>>16) );
  65   2              EepromWriteWord(E2AmountQ10S +2,(unsigned int)AmountQ10S );
  66   2              LastTimeS = 0;
  67   2              EepromWriteWord(E2LastTimeS   ,(unsigned int)(LastTimeS>>16) );
  68   2              EepromWriteWord(E2LastTimeS +2,(unsigned int)LastTimeS );
  69   2          }
  70   1          Address         = EepromReadByte(E2Address);
  71   1          Step            = EepromReadByte(E2Step);
  72   1          ProgramNo       = EepromReadByte(E2ProgramNo);
  73   1          RemainLoopTimes = EepromReadByte(E2RemainLoopTimes);
  74   1          AmountQ10S      = EepromReadWord(E2AmountQ10S);
  75   1          AmountQ10S      = AmountQ10S<<16;
  76   1          AmountQ10S      = AmountQ10S | EepromReadWord(E2AmountQ10S + 2);
  77   1          LastTimeS       = EepromReadWord(E2LastTimeS);
  78   1          LastTimeS       = LastTimeS<<16;
  79   1          LastTimeS       = LastTimeS | EepromReadWord(E2LastTimeS +2);
  80   1          SetupCurrentDirection = EepromReadWord(E2SetupCurrentDirection);
  81   1      
  82   1          Ub              = EepromReadWordA(E2Ub);
  83   1          Ib              = EepromReadWordA(E2Ib);
  84   1          Tb              = EepromReadWordA(E2Tb);
  85   1          Uk              = EepromReadWordA(E2Uk);
  86   1          Ik              = EepromReadWordA(E2Ik);
  87   1          Tk              = EepromReadWordA(E2Tk);
  88   1          DAk             = EepromReadWordA(E2DAk);
  89   1          DAb             = EepromReadWordA(E2DAb);
  90   1          SetupDA(0);
  91   1          os_create_task (1);
  92   1          os_create_task (2);
  93   1          os_create_task (3);
  94   1          os_create_task (4);
  95   1          os_create_task (5);
  96   1          for(i = 0;i<10;i++)
  97   1          {
  98   2              Ibuf5Second[i].Record   = 4095;
  99   2              Ibuf5Second[i].Sequence = i+1;
 100   2              Ubuf5Second[i].Record   = 4095;
 101   2              Ubuf5Second[i].Sequence = i+1;
 102   2              Tbuf5Second[i].Record   = 4095;
 103   2              Tbuf5Second[i].Sequence = i+1;
 104   2          }
 105   1          while (1)
 106   1          {
 107   2              WATCHDOG = !WATCHDOG;
 108   2              BEGIN_AD = 0;
 109   2              VCCE1 = 0;VCCE2 =  0;VCCE3 =  0;WriteOutXRAM(CPLD_PORT_A,PortAimg);
 110   2              os_wait (K_TMO, 50/OS_MSEL_PER_TICKS, 0);
 111   2              VCCE1 = 0;VCCE2 =  0;VCCE3 =  1;WriteOutXRAM(CPLD_PORT_A,PortAimg);
 112   2              os_wait (K_TMO, 50/OS_MSEL_PER_TICKS, 0);
 113   2              BEGIN_AD = 1;
 114   2              os_wait (K_TMO, 50/OS_MSEL_PER_TICKS, 0);
 115   2              ADCount = ReadOutXRAM(CPLD_ADCOUNT_HIGH);
 116   2              ADCount = ADCount<<8;
C51 COMPILER V7.06   TASKRECURRENT                                                         01/22/2007 09:50:00 PAGE 3   

 117   2              ADCount = ADCount|ReadOutXRAM(CPLD_ADCOUNT_LOW);
 118   2              IRealCount = ADCount;
 119   2              IAverage5SecondCount = MidstStruct(Ibuf5Second, 10,IRealCount);
 120   2              if(Debug)
 121   2              {
 122   3                  MeasureI = ClaculateSub(IRealCount,Ib,Ik);
 123   3              }
 124   2              else
 125   2              {
 126   3                  MeasureI = ClaculateSub(IAverage5SecondCount ,Ib,Ik);
 127   3              }
 128   2      
 129   2              BEGIN_AD = 0;
 130   2              VCCE1 = 0;VCCE2 =  0;VCCE3 =  0; WriteOutXRAM(CPLD_PORT_A,PortAimg);
 131   2              os_wait (K_TMO, 50/OS_MSEL_PER_TICKS, 0);
 132   2              VCCE1 = 0;VCCE2 =  1;VCCE3 =  0; WriteOutXRAM(CPLD_PORT_A,PortAimg);
 133   2              os_wait (K_TMO, 50/OS_MSEL_PER_TICKS, 0);
 134   2              BEGIN_AD = 1;
 135   2              os_wait (K_TMO, 50/OS_MSEL_PER_TICKS, 0);
 136   2              ADCount = ReadOutXRAM(CPLD_ADCOUNT_HIGH);
 137   2              ADCount = ADCount<<8;
 138   2              ADCount = ADCount|ReadOutXRAM(CPLD_ADCOUNT_LOW);
 139   2              URealCount  = ADCount;
 140   2              UAverage5SecondCount  = MidstStruct(Ubuf5Second,10,URealCount);
 141   2              MeasureU = ClaculateSub(UAverage5SecondCount ,Ub,Uk);
 142   2              MeasureRealU = ClaculateSub(URealCount,Ub,Uk);
 143   2              BEGIN_AD = 0;
 144   2              VCCE1 = 0;VCCE2 =  0;VCCE3 =  0; WriteOutXRAM(CPLD_PORT_A,PortAimg);
 145   2              os_wait (K_TMO, 50/OS_MSEL_PER_TICKS, 0);
 146   2              VCCE1 = 1;VCCE2 =  0;VCCE3 =  0; WriteOutXRAM(CPLD_PORT_A,PortAimg);
 147   2              os_wait (K_TMO, 50/OS_MSEL_PER_TICKS, 0);
 148   2              BEGIN_AD = 1;
 149   2              os_wait (K_TMO, 50/OS_MSEL_PER_TICKS, 0);
 150   2              ADCount = ReadOutXRAM(CPLD_ADCOUNT_HIGH);
 151   2              ADCount = ADCount<<8;
 152   2              ADCount = ADCount|ReadOutXRAM(CPLD_ADCOUNT_LOW);
 153   2              TRealCount  = ADCount;
 154   2              TAverage5SecondCount  = MidstStruct(Tbuf5Second,10,TRealCount);
 155   2              if(Debug)
 156   2              {
 157   3                  MeasureTU = ClaculateSub(TRealCount,Tb,Tk);
 158   3              }
 159   2              else
 160   2              {
 161   3                  MeasureTU = ClaculateSub(TAverage5SecondCount,Tb,Tk);
 162   3              }
 163   2              //计算温度传感器电压信号所对应的温度
 164   2              if(MeasureTU<1000)
 165   2              {
 166   3                  MeasureT = 0;
 167   3              }
 168   2              else if(MeasureTU>1000 && MeasureTU<5000)
 169   2              {
 170   3                  MeasureT = (MeasureTU-1000)/4;
 171   3              }
 172   2              else
 173   2              {
 174   3                  MeasureT = 999;
 175   3              }
 176   2          }//while(1)
 177   1      }
 178          
C51 COMPILER V7.06   TASKRECURRENT                                                         01/22/2007 09:50:00 PAGE 4   



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1231    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =    206    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     12    ----
   IDATA SIZE       =     43    ----
   BIT SIZE         =      4    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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