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

📄 adsample.lst

📁 该程序完成了c8051外围电路的驱动和串口协议的编写。希望能给大家学习51单片机带来帮助
💻 LST
📖 第 1 页 / 共 5 页
字号:
 223                  unsigned char xdata i,j;
 224          
 225                  switch(AD.uchChType[uchChannel - 1])
 226                  {
 227                          case 13:
 228                          case 16:
 229                          case 18:
 230                                  for (i=0; i<2; i++)     
 231                                  {
 232                                          for (j=0;j<15;j++)
 233                                          {                                                                         
 234          //                                      AD.uiDataAverageBAK[i][j] = 0x812;       //改电路之前的数据     4cb
 235                                          }
 236                                  }
 237                                  break;
 238                          case 14:
 239                          case 17:
 240                                  for (i=0; i<2; i++)     
C51 COMPILER V7.10   ADSAMPLE                                                              09/18/2008 14:09:32 PAGE 5   

 241                                  {
 242                                          for (j=0;j<15;j++)
 243                                          {
 244          //                                      AD.uiDataAverageBAK[i][j] = 0x7c0;
 245                                          }
 246                                  }
 247                                  break;
 248                  }       
 249          }                       */
 250          
 251          //--------------------------------------------------------
 252          //函数名称:void ADModuleSampleRateInitialize(void)
 253          //功    能:初始化采样频率和采样通道
 254          //输入参数:通道号
 255          //返    回:无
 256          //作    者:佟文杰
 257          //----------------------------------------------------------
 258          void ADModuleSampleRateInitialize(void)
 259          {                                               
 260   1              switch(AD.uchChType[0])
 261   1              {
 262   2                      case 13:           //加速度输入    输出加速度   a-a               
 263   2                      case 16:           //速度输入      输出速度             v-v
 264   2                              switch(AD.uchSampleRate[0])
 265   2                              {
 266   3                                      case 3:                  //4K
 267   3                                              SetSampleRate(SYSCLK/12/16044);          
 268   3                                              break;
 269   3                                      case 1:                  //0.5K
 270   3                                              SetSampleRate(SYSCLK/12/2022);            
 271   3                                              break;
 272   3                                      default:
 273   3                                              SetSampleRate(SYSCLK/12/16044);          
 274   3                                              break;
 275   3                              }
 276   2                              AD.uiGroupNum = 16;
 277   2                              AD.uiGroupLength = 256;                 
 278   2                              break; 
 279   2      
 280   2                      case 14:           //加速度输入    输出速度             a-v
 281   2                      case 15:           //加速度输入    输出位移
 282   2                      case 17:           //速度输入      输出位移             v-d
 283   2                              SetSampleRate(SYSCLK/12/16044); 
 284   2                              AD.uiGroupNum = 16;
 285   2                              AD.uiGroupLength = 256;          
 286   2                              break;
 287   2      
 288   2                      case 18:           //位移输入      输出位移             d-d
 289   2                              SetSampleRate(SYSCLK/12/2005);  
 290   2                              AD.uiGroupNum = 16;
 291   2                              AD.uiGroupLength = 256; 
 292   2                              break;
 293   2      
 294   2                      case 22:     //LVDT输入         输出机壳膨胀
 295   2                      case 28:     //HHH
 296   2                              SetSampleRate(SYSCLK/12/8192);            
 297   2                              AD.uiGroupNum = 8;
 298   2                              AD.uiGroupLength = 256;
 299   2                              break;
 300   2      
 301   2                      default:
 302   2                              SetSampleRate(SYSCLK/12/16044);          
C51 COMPILER V7.10   ADSAMPLE                                                              09/18/2008 14:09:32 PAGE 6   

 303   2                              break;
 304   2              }
 305   1              SampleStartControl();
 306   1              SetInitChannel();               
 307   1      }
 308          
 309          //--------------------------------------------------------
 310          //函数名称:void SetSampleRateAD(unsigned char uchChannel, unsigned char uchSampleRate)
 311          //功    能:将采样频率设置到AD模块
 312          //输入参数:通道号,采样频率
 313          //返    回:无
 314          //作    者:佟文杰
 315          //----------------------------------------------------------
 316          void SetSampleRateAD(unsigned char uchChannel, unsigned char uchSampleRate)
 317          {
 318   1              AD.uchSampleRate[uchChannel - 1] = uchSampleRate;
 319   1      }
 320          
 321          //--------------------------------------------------------
 322          //函数名称:void SetChannleType(unsigned char uchChannel,unsigned char uchChannelType)
 323          //功    能:设置采样通道类型
 324          //输入参数:采样通道,采样通道类型
 325          //返    回:无
 326          //作    者:佟文杰
 327          //----------------------------------------------------------
 328          void SetChannleType(unsigned char uchChannel,unsigned char uchChannelType)
 329          {
 330   1              if (((uchChannelType > 12) && (uchChannelType < 19)) || ((uchChannelType > 20) && (uchChannelType <23)) |
             -| (uchChannelType==28))
 331   1              {
 332   2                      AD.uchChType[uchChannel - 1] = uchChannelType;
 333   2              }
 334   1              else
 335   1              {
 336   2                      AD.uchChType[uchChannel - 1] = 13;      //设定类型,不在范围之内默认加速度输入,加速度输出
 337   2              }                                 
 338   1      }
 339                                                                                                           
 340          //--------------------------------------------------------
 341          //函数名称:void SetSensorDirection(unsigned char uchChannel, unsigned char uchSensorDirection)
 342          //功    能:设置传感器方向
 343          //输入参数:通道号,传感器方向
 344          //返    回:无
 345          //作    者:佟文杰
 346          //----------------------------------------------------------
 347          void SetSensorDirection(unsigned char uchChannel, unsigned char uchSensorDirection)
 348          {
 349   1              AD.uchSenDirection[uchChannel - 1] = uchSensorDirection;        
 350   1      }
 351          
 352          //--------------------------------------------------------
 353          //函数名称:void SetMeasureType(unsigned char uchChannel, unsigned char uchtMeasureType)
 354          //功    能:设置测量类型
 355          //输入参数:通道号,测量类型
 356          //返    回:无
 357          //作    者:佟文杰
 358          //----------------------------------------------------------
 359          void SetMeasureType(unsigned char uchChannel, unsigned char uchtMeasureType)
 360          {                                                                                                                                               
 361   1              AD.uchtMeasureType[uchChannel - 1] = uchtMeasureType;   
 362   1      }
 363          
