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

📄 adsample.lst

📁 该程序完成了c8051外围电路的驱动和串口协议的编写。希望能给大家学习51单片机带来帮助
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.10   ADSAMPLE                                                              09/18/2008 14:09:32 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE ADSAMPLE
OBJECT MODULE PLACED IN ADSample.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 20progress\ADSample.c BROWSE DEBUG OBJECTEXTEND PRINT(.\ADSample.lst) OBJEC
                    -T(ADSample.obj)

line level    source

   1          //*******************************************************************************
   2          //Copyright (c) 2007,美国派利斯电子(北京)有限公司 硬件部
   3          //文件名称: Hardware.c
   4          //摘    要: 本文件主要包含PT2060程序中采样数据处理部分
   5          //当前版本: D-1 
   6          //作    者:  佟文杰
   7          //完成日期: 4/13/2007
   8          //修 改 人:
   9          //修改原因:
  10          //修改日期:
  11          //*******************************************************************************
  12          #include "adsample.h"
  13          #include <C8051F020.H>
  14          #include <math.h>
  15          
  16          #define MAXLENGTH               0x7FF            
  17          #define MAXGROUP        16
  18          #define SYSCLK           22118400
  19          
  20          unsigned int idata uiSampleteCompleteLocation;
  21          unsigned char idata uchSampleLocationNumber;
  22          unsigned char idata uchRMSCompleteStatus;
  23          
  24          xdata struct PT2060AD  AD _at_ 0x0100;  //定义到0x800再开始                     
  25          
  26          unsigned int *pSampBuffer0;      
  27          unsigned int *pSampBuffer1;                              
  28          unsigned int *pSampBuffer2;                              
  29          unsigned int *pSampBuffer3;      
  30          
  31          unsigned int idata uchChannelScaleStatus[2];
  32          
  33          
  34          
  35          
  36          //unsigned int idata temp;
  37          
  38          //unsigned char idata l;
  39          
  40          unsigned char idata uchRMSDataStorageNumber1;
  41          unsigned char idata uchRMSDataStorageNumber2;
  42          
  43          
  44          
  45          
  46          
  47          
  48          unsigned char xdata uchValue1;
  49          unsigned char xdata uchValue2;
  50          
  51          
  52          unsigned int xdata uiRmsCounter[2][4];
  53          
  54          
C51 COMPILER V7.10   ADSAMPLE                                                              09/18/2008 14:09:32 PAGE 2   

  55          
  56          unsigned char idata uchPercentCountNumber;                      //20080910
  57          
  58          float xdata fPercentValueBAK[2][4];                       //20080910
  59          
  60          
  61          
  62          
  63          
  64          
  65          //-----------------------------------------------------------------------
  66          //函数名称:void CaculateDataScale(void)
  67          //功    能:提前初始化计算过程中需要的变量
  68          //输入参数:无
  69          //返    回:无
  70          //完成日期:4/16/2007
  71          //-----------------------------------------------------------------------
  72          void CaculateDataScale(void)
  73          {
  74   1              unsigned char xdata i;
  75   1      
  76   1              for (i=0; i<2; i++)
  77   1              {               
  78   2                      AD.fRealIntegralScaleData[i] = CaculateIntegralScale(i + 1);            
  79   2                      AD.fRealNotIntegralScaleData[i] = CaculateNotIntegralScale(i + 1);      
  80   2                      AD.fRealNotIntegralLittleScaleData[i] = CaculateNotIntegralLittleRangeScale(i + 1);     
  81   2                      AD.fRealLVDTScaleData[i] = CaculateLVDTScale(i + 1);//HHH
  82   2                      AD.lLvdtMark[i] = CalculateLVDTZeroPosition(i+1);               //HHHHHHHHHH    
  83   2      
  84   2                      JudgeChannelScale(i+1);
  85   2              }
  86   1      }               
  87          
  88          //-----------------------------------------------------------------------
  89          //函数名称:void InitADSampleModule(void)
  90          //功    能:AD采样模块参数初始化
  91          //输入参数:无
  92          //返    回:无
  93          //完成日期:4/16/2007
  94          //-----------------------------------------------------------------------
  95          void InitADSampleModule(void)
  96          {
  97   1              unsigned char xdata i;
  98   1              ADModuleSoftInitialize();
  99   1      
 100   1              for (i=0; i<2; i++)
 101   1              {
 102   2                      CaculateIntegrateRMSZero(i+1);  
 103   2                      CaculateNotIntegrateLargeRangeRMSZero(i+1);
 104   2                      CaculateNotIntegrateLittleRangeRMSZero(i+1);
 105   2              }
 106   1                                                                                                              //20080730
 107   1      
 108   1      //      {
 109   1              ADModuleSampleRateInitialize();
 110   1      //      }       
 111   1      }
 112          
 113          //-----------------------------------------------------------------------
 114          //函数名称:void ADModuleSoftInitialize(void)
 115          //功    能:AD采样模块软件参数初始化
 116          //输入参数:无