C51 COMPILER V7.10   ADSAMPLE                                                              09/18/2008 14:09:32 PAGE 7   

 364          //--------------------------------------------------------
 365          //函数名称:void SetCPUPosizationStatusAD(unsigned char uchCPUPosizationFlag)
 366          //功    能:设置上下CPU位置的标志
 367          //输入参数:CPU位置标志
 368          //返    回:无
 369          //作    者:佟文杰
 370          //----------------------------------------------------------
 371          void SetCPUPosizationStatusAD(unsigned char uchCPUPosizationFlag)
 372          {
 373   1              AD.uchCPUPosizationStatus = uchCPUPosizationFlag;
 374   1      }
 375          
 376          //--------------------------------------------------------
 377          //函数名称:void SetSensorSensitive(unsigned char uchChannel, unsigned int uiSensorSensitive)
 378          //功    能:设置传感器灵敏度
 379          //输入参数:通道号,传感器灵敏度
 380          //返    回:无
 381          //作    者:佟文杰
 382          //----------------------------------------------------------
 383          void SetSensorSensitive(unsigned char uchChannel, unsigned int uiSensorSensitive)
 384          {
 385   1              AD.uiSenSensitive[uchChannel - 1] = uiSensorSensitive;  
 386   1      }
 387          
 388          //--------------------------------------------------------
 389          //函数名称:void SetZeroPosition(unsigned char uchChannel, int iZeroPosition)
 390          //功    能:设置零点位置
 391          //输入参数:通道号,零点位置电压值
 392          //返    回:无
 393          //作    者:佟文杰
 394          //---------------------------------------------------------- 
 395          void SetZeroPosition(unsigned char uchChannel, int iZeroPosition)
 396          {
 397   1              AD.iZeroPosition[uchChannel - 1] = iZeroPosition;  
 398   1      }
 399          
 400          //--------------------------------------------------------
 401          //函数名称:void SetScaleLow(unsigned char uchChannel,int iScaleLow)
 402          //功    能:设置量程范围下限
 403          //输入参数:通道号,量程下限
 404          //返    回:无
 405          //作    者:佟文杰
 406          //---------------------------------------------------------- 
 407          void SetScaleLow(unsigned char uchChannel,int iScaleLow)
 408          { 
 409   1              AD.iScaleLow[uchChannel - 1] = iScaleLow;  
 410   1      }
 411          
 412          //--------------------------------------------------------
 413          //函数名称:void SetScaleHigh(unsigned char uchChannel,int iScaleHigh)
 414          //功    能:设置量程范围上限
 415          //输入参数:通道号,量程上限
 416          //返    回:无
 417          //作    者:佟文杰
 418          //---------------------------------------------------------- 
 419          void SetScaleHigh(unsigned char uchChannel,int iScaleHigh)
 420          {        
 421   1              AD.iScaleHigh[uchChannel - 1] = iScaleHigh; 
 422   1      }
 423          
 424          //--------------------------------------------------------
 425          //函数名称:void SetACADZero(unsigned char uchChannel,unsigned int uiACADZero)
C51 COMPILER V7.10   ADSAMPLE                                                              09/18/2008 14:09:32 PAGE 8   

 426          //功    能:设置交流通道零点数据
 427          //输入参数:通道号,交流通道零点数据
 428          //返    回:无
 429          //作    者:佟文杰
 430          //----------------------------------------------------------  
 431          void SetACADZero(unsigned char uchChannel,unsigned int uiACADZero)
 432          {                               
 433   1              AD.uiACADZero[uchChannel - 1] = uiACADZero; 
 434   1      }
 435          
 436          //--------------------------------------------------------
 437          //函数名称:void SetACADFull(unsigned char uchChannel,unsigned int uiACADFull)
 438          //功    能:设置交流通道满度
 439          //输入参数:通道号,交流通道满度数据
 440          //返    回:无
 441          //作    者:佟文杰
 442          //---------------------------------------------------------- 
 443          void SetACADFull(unsigned char uchChannel,unsigned int uiACADFull)
 444          {                         
 445   1          AD.uiACADSpan[uchChannel - 1] = uiACADFull;
 446   1      }
 447          
 448          //--------------------------------------------------------
 449          //函数名称:void SetDCADZero(unsigned char uchChannel,unsigned int uiDCADZero)
 450          //功    能:设置直流通道零点数据
 451          //输入参数:通道号,直流通道零点数据

⌨️ 快捷键说明

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