C51 COMPILER V7.10   ADSAMPLE                                                              09/18/2008 14:09:32 PAGE 3   

 117          //返    回:无
 118          //完成日期:4/16/2007
 119          //-----------------------------------------------------------------------
 120          void ADModuleSoftInitialize(void)
 121          {
 122   1              unsigned int i;
 123   1              unsigned char j;
 124   1      
 125   1              AD.uchGroupDone = 0;    
 126   1              AD.uiCurProcessingIndex = 0x0f;  //20080703
 127   1              AD.uiPassedGroupIndex = 0;
 128   1              AD.uiSampleLocation = 0; 
 129   1              AD.uchCurMinCount = 0;  
 130   1                      
 131   1              for (i=0; i<2; i++)                                                                                      
 132   1              {
 133   2                      AD.uiDataAverage[i] = 0;
 134   2                      AD.fDataRMSAverage[i] = 0;
 135   2              }
 136   1              
 137   1              AD.uiGapSumPTR1 = 0;
 138   1              AD.uiGapSumPTR2 = 0;               //加初始化
 139   1      
 140   1              for(i=0;i<32;i++)
 141   1              {                                       
 142   2                      AD.uiGapSumValue1[i] = 0xcc0;       
 143   2                      AD.uiGapSumValue2[i] = 0xcc0 ;      
 144   2              }                                                                                  
 145   1      
 146   1              AD.uchCurMaxCount = 0;
 147   1              AD.uiGapSumPTR1 = 0;
 148   1                       
 149   1              for(i=0;i<4;i++)
 150   1              {                                       
 151   2                      AD.uiCurPKPKValue[i] = 0;
 152   2                      AD.uiLastPKPKValue[i] = 0;
 153   2              }                
 154   1                                                                            
 155   1          for(i=0;i<30;i++)
 156   1              {
 157   2                      AD.uiMaxValue0[i] = 1;
 158   2                      AD.uiMinValue0[i] = 4095;
 159   2                      AD.uiMaxGroup0[i] = 14;
 160   2                      AD.uiMinGroup0[i] = 14;
 161   2      
 162   2                      AD.uiMaxValue1[i] = 1;
 163   2                      AD.uiMinValue1[i] = 4095;
 164   2                      AD.uiMaxGroup1[i] = 14;
 165   2                      AD.uiMinGroup1[i] = 14;
 166   2      
 167   2                      AD.uiMaxValue2[i] = 1;
 168   2                      AD.uiMinValue2[i] = 4095;
 169   2                      AD.uiMaxGroup2[i] = 14;
 170   2                      AD.uiMinGroup2[i] = 14;
 171   2      
 172   2                      AD.uiMaxValue3[i] = 1;
 173   2                      AD.uiMinValue3[i] = 4095;
 174   2                      AD.uiMaxGroup3[i] = 14;
 175   2                      AD.uiMinGroup3[i] = 14; 
 176   2              }
 177   1      //      AD.uchCountNumber1 = 0;
 178   1      //      AD.uchCountNumber2 = 0;
C51 COMPILER V7.10   ADSAMPLE                                                              09/18/2008 14:09:32 PAGE 4   

 179   1      //      AD.uchCountNumber = 0;
 180   1              uchRMSCompleteStatus = 0;
 181   1              uiSampleteCompleteLocation = 0;
 182   1              uchSampleLocationNumber = 0;
 183   1      
 184   1              uchChannelScaleStatus[0] = 0;
 185   1              uchChannelScaleStatus[1] = 0;
 186   1              for (i=0; i<8; i++)
 187   1              {
 188   2                      AD.fDataRMSADAverage[0][i]      = 0;
 189   2                      AD.fDataRMSADAverage[1][i]      = 0;    //20080708
 190   2              }
 191   1              uchRMSDataStorageNumber1 = 0;    //20080708
 192   1              uchRMSDataStorageNumber2 = 0;    //20080708
 193   1              
 194   1      
 195   1      
 196   1      
 197   1              uchValue1 = 0;   //20080708
 198   1              uchValue2 = 0;   //20080708
 199   1      
 200   1      
 201   1              uchPercentCountNumber = 0;                         //20080910
 202   1      
 203   1              for (i=0; i<2; i++)
 204   1              {
 205   2                      for (j=0; j<4; j++)
 206   2                      {
 207   3                              fPercentValueBAK[i][j] = 0;             //20080910
 208   3                      }
 209   2      
 210   2      
 211   2              }
 212   1      }
 213          
 214          //--------------------------------------------------------
 215          //函数名称:void SetDefaultCentricity(unsigned char uchChannel)
 216          //功    能:初始化采样中心线
 217          //输入参数:通道号
 218          //返    回:无
 219          //作    者:佟文杰
 220          //----------------------------------------------------------
 221          /*void SetDefaultCentricity(unsigned char uchChannel)
 222          {

⌨️ 快捷键说明

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